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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x88
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x84], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x43583ea8
sub edx, 1
sub edx, 0x43583ea8
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x7a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x79], al
mov dword [ebp - 0x80], 0x2ef814ff
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
sub eax, 0x84ec6db2
je 0x40aeb7
jmp 0x40a640
mov eax, dword [ebp - 0x8c]
sub eax, 0x8b052697
je 0x40ad86
jmp 0x40a656
mov eax, dword [ebp - 0x8c]
sub eax, 0x9513f0e4
je 0x40b041
jmp 0x40a66c
mov eax, dword [ebp - 0x8c]
sub eax, 0x9f5637a9
je 0x40b055
jmp 0x40a682
mov eax, dword [ebp - 0x8c]
sub eax, 0xa257f615
je 0x40aa97
jmp 0x40a698
mov eax, dword [ebp - 0x8c]
sub eax, 0xaccb7f1a
je 0x40ae89
jmp 0x40a6ae
mov eax, dword [ebp - 0x8c]
sub eax, 0xb1e7d507
je 0x40afd1
jmp 0x40a6c4
mov eax, dword [ebp - 0x8c]
sub eax, 0xbcffe9fa
je 0x40ab76
jmp 0x40a6da
mov eax, dword [ebp - 0x8c]
sub eax, 0xc261f081
je 0x40b0d6
jmp 0x40a6f0
mov eax, dword [ebp - 0x8c]
sub eax, 0xd55fc991
je 0x40aa8b
jmp 0x40a706
mov eax, dword [ebp - 0x8c]
sub eax, 0xdaee26c8
je 0x40ac9e
jmp 0x40a71c
mov eax, dword [ebp - 0x8c]
sub eax, 0xdf369a28
je 0x40b035
jmp 0x40a732
mov eax, dword [ebp - 0x8c]
sub eax, 0xe3827b9f
je 0x40b100
jmp 0x40a748
mov eax, dword [ebp - 0x8c]
sub eax, 0xe57e81f0
je 0x40b124
jmp 0x40a75e
mov eax, dword [ebp - 0x8c]
sub eax, 0xf58a67c3
je 0x40b0e8
jmp 0x40a774
mov eax, dword [ebp - 0x8c]
sub eax, 0xfdd3a901
je 0x40aff1
jmp 0x40a78a
mov eax, dword [ebp - 0x8c]
sub eax, 0x765d0fc
je 0x40b075
jmp 0x40a7a0
mov eax, dword [ebp - 0x8c]
sub eax, 0xbdfb06c
je 0x40b020
jmp 0x40a7b6
mov eax, dword [ebp - 0x8c]
sub eax, 0x16b33e49
je 0x40ac27
jmp 0x40a7cc
mov eax, dword [ebp - 0x8c]
sub eax, 0x18b161af
je 0x40afc5
jmp 0x40a7e2
mov eax, dword [ebp - 0x8c]
sub eax, 0x289579fb
je 0x40acd7
jmp 0x40a7f8
mov eax, dword [ebp - 0x8c]
sub eax, 0x28c83e53
je 0x40add8
jmp 0x40a80e
mov eax, dword [ebp - 0x8c]
sub eax, 0x2d403fd0
je 0x40aed2
jmp 0x40a824
mov eax, dword [ebp - 0x8c]
sub eax, 0x2ebf92c8
je 0x40ab6a
jmp 0x40a83a
mov eax, dword [ebp - 0x8c]
sub eax, 0x2ef814ff
je 0x40a973
jmp 0x40a850
mov eax, dword [ebp - 0x8c]
sub eax, 0x2f9eee10
je 0x40ac7d
jmp 0x40a866
mov eax, dword [ebp - 0x8c]
sub eax, 0x31290e11
je 0x40abbc
jmp 0x40a87c
mov eax, dword [ebp - 0x8c]
sub eax, 0x3389d1e1
je 0x40ac89
jmp 0x40a892
mov eax, dword [ebp - 0x8c]
sub eax, 0x3d570998
je 0x40af45
jmp 0x40a8a8
mov eax, dword [ebp - 0x8c]
sub eax, 0x3e54e015
je 0x40acbb
jmp 0x40a8be
mov eax, dword [ebp - 0x8c]
sub eax, 0x4c545190
je 0x40b014
jmp 0x40a8d4
mov eax, dword [ebp - 0x8c]
sub eax, 0x54e12a02
je 0x40ad92
jmp 0x40a8ea
mov eax, dword [ebp - 0x8c]
sub eax, 0x59c4d225
je 0x40aadd
jmp 0x40a900
mov eax, dword [ebp - 0x8c]
sub eax, 0x614fd578
je 0x40b098
jmp 0x40a916
mov eax, dword [ebp - 0x8c]
sub eax, 0x63e79e65
je 0x40a9be
jmp 0x40a92c
mov eax, dword [ebp - 0x8c]
sub eax, 0x6d2a1eb6
je 0x40afdd
jmp 0x40a942
mov eax, dword [ebp - 0x8c]
sub eax, 0x7a509e3f
je 0x40ae6e
jmp 0x40a958
mov eax, dword [ebp - 0x8c]
sub eax, 0x7ad43383
je 0x40ad25
jmp 0x40a96e
jmp 0x40b138
mov bl, byte [ebp - 0x7a]
mov dh, byte [ebp - 0x79]
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, 0x765d0fc
mov ecx, 0x63e79e65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
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
mov eax, dword [ebp - 0x74]
mov dword [eax], edx
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x7825fe4a
sub edx, 1
add edx, 0x7825fe4a
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, 0x765d0fc
mov ecx, 0xd55fc991
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov dword [ebp - 0x80], 0xa257f615
jmp 0x40b138
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, 0x614fd578
mov ecx, 0x59c4d225
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x48], eax
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
add edx, 0x6b2a3f58
sub edx, 1
sub edx, 0x6b2a3f58
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, 0x614fd578
mov ecx, 0x2ebf92c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov dword [ebp - 0x80], 0xbcffe9fa
jmp 0x40b138
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
add ecx, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov dword [ebp - 0x80], 0x31290e11
jmp 0x40b138
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, 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, 0xc261f081
mov ecx, 0x16b33e49
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
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, 0xc261f081
mov ecx, 0x2f9eee10
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov dword [ebp - 0x80], 0x3389d1e1
jmp 0x40b138
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x80], 0xdaee26c8
jmp 0x40b138
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x3c]
mov eax, 0xbdfb06c
mov ecx, 0x3e54e015
cmp edx, esi
cmovb eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x80], 0x289579fb
jmp 0x40b138
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
add edx, 0x71318c9d
sub edx, 1
sub edx, 0x71318c9d
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, 0xf58a67c3
mov ecx, 0x7ad43383
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x38]
add eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
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, 0xf58a67c3
mov ecx, 0x8b052697
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov dword [ebp - 0x80], 0x54e12a02
jmp 0x40b138
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, 0xe3827b9f
mov ecx, 0x28c83e53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00422900
add esp, 8
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x25], al
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x13e884d4
sub edx, 1
add edx, 0x13e884d4
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, 0xe3827b9f
mov ecx, 0x7a509e3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov dl, byte [ebp - 0x25]
mov eax, 0xb1e7d507
mov ecx, 0xaccb7f1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
shl ecx, 1
add eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x80], 0x84ec6db2
jmp 0x40b138
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x80], 0x2d403fd0
jmp 0x40b138
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x9d29c6c1
sub edx, 1
add edx, 0x9d29c6c1
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, 0xe57e81f0
mov ecx, 0x3d570998
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x1bc26513
sub edx, 1
sub edx, 0x1bc26513
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, 0xe57e81f0
mov ecx, 0x18b161af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x40b138
mov dword [ebp - 0x80], 0x9513f0e4
jmp 0x40b138
mov dword [ebp - 0x80], 0x6d2a1eb6
jmp 0x40b138
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x80], 0xfdd3a901
jmp 0x40b138
mov ecx, dword [ebp - 0x14]
add ecx, 0x8ba5a1b0
add ecx, 1
sub ecx, 0x8ba5a1b0
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov dword [ebp - 0x80], 0x4c545190
jmp 0x40b138
mov dword [ebp - 0x80], 0x31290e11
jmp 0x40b138
mov eax, dword [ebp - 0x78]
mov dword [eax], 0
mov dword [ebp - 0x80], 0xdf369a28
jmp 0x40b138
mov dword [ebp - 0x80], 0x9513f0e4
jmp 0x40b138
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x80], 0x9f5637a9
jmp 0x40b138
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041e2e0
mov eax, dword [ebp - 0x90]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
push eax
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov dword [ebp - 0x80], 0x63e79e65
jmp 0x40b138
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x80], 0x59c4d225
jmp 0x40b138
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x80], 0x16b33e49
jmp 0x40b138
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], 0x7ad43383
jmp 0x40b138
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00422900
add esp, 8
mov dword [ebp - 0x80], 0x28c83e53
jmp 0x40b138
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x80], 0x3d570998
jmp 0x40a627