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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x74
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [0x433080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
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 - 0x66], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x65], al
mov dword [ebp - 0x6c], 0xfff49c07
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x78], eax
sub eax, 0x926eae78
je 0x40a735
jmp 0x40a14c
mov eax, dword [ebp - 0x78]
sub eax, 0x9a90bdc7
je 0x40aa1e
jmp 0x40a15f
mov eax, dword [ebp - 0x78]
sub eax, 0x9ae99b1f
je 0x40a7de
jmp 0x40a172
mov eax, dword [ebp - 0x78]
sub eax, 0xa03aa000
je 0x40ab66
jmp 0x40a185
mov eax, dword [ebp - 0x78]
sub eax, 0xa1d20acd
je 0x40a9e9
jmp 0x40a198
mov eax, dword [ebp - 0x78]
sub eax, 0xa90c07d3
je 0x40aa0a
jmp 0x40a1ab
mov eax, dword [ebp - 0x78]
sub eax, 0xac26c5f2
je 0x40a6ae
jmp 0x40a1be
mov eax, dword [ebp - 0x78]
sub eax, 0xb0f28d7d
je 0x40a8c4
jmp 0x40a1d1
mov eax, dword [ebp - 0x78]
sub eax, 0xb593601a
je 0x40a62f
jmp 0x40a1e4
mov eax, dword [ebp - 0x78]
sub eax, 0xcb9508da
je 0x40a8e3
jmp 0x40a1f7
mov eax, dword [ebp - 0x78]
sub eax, 0xd441273a
je 0x40aafc
jmp 0x40a20a
mov eax, dword [ebp - 0x78]
sub eax, 0xd7aa6657
je 0x40a9fe
jmp 0x40a21d
mov eax, dword [ebp - 0x78]
sub eax, 0xecee7952
je 0x40a729
jmp 0x40a230
mov eax, dword [ebp - 0x78]
sub eax, 0xee2a93ea
je 0x40ab16
jmp 0x40a243
mov eax, dword [ebp - 0x78]
sub eax, 0xf60874b4
je 0x40ab45
jmp 0x40a256
mov eax, dword [ebp - 0x78]
sub eax, 0xfd293f0d
je 0x40a8b8
jmp 0x40a269
mov eax, dword [ebp - 0x78]
sub eax, 0xfff49c07
je 0x40a410
jmp 0x40a27c
mov eax, dword [ebp - 0x78]
sub eax, 0xb3c932
je 0x40a956
jmp 0x40a28f
mov eax, dword [ebp - 0x78]
sub eax, 0xd5ed252
je 0x40a643
jmp 0x40a2a2
mov eax, dword [ebp - 0x78]
sub eax, 0x188f5ee2
je 0x40a9d5
jmp 0x40a2b5
mov eax, dword [ebp - 0x78]
sub eax, 0x2029d144
je 0x40a755
jmp 0x40a2c8
mov eax, dword [ebp - 0x78]
sub eax, 0x254baec0
je 0x40a45b
jmp 0x40a2db
mov eax, dword [ebp - 0x78]
sub eax, 0x2628b19d
je 0x40aa91
jmp 0x40a2ee
mov eax, dword [ebp - 0x78]
sub eax, 0x37ed885c
je 0x40a4bf
jmp 0x40a301
mov eax, dword [ebp - 0x78]
sub eax, 0x3c5a355a
je 0x40a771
jmp 0x40a314
mov eax, dword [ebp - 0x78]
sub eax, 0x45ed3701
je 0x40a851
jmp 0x40a327
mov eax, dword [ebp - 0x78]
sub eax, 0x4691dc6c
je 0x40a5a2
jmp 0x40a33a
mov eax, dword [ebp - 0x78]
sub eax, 0x4c25a00a
je 0x40ab5a
jmp 0x40a34d
mov eax, dword [ebp - 0x78]
sub eax, 0x539b0b4e
je 0x40a511
jmp 0x40a360
mov eax, dword [ebp - 0x78]
sub eax, 0x591240a7
je 0x40ab22
jmp 0x40a373
mov eax, dword [ebp - 0x78]
sub eax, 0x626f83f6
je 0x40ab36
jmp 0x40a386
mov eax, dword [ebp - 0x78]
sub eax, 0x6298e27f
je 0x40a798
jmp 0x40a399
mov eax, dword [ebp - 0x78]
sub eax, 0x6a8ef50b
je 0x40a9bc
jmp 0x40a3ac
mov eax, dword [ebp - 0x78]
sub eax, 0x6ac5a00b
je 0x40a4cb
jmp 0x40a3bf
mov eax, dword [ebp - 0x78]
sub eax, 0x6e3b1576
je 0x40a5ae
jmp 0x40a3d2
mov eax, dword [ebp - 0x78]
sub eax, 0x6f236e74
je 0x40a9a8
jmp 0x40a3e5
mov eax, dword [ebp - 0x78]
sub eax, 0x71956834
je 0x40a7ca
jmp 0x40a3f8
mov eax, dword [ebp - 0x78]
sub eax, 0x7b1aa4df
je 0x40a99c
jmp 0x40a40b
jmp 0x40ab6d
mov bl, byte [ebp - 0x66]
mov dh, byte [ebp - 0x65]
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, 0xee2a93ea
mov ecx, 0x254baec0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
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 [0x43454c]
mov ecx, dword [0x434548]
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, 0xee2a93ea
mov ecx, 0x37ed885c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0x6ac5a00b
jmp 0x40ab6d
mov eax, dword [0x43454c]
mov ecx, dword [0x434548]
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, 0x591240a7
mov ecx, 0x539b0b4e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov ecx, dword [ebp - 0x74]
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
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
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, 0x591240a7
mov ecx, 0x4691dc6c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0x6e3b1576
jmp 0x40ab6d
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
add ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
add ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
add ecx, dword [eax + 0x24]
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
mov dword [eax], 0
mov dword [ebp - 0x6c], 0xb593601a
jmp 0x40ab6d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x6c], 0xd5ed252
jmp 0x40ab6d
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
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, 0x626f83f6
mov ecx, 0xac26c5f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
mov edx, ecx
sub edx, 0x28b6ad83
sub edx, 1
add edx, 0x28b6ad83
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, 0x626f83f6
mov ecx, 0xecee7952
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0x926eae78
jmp 0x40ab6d
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 0x18]
mov edx, dword [ebp - 0x3c]
mov eax, 0xa1d20acd
mov ecx, 0x2029d144
cmp edx, esi
cmovb eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x6c], 0x3c5a355a
jmp 0x40ab6d
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x34]
add eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x6c], 0x6298e27f
jmp 0x40ab6d
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00421950
add esp, 8
mov edx, eax
mov eax, 0xcb9508da
mov ecx, 0x71956834
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x6c], 0x9ae99b1f
jmp 0x40ab6d
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
mov edx, ecx
add edx, 0xe1e4c26d
sub edx, 1
sub edx, 0xe1e4c26d
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, 0xf60874b4
mov ecx, 0x45ed3701
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x43454c]
mov ecx, dword [0x434548]
mov edx, eax
sub edx, 0xc051d2df
sub edx, 1
add edx, 0xc051d2df
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, 0xf60874b4
mov ecx, 0xfd293f0d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0xb0f28d7d
jmp 0x40ab6d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov dword [ebp - 0x6c], 0xa90c07d3
jmp 0x40ab6d
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
mov edx, ecx
add edx, 0x8af2cc3e
sub edx, 1
sub edx, 0x8af2cc3e
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, 0x4c25a00a
mov ecx, 0xb3c932
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov eax, dword [0x43454c]
mov ecx, dword [0x434548]
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, 0x4c25a00a
mov ecx, 0x7b1aa4df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0x6f236e74
jmp 0x40ab6d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x6c], 0x6a8ef50b
jmp 0x40ab6d
mov eax, dword [ebp - 0x18]
xor ecx, ecx
sub ecx, 1
sub eax, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x6c], 0x188f5ee2
jmp 0x40ab6d
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov dword [ebp - 0x6c], 0xb593601a
jmp 0x40ab6d
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov dword [ebp - 0x6c], 0xd7aa6657
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0xa90c07d3
jmp 0x40ab6d
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x6c], 0x9a90bdc7
jmp 0x40ab6d
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
mov edx, ecx
sub edx, 0xddb068e4
sub edx, 1
add edx, 0xddb068e4
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, 0xa03aa000
mov ecx, 0x2628b19d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov ecx, dword [0x43454c]
mov eax, dword [0x434548]
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, 0xa03aa000
mov ecx, 0xd441273a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x40ab6d
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041d360
mov eax, dword [ebp - 0x7c]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x6c], 0x254baec0
jmp 0x40ab6d
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov dword [ebp - 0x6c], 0x539b0b4e
jmp 0x40ab6d
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x6c], 0xac26c5f2
jmp 0x40ab6d
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x6c], 0x45ed3701
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0xb3c932
jmp 0x40ab6d
mov dword [ebp - 0x6c], 0x2628b19d
jmp 0x40a136