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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x68
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x64], 0x953a91f7
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
sub eax, 0x8486da1f
je 0x40a9ec
jmp 0x409f41
mov eax, dword [ebp - 0x68]
sub eax, 0x85344c48
je 0x40a4bd
jmp 0x409f54
mov eax, dword [ebp - 0x68]
sub eax, 0x88001072
je 0x40a542
jmp 0x409f67
mov eax, dword [ebp - 0x68]
sub eax, 0x8b4e231e
je 0x40a5c6
jmp 0x409f7a
mov eax, dword [ebp - 0x68]
sub eax, 0x953a91f7
je 0x40a22b
jmp 0x409f8d
mov eax, dword [ebp - 0x68]
sub eax, 0x95898419
je 0x40a34f
jmp 0x409fa0
mov eax, dword [ebp - 0x68]
sub eax, 0x9a9a4e16
je 0x40a9c4
jmp 0x409fb3
mov eax, dword [ebp - 0x68]
sub eax, 0x9aa4665c
je 0x40a6d5
jmp 0x409fc6
mov eax, dword [ebp - 0x68]
sub eax, 0x9ad06225
je 0x40a5ad
jmp 0x409fd9
mov eax, dword [ebp - 0x68]
sub eax, 0x9ae6b64e
je 0x40a6bd
jmp 0x409fec
mov eax, dword [ebp - 0x68]
sub eax, 0x9bcdcb29
je 0x40a343
jmp 0x409fff
mov eax, dword [ebp - 0x68]
sub eax, 0xa8656fe2
je 0x40aa3f
jmp 0x40a012
mov eax, dword [ebp - 0x68]
sub eax, 0xae4a3d5f
je 0x40a83a
jmp 0x40a025
mov eax, dword [ebp - 0x68]
sub eax, 0xb249f9b6
je 0x40a2d2
jmp 0x40a038
mov eax, dword [ebp - 0x68]
sub eax, 0xb64c4d77
je 0x40aa0a
jmp 0x40a04b
mov eax, dword [ebp - 0x68]
sub eax, 0xbb1668b7
je 0x40a9b8
jmp 0x40a05e
mov eax, dword [ebp - 0x68]
sub eax, 0xbf5c36e9
je 0x40a9d6
jmp 0x40a071
mov eax, dword [ebp - 0x68]
sub eax, 0xbffba8d5
je 0x40a437
jmp 0x40a084
mov eax, dword [ebp - 0x68]
sub eax, 0xc2094818
je 0x40a6e7
jmp 0x40a097
mov eax, dword [ebp - 0x68]
sub eax, 0xc2b39a36
je 0x40a279
jmp 0x40a0aa
mov eax, dword [ebp - 0x68]
sub eax, 0xc61937cd
je 0x40a58f
jmp 0x40a0bd
mov eax, dword [ebp - 0x68]
sub eax, 0xd1419dad
je 0x40a8d2
jmp 0x40a0d0
mov eax, dword [ebp - 0x68]
sub eax, 0xd49fe926
je 0x40a945
jmp 0x40a0e3
mov eax, dword [ebp - 0x68]
sub eax, 0xdc5ceed3
je 0x40a6c9
jmp 0x40a0f6
mov eax, dword [ebp - 0x68]
sub eax, 0xdf8815d1
je 0x40a54e
jmp 0x40a109
mov eax, dword [ebp - 0x68]
sub eax, 0xe2a397eb
je 0x40aa51
jmp 0x40a11c
mov eax, dword [ebp - 0x68]
sub eax, 0xf0654764
je 0x40a574
jmp 0x40a12f
mov eax, dword [ebp - 0x68]
sub eax, 0xf7e91684
je 0x40a75a
jmp 0x40a142
mov eax, dword [ebp - 0x68]
sub eax, 0xf86199b6
je 0x40a452
jmp 0x40a155
mov eax, dword [ebp - 0x68]
sub eax, 0x10764511
je 0x40a3d7
jmp 0x40a168
mov eax, dword [ebp - 0x68]
sub eax, 0x13bc9d73
je 0x40a7ec
jmp 0x40a17b
mov eax, dword [ebp - 0x68]
sub eax, 0x2706e879
je 0x40a8bf
jmp 0x40a18e
mov eax, dword [ebp - 0x68]
sub eax, 0x3b45a316
je 0x40a8b3
jmp 0x40a1a1
mov eax, dword [ebp - 0x68]
sub eax, 0x3f908404
je 0x40a9fe
jmp 0x40a1b4
mov eax, dword [ebp - 0x68]
sub eax, 0x40957815
je 0x40a28c
jmp 0x40a1c7
mov eax, dword [ebp - 0x68]
sub eax, 0x5628609b
je 0x40aa27
jmp 0x40a1da
mov eax, dword [ebp - 0x68]
sub eax, 0x5b235a5e
je 0x40a9e0
jmp 0x40a1ed
mov eax, dword [ebp - 0x68]
sub eax, 0x5fe59591
je 0x40a639
jmp 0x40a200
mov eax, dword [ebp - 0x68]
sub eax, 0x65384fe0
je 0x40a364
jmp 0x40a213
mov eax, dword [ebp - 0x68]
sub eax, 0x6c2fe277
je 0x40a7e0
jmp 0x40a226
jmp 0x40aa58
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x48]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4c]
add eax, dword [ecx + 0x78]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x50]
add eax, dword [ecx + 0x1c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x50]
add eax, dword [ecx + 0x24]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x50]
add eax, dword [ecx + 0x20]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], 0xc2b39a36
jmp 0x40aa58
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0x40957815
jmp 0x40aa58
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
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, 0x5b235a5e
mov ecx, 0xb249f9b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0x5b235a5e
mov ecx, 0x9bcdcb29
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dword [ebp - 0x64], 0x95898419
jmp 0x40aa58
mov eax, dword [ebp - 0x50]
add eax, 0x18
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x64], 0x65384fe0
jmp 0x40aa58
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0xf558c32f
sub edx, 1
add edx, 0xf558c32f
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, 0x8486da1f
mov ecx, 0x10764511
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setb al
and al, 1
mov byte [ebp - 0x31], al
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
add edx, 0x3bec64c
sub edx, 1
sub edx, 0x3bec64c
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, 0x8486da1f
mov ecx, 0xbffba8d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dl, byte [ebp - 0x31]
mov eax, 0x2706e879
mov ecx, 0xf86199b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0x3f908404
mov ecx, 0x85344c48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x492b786c
sub edx, 1
sub edx, 0x492b786c
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, 0x3f908404
mov ecx, 0x88001072
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dword [ebp - 0x64], 0xdf8815d1
jmp 0x40aa58
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add edx, eax
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00422840
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x64], 0xf0654764
jmp 0x40aa58
mov edx, dword [ebp - 0x28]
mov eax, 0xdc5ceed3
mov ecx, 0xc61937cd
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64], 0x9ad06225
jmp 0x40aa58
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x64], 0x8b4e231e
jmp 0x40aa58
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x1bb20e6f
sub edx, 1
sub edx, 0x1bb20e6f
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, 0xb64c4d77
mov ecx, 0x5fe59591
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x4f099969
sub edx, 1
sub edx, 0x4f099969
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, 0xb64c4d77
mov ecx, 0x9ae6b64e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dword [ebp - 0x64], 0x9a9a4e16
jmp 0x40aa58
mov dword [ebp - 0x64], 0x9aa4665c
jmp 0x40aa58
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x64], 0xc2094818
jmp 0x40aa58
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0xd02b518a
sub edx, 1
add edx, 0xd02b518a
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, 0x5628609b
mov ecx, 0xf7e91684
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp - 0x14]
add eax, 0xeddccd9b
add eax, 1
sub eax, 0xeddccd9b
mov dword [ebp - 0x10], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0xa6fe95cd
sub edx, 1
add edx, 0xa6fe95cd
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, 0x5628609b
mov ecx, 0x6c2fe277
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dword [ebp - 0x64], 0x13bc9d73
jmp 0x40aa58
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
sub edx, 0xa3021e15
sub edx, 1
add edx, 0xa3021e15
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, 0xa8656fe2
mov ecx, 0xae4a3d5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x60], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x4ef59501
sub edx, 1
sub edx, 0x4ef59501
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, 0xa8656fe2
mov ecx, 0x3b45a316
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dword [ebp - 0x64], 0x40957815
jmp 0x40aa58
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x64], 0xd1419dad
jmp 0x40aa58
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x1f66e6c3
sub edx, 1
sub edx, 0x1f66e6c3
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, 0xe2a397eb
mov ecx, 0xd49fe926
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x8db1adee
sub edx, 1
sub edx, 0x8db1adee
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, 0xe2a397eb
mov ecx, 0xbb1668b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x64], eax
jmp 0x40aa58
mov dword [ebp - 0x64], 0x9a9a4e16
jmp 0x40aa58
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x64], 0xbf5c36e9
jmp 0x40aa58
mov eax, dword [ebp - 0xc]
add esp, 0x68
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x64], 0xb249f9b6
jmp 0x40aa58
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x64], 0x10764511
jmp 0x40aa58
mov dword [ebp - 0x64], 0x85344c48
jmp 0x40aa58
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x64], 0x5fe59591
jmp 0x40aa58
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x64], 0xf7e91684
jmp 0x40aa58
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], 0xae4a3d5f
jmp 0x40aa58
mov dword [ebp - 0x64], 0xd49fe926
jmp 0x409f2b