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

Disassembly:
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x40ccbf
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x40cf31
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x40cd19
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x40cf25
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x40cd89
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40ce3b
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x40ce3b
push ebx
push ecx
add esp, 4
and ebx, 0x130a9
add ebx, 0x15aa1
add ebx, 0x671c
pop ebx
push eax
or eax, 0x155ff
xor eax, 0x84ab
and eax, 0x1274f
and eax, 0x174bd
pop eax
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x40ce2d
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x40ce34
jmp 0x40cd7a
jmp 0x40ce3b
push esi
and esi, 0x123ee
xor esi, 0xb76
xor esi, 0x13ae0
jmp 0x40ce56
pop esi
push esi
sub esi, 0x1835f
xor esi, 0xb861
pop esi
push ebx
xor ebx, 0xd819
pop ebx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x40ce9a
mov dword [ebp - 0xc5c], 0
jmp 0x40cf09
push eax
add eax, 0x4752
sub eax, 0x126a
or eax, 0x1305f
pop eax
push eax
push edx
add esp, 4
and eax, 0x5b82
xor eax, 0x36ff
jmp 0x40cec5
add eax, 0x2508
pop eax
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x40ceff
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x40cf09
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x40cf20
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x40cf31
jmp 0x40cd0a
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x40d00c
push edi
push eax
add esp, 4
jmp 0x40cf4b
pop edi
push edi
push ecx
add esp, 4
add edi, 0x13f72
pop edi
push edi
push esi
add esp, 4
sub edi, 0x16a2f
add edi, 0x7268
or edi, 0x2314
pop edi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edi
push ebx
add esp, 4
or edi, 0x8542
pop edi
push eax
and eax, 0x8af2
add eax, 0x15552
and eax, 0x16da
pop eax
push esi
call 0x40cfaa
add byte [ecx + eax*2 + 0x49], al
dec eax
inc eax
dec ecx
push eax
add esp, 4
pop esi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x40d00c
push eax
call 0x40cfdc
add byte [eax + 0x43], cl
inc esp
dec eax
inc edx
cmp edi, dword [eax]
dec esp
cmp al, 0x83
les eax, [eax + ebx*2]
push ebx
xor ebx, 0x33ba
pop ebx
push edx
push edi
add esp, 4
sub edx, 0x10795
jmp 0x40cffc
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x40d6f7
push ebx
push ecx
add esp, 4
call 0x40d020
add byte [eax], bh
xor eax, 0x453f4a4a
cmp al, 0x3a
cmp eax, 0x8104c483
retf
push esi
jmp 0x40d6fe
add esi, 0x1696b
pop esi
push eax
push ecx
add esp, 4
xor eax, 0x10e02
xor eax, 0x36e8
pop eax
push edx
push edx
add esp, 4
or edx, 0x1100a
sub edx, 0xba2
pop edx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x40d79c
push ebx
push edi
add esp, 4
jmp 0x40d764
pop ebx
push edi
push edx
add esp, 4
and edi, 0xe5fe
pop edi
push esi
or esi, 0x9ff3
call 0x40d784
add byte [eax + eax*2], dh
dec edx
dec ebp
xor ecx, dword [edx - 0x7d]
les eax, [esi + ebx*2]
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x40d7b9
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x40d815
push ebx
push edi
add esp, 4
add ebx, 0x7902
pop ebx
push esi
push edi
add esp, 4
add esi, 0x1550b
and esi, 0x26f9
sub esi, 0x14285
pop esi
push edi
xor edi, 0x9509
sub edi, 0x152d0
pop edi
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x40d7aa
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x40d88d
push edi
or edi, 0x73
pop edi
push edi
call 0x40d85d
add byte [ebx + 0x4d], cl
inc ebx
push eax
xor dh, byte [edx]
dec edx
add esp, 4
sub edi, 0x93da
pop edi
push ecx
push ecx
add esp, 4
or ecx, 0xd571
or ecx, 0x1643
pop ecx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push ecx
jmp 0x40d896
pop ecx
push edi
push ebx
add esp, 4
and edi, 0xeb17
sub edi, 0x2a8c
pop edi
push edx
jmp 0x40d8b2
pop edx
push edi
push eax
add esp, 4
sub edi, 0x72fc
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff08ff
pop ecx
pop edi
mov edi, ecx
dec esp
lds ecx, [eax]
or byte [ecx + 0x969a0ff], cl
or byte [ecx + 0x8841bd7], cl
or al, dh
adc ecx, dword [eax]
or byte [eax], cl
or byte [edx + 0x49], al
dec esp
push edi
inc ecx
push edi
cmp bh, byte [ebx]
dec esi
push edx
mov ecx, esp
or al, 0x67
pop edi
cmovbe eax, dword [ebp + 0x41]
aas
inc edi
cmp al, 0x57
ret 0x873