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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x7c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [0x432080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
mov edx, ecx
sub edx, 0x56dd23b2
sub edx, 1
add edx, 0x56dd23b2
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x6e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x6d], al
mov dword [ebp - 0x74], 0xbd22af40
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], eax
sub eax, 0x88d7dcc2
je 0x40a3d4
jmp 0x409b14
mov eax, dword [ebp - 0x80]
sub eax, 0x88f39c51
je 0x40a4de
jmp 0x409b27
mov eax, dword [ebp - 0x80]
sub eax, 0x8bba6069
je 0x40a2ad
jmp 0x409b3a
mov eax, dword [ebp - 0x80]
sub eax, 0x959927c4
je 0x409e23
jmp 0x409b4d
mov eax, dword [ebp - 0x80]
sub eax, 0x96163c58
je 0x40a01e
jmp 0x409b60
mov eax, dword [ebp - 0x80]
sub eax, 0x9b0ad10a
je 0x40a409
jmp 0x409b73
mov eax, dword [ebp - 0x80]
sub eax, 0x9d736470
je 0x40a3fd
jmp 0x409b86
mov eax, dword [ebp - 0x80]
sub eax, 0xa640dc85
je 0x40a055
jmp 0x409b99
mov eax, dword [ebp - 0x80]
sub eax, 0xb936e50c
je 0x40a2cd
jmp 0x409bac
mov eax, dword [ebp - 0x80]
sub eax, 0xbbe83b76
je 0x40a0eb
jmp 0x409bbf
mov eax, dword [ebp - 0x80]
sub eax, 0xbd22af40
je 0x409dd8
jmp 0x409bd2
mov eax, dword [ebp - 0x80]
sub eax, 0xc36d7091
je 0x40a171
jmp 0x409be5
mov eax, dword [ebp - 0x80]
sub eax, 0xc403dc90
je 0x40a56f
jmp 0x409bf8
mov eax, dword [ebp - 0x80]
sub eax, 0xcf3cc63a
je 0x40a596
jmp 0x409c0b
mov eax, dword [ebp - 0x80]
sub eax, 0xcfc4dab2
je 0x409eca
jmp 0x409c1e
mov eax, dword [ebp - 0x80]
sub eax, 0xd201d382
je 0x40a57b
jmp 0x409c31
mov eax, dword [ebp - 0x80]
sub eax, 0xed779b50
je 0x40a3e8
jmp 0x409c44
mov eax, dword [ebp - 0x80]
sub eax, 0xf1fc7805
je 0x40a2b9
jmp 0x409c57
mov eax, dword [ebp - 0x80]
sub eax, 0xf8b31f74
je 0x409ed6
jmp 0x409c6a
mov eax, dword [ebp - 0x80]
sub eax, 0xff6e72b6
je 0x40a340
jmp 0x409c7d
mov eax, dword [ebp - 0x80]
sub eax, 0xff79ade5
je 0x40a50a
jmp 0x409c90
mov eax, dword [ebp - 0x80]
sub eax, 0x3d9c6c2
je 0x40a1e8
jmp 0x409ca3
mov eax, dword [ebp - 0x80]
sub eax, 0xfc4b5b2
je 0x40a1fc
jmp 0x409cb6
mov eax, dword [ebp - 0x80]
sub eax, 0x1751cb36
je 0x40a54b
jmp 0x409cc9
mov eax, dword [ebp - 0x80]
sub eax, 0x23b1e3e7
je 0x40a09d
jmp 0x409cdc
mov eax, dword [ebp - 0x80]
sub eax, 0x28567738
je 0x409f7e
jmp 0x409cef
mov eax, dword [ebp - 0x80]
sub eax, 0x2e88ff8a
je 0x40a242
jmp 0x409d02
mov eax, dword [ebp - 0x80]
sub eax, 0x2ee716c0
je 0x40a03e
jmp 0x409d15
mov eax, dword [ebp - 0x80]
sub eax, 0x31a62321
je 0x40a41d
jmp 0x409d28
mov eax, dword [ebp - 0x80]
sub eax, 0x369dcd48
je 0x40a198
jmp 0x409d3b
mov eax, dword [ebp - 0x80]
sub eax, 0x3aa4b082
je 0x40a17d
jmp 0x409d4e
mov eax, dword [ebp - 0x80]
sub eax, 0x41a12410
je 0x409f30
jmp 0x409d61
mov eax, dword [ebp - 0x80]
sub eax, 0x4526b62d
je 0x40a490
jmp 0x409d74
mov eax, dword [ebp - 0x80]
sub eax, 0x51ac8cf6
je 0x40a3c8
jmp 0x409d87
mov eax, dword [ebp - 0x80]
sub eax, 0x64e1cff7
je 0x40a1c4
jmp 0x409d9a
mov eax, dword [ebp - 0x80]
sub eax, 0x6973e146
je 0x40a02a
jmp 0x409dad
mov eax, dword [ebp - 0x80]
sub eax, 0x6beacb51
je 0x40a074
jmp 0x409dc0
mov eax, dword [ebp - 0x80]
sub eax, 0x752e8453
je 0x40a4fe
jmp 0x409dd3
jmp 0x40a59d
mov bl, byte [ebp - 0x6e]
mov dh, byte [ebp - 0x6d]
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, 0x752e8453
mov ecx, 0x959927c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
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
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
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, 0x752e8453
mov ecx, 0xcfc4dab2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov dword [ebp - 0x74], 0xf8b31f74
jmp 0x40a59d
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx]
add eax, dword [ecx + 0x1c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x74], 0x41a12410
jmp 0x40a59d
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
sub edx, 0xbbba2fff
sub edx, 1
add edx, 0xbbba2fff
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, 0xff79ade5
mov ecx, 0x28567738
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov dword [eax], 0
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
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, 0xff79ade5
mov ecx, 0x96163c58
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov dword [ebp - 0x74], 0x6973e146
jmp 0x40a59d
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x74], 0x2ee716c0
jmp 0x40a59d
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add eax, 0x18
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], 0xa640dc85
jmp 0x40a59d
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax]
mov edx, dword [ebp - 0x40]
mov eax, 0xed779b50
mov ecx, 0x6beacb51
cmp edx, esi
cmovb eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x48]
mov edx, dword [edx]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x74], 0x23b1e3e7
jmp 0x40a59d
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
sub edx, 0x42a494e7
sub edx, 1
add edx, 0x42a494e7
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, 0x1751cb36
mov ecx, 0xbbe83b76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.0041fdf0
add esp, 8
mov dword [ebp - 0x30], eax
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
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, 0x1751cb36
mov ecx, 0xc36d7091
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov dword [ebp - 0x74], 0x3aa4b082
jmp 0x40a59d
mov edx, dword [ebp - 0x30]
mov eax, 0xfc4b5b2
mov ecx, 0x369dcd48
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov eax, dword [ebp - 0x64]
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 - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x74], 0x64e1cff7
jmp 0x40a59d
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
movzx ecx, word [eax + ecx*2]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x2c]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x74], 0x3d9c6c2
jmp 0x40a59d
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [ebp - 0x74], 0x9b0ad10a
jmp 0x40a59d
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
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, 0xc403dc90
mov ecx, 0x2e88ff8a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
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, 0xc403dc90
mov ecx, 0x8bba6069
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov dword [ebp - 0x74], 0xf1fc7805
jmp 0x40a59d
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x74], 0xb936e50c
jmp 0x40a59d
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
mov edx, ecx
add edx, 0x478f2b87
sub edx, 1
sub edx, 0x478f2b87
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, 0xd201d382
mov ecx, 0xff6e72b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov eax, dword [ebp - 0x18]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 1
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
mov edx, ecx
add edx, 0x659f9e18
sub edx, 1
sub edx, 0x659f9e18
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, 0xd201d382
mov ecx, 0x51ac8cf6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov dword [ebp - 0x74], 0x88d7dcc2
jmp 0x40a59d
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov dword [ebp - 0x74], 0x6973e146
jmp 0x40a59d
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov dword [ebp - 0x74], 0x9d736470
jmp 0x40a59d
mov dword [ebp - 0x74], 0x9b0ad10a
jmp 0x40a59d
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x74], 0x31a62321
jmp 0x40a59d
mov ecx, dword [0x43355c]
mov eax, dword [0x433558]
mov edx, ecx
add edx, 0x6b6e21f8
sub edx, 1
sub edx, 0x6b6e21f8
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, 0xcf3cc63a
mov ecx, 0x4526b62d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov eax, dword [0x43355c]
mov ecx, dword [0x433558]
mov edx, eax
sub edx, 0x930b6f0e
sub edx, 1
add edx, 0x930b6f0e
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, 0xcf3cc63a
mov ecx, 0x88f39c51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
jmp 0x40a59d
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041b800
mov eax, dword [ebp - 0x84]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x74], 0x959927c4
jmp 0x40a59d
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov dword [eax], 0
mov dword [ebp - 0x74], 0x28567738
jmp 0x40a59d
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.0041fdf0
add esp, 8
mov dword [ebp - 0x74], 0xbbe83b76
jmp 0x40a59d
mov dword [ebp - 0x74], 0x2e88ff8a
jmp 0x40a59d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x74], 0xff6e72b6
jmp 0x40a59d
mov dword [ebp - 0x74], 0x4526b62d
jmp 0x409afe