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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x74
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x74], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x6a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x69], al
mov dword [ebp - 0x70], 0xed199454
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x7c], eax
sub eax, 0x917dacbc
je 0x40dc3d
jmp 0x40d68d
mov eax, dword [ebp - 0x7c]
sub eax, 0x9f12eac2
je 0x40dc07
jmp 0x40d6a0
mov eax, dword [ebp - 0x7c]
sub eax, 0xa1137afe
je 0x40df30
jmp 0x40d6b3
mov eax, dword [ebp - 0x7c]
sub eax, 0xa7a7dd76
je 0x40e11b
jmp 0x40d6c6
mov eax, dword [ebp - 0x7c]
sub eax, 0xadbd97ba
je 0x40da1b
jmp 0x40d6d9
mov eax, dword [ebp - 0x7c]
sub eax, 0xb177a69e
je 0x40ddac
jmp 0x40d6ec
mov eax, dword [ebp - 0x7c]
sub eax, 0xb44271cf
je 0x40df65
jmp 0x40d6ff
mov eax, dword [ebp - 0x7c]
sub eax, 0xb92bf29f
je 0x40df44
jmp 0x40d712
mov eax, dword [ebp - 0x7c]
sub eax, 0xbb09c6ef
je 0x40e0bb
jmp 0x40d725
mov eax, dword [ebp - 0x7c]
sub eax, 0xbeeb0df6
je 0x40df79
jmp 0x40d738
mov eax, dword [ebp - 0x7c]
sub eax, 0xc6a55e8c
je 0x40dd20
jmp 0x40d74b
mov eax, dword [ebp - 0x7c]
sub eax, 0xcf91254f
je 0x40df8e
jmp 0x40d75e
mov eax, dword [ebp - 0x7c]
sub eax, 0xd16be978
je 0x40db99
jmp 0x40d771
mov eax, dword [ebp - 0x7c]
sub eax, 0xd85860df
je 0x40e088
jmp 0x40d784
mov eax, dword [ebp - 0x7c]
sub eax, 0xe69ddbb2
je 0x40da27
jmp 0x40d797
mov eax, dword [ebp - 0x7c]
sub eax, 0xe8876a9c
je 0x40dca6
jmp 0x40d7aa
mov eax, dword [ebp - 0x7c]
sub eax, 0xe99bbac0
je 0x40df9a
jmp 0x40d7bd
mov eax, dword [ebp - 0x7c]
sub eax, 0xed199454
je 0x40d951
jmp 0x40d7d0
mov eax, dword [ebp - 0x7c]
sub eax, 0xf22c78c7
je 0x40dd39
jmp 0x40d7e3
mov eax, dword [ebp - 0x7c]
sub eax, 0xfdbed7be
je 0x40dbe3
jmp 0x40d7f6
mov eax, dword [ebp - 0x7c]
sub eax, 0xdb4a25
je 0x40deb1
jmp 0x40d809
mov eax, dword [ebp - 0x7c]
sub eax, 0x8b175cb
je 0x40e094
jmp 0x40d81c
mov eax, dword [ebp - 0x7c]
sub eax, 0xa1d1ef7
je 0x40dc58
jmp 0x40d82f
mov eax, dword [ebp - 0x7c]
sub eax, 0x19a9de94
je 0x40e10f
jmp 0x40d842
mov eax, dword [ebp - 0x7c]
sub eax, 0x206600e8
je 0x40e0f0
jmp 0x40d855
mov eax, dword [ebp - 0x7c]
sub eax, 0x2406f3a4
je 0x40db11
jmp 0x40d868
mov eax, dword [ebp - 0x7c]
sub eax, 0x2479c6cf
je 0x40de32
jmp 0x40d87b
mov eax, dword [ebp - 0x7c]
sub eax, 0x24838a73
je 0x40e00d
jmp 0x40d88e
mov eax, dword [ebp - 0x7c]
sub eax, 0x307edb26
je 0x40df24
jmp 0x40d8a1
mov eax, dword [ebp - 0x7c]
sub eax, 0x368aeb6b
je 0x40d99c
jmp 0x40d8b4
mov eax, dword [ebp - 0x7c]
sub eax, 0x38e15f68
je 0x40dbad
jmp 0x40d8c7
mov eax, dword [ebp - 0x7c]
sub eax, 0x3aba4973
je 0x40dbc4
jmp 0x40d8da
mov eax, dword [ebp - 0x7c]
sub eax, 0x3ac66f89
je 0x40e0af
jmp 0x40d8ed
mov eax, dword [ebp - 0x7c]
sub eax, 0x41393b24
je 0x40db8d
jmp 0x40d900
mov eax, dword [ebp - 0x7c]
sub eax, 0x46aacd26
je 0x40dd14
jmp 0x40d913
mov eax, dword [ebp - 0x7c]
sub eax, 0x56813c08
je 0x40e0d8
jmp 0x40d926
mov eax, dword [ebp - 0x7c]
sub eax, 0x5ac24772
je 0x40dac3
jmp 0x40d939
mov eax, dword [ebp - 0x7c]
sub eax, 0x7654df49
je 0x40de3e
jmp 0x40d94c
jmp 0x40e125
mov bl, byte [ebp - 0x6a]
mov dh, byte [ebp - 0x69]
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x3ac66f89
mov ecx, 0x368aeb6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
sub edx, 0xf84f27fb
sub edx, 1
add edx, 0xf84f27fb
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x3ac66f89
mov ecx, 0xadbd97ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov dword [ebp - 0x70], 0xe69ddbb2
jmp 0x40e125
mov esi, dword [ebp - 0x74]
mov edi, dword [ebp - 0x78]
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x5c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x58], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x54], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x50], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x64]
mov dword [ecx], edi
mov ecx, dword [ebp - 0x60]
mov dword [ecx], esi
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov edx, dword [edx]
add ecx, dword [edx + 0x3c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x20]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x70], 0x5ac24772
jmp 0x40e125
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
mov edx, eax
sub edx, 0x5d13473d
sub edx, 1
add edx, 0x5d13473d
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbb09c6ef
mov ecx, 0x2406f3a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xbb09c6ef
mov ecx, 0x41393b24
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov dword [ebp - 0x70], 0xd16be978
jmp 0x40e125
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x70], 0x38e15f68
jmp 0x40e125
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add eax, 0x18
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x70], 0x3aba4973
jmp 0x40e125
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
mov edx, dword [ebp - 0x44]
mov eax, 0xbeeb0df6
mov ecx, 0xfdbed7be
cmp edx, esi
cmovb eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x70], 0x9f12eac2
jmp 0x40e125
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add edx, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00428c20
add esp, 8
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0x70], 0x917dacbc
jmp 0x40e125
mov dl, byte [ebp - 0x31]
mov eax, 0x7654df49
mov ecx, 0xa1d1ef7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
mov edx, eax
sub edx, 0x38e79643
sub edx, 1
add edx, 0x38e79643
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x56813c08
mov ecx, 0xe8876a9c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
mov edx, eax
sub edx, 0x68a3712c
sub edx, 1
add edx, 0x68a3712c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x56813c08
mov ecx, 0x46aacd26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov dword [ebp - 0x70], 0xc6a55e8c
jmp 0x40e125
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x70], 0xf22c78c7
jmp 0x40e125
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
sub edx, 0x24dc8d7a
sub edx, 1
add edx, 0x24dc8d7a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x206600e8
mov ecx, 0xb177a69e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
add edx, 0x9366da0d
sub edx, 1
sub edx, 0x9366da0d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x206600e8
mov ecx, 0x2479c6cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov dword [ebp - 0x70], 0xe99bbac0
jmp 0x40e125
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
add edx, 0x6c8d7e14
sub edx, 1
sub edx, 0x6c8d7e14
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x19a9de94
mov ecx, 0xdb4a25
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
sub edx, 0x5fb1dc2c
sub edx, 1
add edx, 0x5fb1dc2c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x19a9de94
mov ecx, 0x307edb26
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov dword [ebp - 0x70], 0xa1137afe
jmp 0x40e125
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x70], 0xb92bf29f
jmp 0x40e125
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x70], 0xb44271cf
jmp 0x40e125
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov dword [ebp - 0x70], 0xd16be978
jmp 0x40e125
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov dword [ebp - 0x70], 0xcf91254f
jmp 0x40e125
mov dword [ebp - 0x70], 0xe99bbac0
jmp 0x40e125
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
add edx, 0x8c0e4881
sub edx, 1
sub edx, 0x8c0e4881
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xa7a7dd76
mov ecx, 0x24838a73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
sub edx, 0x3cf349dd
sub edx, 1
add edx, 0x3cf349dd
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xa7a7dd76
mov ecx, 0xd85860df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40e125
mov dword [ebp - 0x70], 0x8b175cb
jmp 0x40e125
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424630
mov eax, dword [ebp - 0x80]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x70], 0x368aeb6b
jmp 0x40e125
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0
mov dword [ebp - 0x70], 0x2406f3a4
jmp 0x40e125
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x70], 0xe8876a9c
jmp 0x40e125
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov dword [ebp - 0x70], 0xb177a69e
jmp 0x40e125
mov dword [ebp - 0x70], 0xdb4a25
jmp 0x40e125
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x70], 0x24838a73
jmp 0x40d677