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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x78
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x74], eax
mov eax, dword [0x432080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43354c]
mov eax, dword [0x433548]
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], 0x32cea86a
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x7c], eax
sub eax, 0x8bab7856
je 0x409e42
jmp 0x409a4c
mov eax, dword [ebp - 0x7c]
sub eax, 0x8ffecbd9
je 0x409d8f
jmp 0x409a5f
mov eax, dword [ebp - 0x7c]
sub eax, 0x93c5577b
je 0x409cfd
jmp 0x409a72
mov eax, dword [ebp - 0x7c]
sub eax, 0xa8319a89
je 0x40a160
jmp 0x409a85
mov eax, dword [ebp - 0x7c]
sub eax, 0xb04af83d
je 0x40a0fd
jmp 0x409a98
mov eax, dword [ebp - 0x7c]
sub eax, 0xbc2a5670
je 0x40a270
jmp 0x409aab
mov eax, dword [ebp - 0x7c]
sub eax, 0xbc88afd2
je 0x40a19f
jmp 0x409abe
mov eax, dword [ebp - 0x7c]
sub eax, 0xbdad1b06
je 0x409f08
jmp 0x409ad1
mov eax, dword [ebp - 0x7c]
sub eax, 0xc2c0579f
je 0x40a14c
jmp 0x409ae4
mov eax, dword [ebp - 0x7c]
sub eax, 0xc5900060
je 0x40a12b
jmp 0x409af7
mov eax, dword [ebp - 0x7c]
sub eax, 0xdebf875e
je 0x409d9b
jmp 0x409b0a
mov eax, dword [ebp - 0x7c]
sub eax, 0xe3d7ec8d
je 0x40a2fe
jmp 0x409b1d
mov eax, dword [ebp - 0x7c]
sub eax, 0xeaa034d9
je 0x40a2c5
jmp 0x409b30
mov eax, dword [ebp - 0x7c]
sub eax, 0xf65d9b2c
je 0x409f14
jmp 0x409b43
mov eax, dword [ebp - 0x7c]
sub eax, 0xf71dabdf
je 0x40a201
jmp 0x409b56
mov eax, dword [ebp - 0x7c]
sub eax, 0xf84687e5
je 0x409e88
jmp 0x409b69
mov eax, dword [ebp - 0x7c]
sub eax, 0xfce464e2
je 0x40a258
jmp 0x409b7c
mov eax, dword [ebp - 0x7c]
sub eax, 0xfeaef9bc
je 0x409f62
jmp 0x409b8f
mov eax, dword [ebp - 0x7c]
sub eax, 0x42b625c
je 0x40a0e2
jmp 0x409ba2
mov eax, dword [ebp - 0x7c]
sub eax, 0x6075b2a
je 0x40a0d6
jmp 0x409bb5
mov eax, dword [ebp - 0x7c]
sub eax, 0x86dab31
je 0x40a016
jmp 0x409bc8
mov eax, dword [ebp - 0x7c]
sub eax, 0xc67d1a4
je 0x40a16c
jmp 0x409bdb
mov eax, dword [ebp - 0x7c]
sub eax, 0x1328bd53
je 0x40a1b3
jmp 0x409bee
mov eax, dword [ebp - 0x7c]
sub eax, 0x1b847986
je 0x40a180
jmp 0x409c01
mov eax, dword [ebp - 0x7c]
sub eax, 0x1d88850a
je 0x409ff0
jmp 0x409c14
mov eax, dword [ebp - 0x7c]
sub eax, 0x1f1d593b
je 0x409e2e
jmp 0x409c27
mov eax, dword [ebp - 0x7c]
sub eax, 0x22d9bdc9
je 0x40a29e
jmp 0x409c3a
mov eax, dword [ebp - 0x7c]
sub eax, 0x2776a2b3
je 0x409e11
jmp 0x409c4d
mov eax, dword [ebp - 0x7c]
sub eax, 0x2c105d71
je 0x409fd5
jmp 0x409c60
mov eax, dword [ebp - 0x7c]
sub eax, 0x32cea86a
je 0x409cd7
jmp 0x409c73
mov eax, dword [ebp - 0x7c]
sub eax, 0x3f426412
je 0x40a2b3
jmp 0x409c86
mov eax, dword [ebp - 0x7c]
sub eax, 0x535587a5
je 0x40a2d1
jmp 0x409c99
mov eax, dword [ebp - 0x7c]
sub eax, 0x580fdb39
je 0x40a064
jmp 0x409cac
mov eax, dword [ebp - 0x7c]
sub eax, 0x6d15b637
je 0x40a284
jmp 0x409cbf
mov eax, dword [ebp - 0x7c]
sub eax, 0x7e6cfe14
je 0x40a264
jmp 0x409cd2
jmp 0x40a30e
mov al, byte [ebp - 0x6a]
mov cl, byte [ebp - 0x69]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x22d9bdc9
mov ecx, 0x93c5577b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov ecx, dword [ebp - 0x78]
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
mov edx, eax
add edx, 0xcf0141e2
sub edx, 1
sub edx, 0xcf0141e2
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, 0x22d9bdc9
mov ecx, 0x8ffecbd9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov dword [ebp - 0x70], 0xdebf875e
jmp 0x40a30e
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
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 + 0x3c]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
add ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x20]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x70], 0x2776a2b3
jmp 0x40a30e
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov dword [eax], 0
mov dword [ebp - 0x70], 0x1f1d593b
jmp 0x40a30e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x70], 0x8bab7856
jmp 0x40a30e
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0x3f426412
mov ecx, 0xf84687e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setb al
and al, 1
mov byte [ebp - 0x35], al
mov ecx, dword [0x43354c]
mov eax, dword [0x433548]
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, 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, 0x3f426412
mov ecx, 0xbdad1b06
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov dword [ebp - 0x70], 0xf65d9b2c
jmp 0x40a30e
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
mov edx, eax
add edx, 0x6b2691de
sub edx, 1
sub edx, 0x6b2691de
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, 0xeaa034d9
mov ecx, 0xfeaef9bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov ecx, dword [0x43354c]
mov eax, dword [0x433548]
mov edx, ecx
sub edx, 0xb3353c9d
sub edx, 1
add edx, 0xb3353c9d
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, 0xeaa034d9
mov ecx, 0x2c105d71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov dl, byte [ebp - 0x35]
mov eax, 0x1328bd53
mov ecx, 0x1d88850a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
shl ecx, 2
add eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x70], 0x86dab31
jmp 0x40a30e
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
mov edx, eax
sub edx, 0x9ca93502
sub edx, 1
add edx, 0x9ca93502
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, 0x535587a5
mov ecx, 0x580fdb39
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov edx, dword [ebp - 0x34]
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.004202e0
add esp, 8
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x29], al
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0x535587a5
mov ecx, 0x6075b2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov dword [ebp - 0x70], 0x42b625c
jmp 0x40a30e
mov dl, byte [ebp - 0x29]
mov eax, 0xa8319a89
mov ecx, 0xb04af83d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
mov ax, word [eax + ecx*2]
mov word [ebp - 0x1e], ax
mov dword [ebp - 0x70], 0xc5900060
jmp 0x40a30e
mov ax, word [ebp - 0x1e]
movzx ecx, ax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x70], 0xc2c0579f
jmp 0x40a30e
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [ebp - 0x70], 0xbc2a5670
jmp 0x40a30e
mov dword [ebp - 0x70], 0xc67d1a4
jmp 0x40a30e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x70], 0x1b847986
jmp 0x40a30e
mov eax, dword [ebp - 0x18]
sub eax, 0x93feb758
add eax, 1
add eax, 0x93feb758
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x70], 0xbc88afd2
jmp 0x40a30e
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov dword [ebp - 0x70], 0x1f1d593b
jmp 0x40a30e
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
mov edx, eax
add edx, 0xf0ba4c50
sub edx, 1
sub edx, 0xf0ba4c50
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, 0xe3d7ec8d
mov ecx, 0xf71dabdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov eax, dword [0x43354c]
mov ecx, dword [0x433548]
mov edx, eax
sub edx, 0x1d8cc3
sub edx, 1
add edx, 0x1d8cc3
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, 0xe3d7ec8d
mov ecx, 0xfce464e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x70], eax
jmp 0x40a30e
mov dword [ebp - 0x70], 0x7e6cfe14
jmp 0x40a30e
mov dword [ebp - 0x70], 0xbc2a5670
jmp 0x40a30e
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x70], 0x6d15b637
jmp 0x40a30e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041bcf0
mov eax, dword [ebp - 0x80]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x78]
push eax
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x70], 0x93c5577b
jmp 0x40a30e
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x70], 0xf84687e5
jmp 0x40a30e
mov dword [ebp - 0x70], 0xfeaef9bc
jmp 0x40a30e
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov edx, dword [ebp - 0x34]
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.004202e0
add esp, 8
mov dword [ebp - 0x70], 0x580fdb39
jmp 0x40a30e
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
mov dword [ebp - 0x70], 0xf71dabdf
jmp 0x409a36