Function at 0x40d385
Capabilities:
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x40d0b0
mov dword [ebp - 0x2a8], 0
jmp 0x40d357
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edx
push ebx
add esp, 4
xor edx, 0x11ec1
pop edx
push esi
push edi
add esp, 4
sub esi, 0x18195
pop esi
push edx
or edx, 0x1bf
add edx, 0xcc92
xor edx, 0xcedf
or edx, 0x813f
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x40d10c
mov dword [ebp - 0x2a8], 0
jmp 0x40d357
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push esi
push edx
add esp, 4
jmp 0x40d125
pop esi
push edx
jmp 0x40d12f
pop edx
push ebx
push ebx
add esp, 4
jmp 0x40d13b
jmp 0x40d143
xor ebx, 0x17c49
pop ebx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
push ebx
add esp, 4
xor edi, 0x73cb
pop edi
push edx
push eax
add esp, 4
and edx, 0x884e
sub edx, 0x170d2
call 0x40d19d
add byte [ecx + 0x33], al
cmp dword [ecx], edi
xor eax, 0x4c48332
jmp 0x40d1a5
pop edx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ecx
call 0x40d20e
add byte [edx + 0x4c], cl
xor al, 0x3c
cmp dword [0x474c493f], esi
add esp, 4
or ecx, 0x184c1
call 0x40d225
add byte [esi + 0x49], al
xor bh, byte [ecx]
cmp dword [eax + 0x3e], ecx
add esp, 4
add ecx, 0x1123f
pop ecx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40d24c
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40d2a6
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40d174
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40d174
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40d290
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40d29a
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40d2ef
push edx
push ecx
add esp, 4
jmp 0x40d2bc
jmp 0x40d2c2
and edx, 0xacc1
sub edx, 0x1377e
pop edx
push edi
push ecx
add esp, 4
xor edi, 0x11da0
sub edi, 0x2ced
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40d357
push esi
push esi
add esp, 4
add esi, 0x9345
pop esi
push ebx
and ebx, 0x174aa
add ebx, 0x16319
xor ebx, 0x14315
call 0x40d31d
add byte [edi], bh
dec ecx
cmp al, 0x33
xor eax, 0x41453941
add esp, 4
pop ebx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x40d34d
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x40d118
mov dword [ebp - 0x2a8], 0
push ebx
push edi
add esp, 4
call 0x40d369
add byte [esi + edi], bh
dec eax
inc eax
inc esi
dec ebp
dec esi
add esp, 4
xor ebx, 0x3743
add ebx, 0x7629
call 0x40d385
add byte [ebp + 0x48], al
dec edi
xor ecx, dword [edi + 0x3e]
inc edi
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edx
push esi
add esp, 4
add edx, 0x17e12
add edx, 0x13f64
jmp 0x40d3b0
add edx, 0x9c34
pop edx
push ecx
jmp 0x40d3be
jmp 0x40d3c3
or ecx, 0x13039
pop ecx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x40d3fa
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40d6eb
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40d422
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40d6eb
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x40d454
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x40d6eb
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x40d479
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x40d6eb
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x40d4d3
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40d6df
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40d543
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40d5f5
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x40d5f5
push edx
xor edx, 0x109d3
pop edx
push ecx
and ecx, 0x82c8
call 0x40d58c
add byte [edi + 0x50], cl
inc ebp
cmp al, byte [ecx + 0x40]
inc esi
add esp, 4
or ecx, 0x79c8
pop ecx
push eax
push eax
add esp, 4
and eax, 0xd38c
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x40d5e7
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40d5ee
jmp 0x40d534
jmp 0x40d5f5
push eax
sub eax, 0x1837d
xor eax, 0x185e
jmp 0x40d60a
xor eax, 0x2b74
pop eax
push eax
sub eax, 0x3737
pop eax
push ebx
or ebx, 0x41e5
and ebx, 0xa663
pop ebx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x40d654
mov dword [ebp - 0xc6c], 0
jmp 0x40d6c3
push edi
jmp 0x40d65c
and edi, 0xff63
call 0x40d66e
add byte [edx + 0x3c], al
xor al, byte [ebp + 0x33]
inc ebp
add esp, 4
or edi, 0xbd58
pop edi
push ecx
jmp 0x40d67f
xor ecx, 0x752f
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x40d6b9
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x40d6c3
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x40d6da
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x40d6eb
jmp 0x40d4c4
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx