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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov eax, dword [0x4335e0]
mov ebx, ecx
mov ebp, 0x872a9000
xor eax, esp
mov dword [esp + 0x94], eax
mov ecx, dword [0x433f8c]
mov eax, dword [0x433f90]
lea edx, [ecx - 1]
imul edx, ecx
mov esi, edx
mov ecx, edx
xor esi, 0xfffffffe
and ecx, 0x5d807cfc
and esi, edx
not edx
mov edi, edx
and edi, 0xa27f8302
or ecx, edi
xor ecx, 0x5d807cfc
mov edi, ecx
and edi, esi
xor esi, ecx
or esi, edi
mov edi, 0xf50491f
not esi
mov ecx, esi
xor esi, edx
and ecx, edx
or esi, ecx
mov ecx, esi
and esi, 0x55ee7975
not ecx
and ecx, 0xaa11868a
or esi, ecx
xor esi, 0x55ee7975
mov esi, 0x810dce30
sete dl
setne ch
sete byte [esp + 0x7e]
cmp eax, 9
setg cl
cmp eax, 0xa
mov al, ch
setl ah
setl byte [esp + 0x7f]
xor ch, cl
and cl, dl
and al, ah
or cl, al
mov al, ah
xor ah, dl
and al, dl
or ah, al
mov al, ch
xor ah, 1
and al, ah
xor ah, ch
or ah, al
mov al, ah
mov dl, ah
xor al, 1
and al, ah
xor al, 1
xor dl, al
or al, ah
mov ah, cl
xor al, 1
or al, dl
mov edx, ecx
xor dl, 1
and ah, dl
mov ch, ah
xor ah, cl
and ch, cl
mov cl, dl
or ah, ch
xor ah, al
xor al, 1
and cl, al
xor al, dl
mov edx, 0xdf1e39d1
or al, cl
mov cl, ah
xor al, 1
and cl, al
xor al, ah
or al, cl
mov ecx, 0x5ae89bfe
test al, 1
mov eax, 0x7a9e88d9
cmove ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, 0x6292cc63
cmove ecx, eax
mov eax, 0x9cb548cb
mov dword [esp + 0x6c], ecx
mov ecx, 0x99eaddec
cmove ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, 0x8864c5bd
cmove ecx, eax
mov eax, 0xcb1637b6
mov dword [esp + 0x78], ecx
mov ecx, 0xe39d5969
cmove ecx, eax
mov dword [esp + 0x68], ecx
mov ecx, 0xb74933c0
cmove ecx, eax
mov eax, 0x8d363e37
mov dword [esp + 0x74], ecx
mov ecx, 0x1b50ce24
cmove ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, 0xcb3a460c
cmove ecx, eax
mov eax, 0x15a8fe9b
mov dword [esp + 0x30], ecx
mov ecx, 0xb7e8f8d6
cmove ecx, eax
mov dword [esp + 0x2c], ecx
mov ecx, 0x8b327fe
cmove ecx, eax
mov eax, 0x279decdd
mov dword [esp + 0x70], ecx
mov ecx, 0xe84df92c
cmove ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, 0x556390f5
cmove ecx, eax
mov eax, 0x3e4bb1b2
mov dword [esp + 0x28], ecx
mov ecx, 0x42b119e9
cmove ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, 0x2b8d5707
cmove ecx, eax
mov eax, 0x8bf2a7c6
mov dword [esp + 0x64], ecx
mov ecx, 0x5dc5bf06
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, 0xb422ed4
cmove ecx, eax
mov eax, 0x9b7a6fb3
mov dword [esp + 0x48], ecx
mov ecx, 0xc3feda8b
cmove ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, 0x6b993740
cmove ecx, eax
mov eax, 0x9bbed312
mov dword [esp + 0x18], ecx
mov ecx, 0x190957e9
cmove edx, eax
cmove ecx, eax
mov eax, 0x8d8b7a03
mov dword [esp + 0x60], ecx
mov ecx, 0xdbb7a338
cmove eax, ecx
mov dword [esp + 0x5c], eax
mov eax, 0xd2daf378
cmove eax, ecx
mov ecx, 0x85c6717c
cmove esi, ecx
mov dword [esp + 0x14], esi
mov esi, 0xde4f9b86
cmove esi, ecx
mov ecx, 0x2edf8b0a
mov dword [esp + 0x10], esi
mov esi, 0x4195070a
cmove esi, ecx
mov dword [esp + 0x58], esi
mov esi, 0x415b26da
cmove esi, ecx
mov ecx, 0xee995b23
mov dword [esp + 0x44], esi
mov esi, 0x838c922c
cmove edi, ecx
cmove esi, ecx
mov ecx, 0x9f29e4e
mov dword [esp + 0xc], esi
mov esi, 0x56f6d3bc
cmove esi, ecx
mov dword [esp + 0x40], esi
mov esi, 0x89cd397b
cmove esi, ecx
mov ecx, 0xa576755a
mov dword [esp + 8], esi
mov esi, 0x76ea8b04
cmove esi, ecx
mov dword [esp + 0x54], esi
mov esi, 0xa3de24c2
cmove esi, ecx
mov ecx, 0x3183ea39
cmove ebp, ecx
mov ecx, 0xcd93d79a
mov dword [esp + 0x3c], esi
mov esi, ecx
cmp ecx, 0xee995b22
jg 0x40f4a0
cmp esi, 0xa5767559
jg 0x40f500
cmp esi, 0x8d363e36
jg 0x40f5a7
cmp esi, 0x872a8fff
jle 0x40f699
cmp esi, 0x89cd397a
jg 0x40f86c
mov ecx, dword [esp + 0x3c]
cmp esi, 0x872a9000
je 0x40f440
cmp esi, 0x8864c5bd
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x34]
jmp 0x40f440
cmp esi, 0x35c9823d
jle 0x40f550
cmp esi, 0x56f6d3bb
jg 0x40f5e3
cmp esi, 0x41950709
jle 0x40f6cf
cmp esi, 0x556390f4
jg 0x40f89b
cmp esi, 0x4195070a
je 0x40f9d2
cmp esi, 0x42b119e9
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x20]
jmp 0x40f440
cmp esi, 0xd2daf377
jg 0x40f61e
cmp esi, 0xc3feda8a
jle 0x40f704
cmp esi, 0xcb3a460b
jg 0x40f8c2
mov ecx, dword [esp + 0x48]
cmp esi, 0xc3feda8b
je 0x40f440
cmp esi, 0xcb1637b6
mov ecx, esi
jne 0x40f440
mov ecx, 0xb74933c0
jmp 0x40f440
cmp esi, 0x15a8fe9a
jle 0x40f65e
cmp esi, 0x279decdc
jle 0x40f73b
cmp esi, 0x2edf8b09
jg 0x40f95c
cmp esi, 0x279decdd
je 0x40f9f6
cmp esi, 0x2b8d5707
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x80]
mov ecx, dword [ecx]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x24]
jmp 0x40f440
cmp esi, 0x9b7a6fb2
jle 0x40f773
cmp esi, 0x9cb548ca
jg 0x40f980
cmp esi, 0x9b7a6fb3
je 0x40fa00
cmp esi, 0x9bbed312
mov ecx, esi
jne 0x40f440
mov ecx, 0xdf1e39d1
jmp 0x40f440
cmp esi, 0x6292cc62
jle 0x40f7ab
cmp esi, 0x76ea8b03
jg 0x40f9a3
cmp esi, 0x6292cc63
je 0x40fa0a
cmp esi, 0x6b993740
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x1c]
jmp 0x40f440
cmp esi, 0xdf1e39d0
jle 0x40f7e7
cmp esi, 0xe84df92c
je 0x40fa69
mov ecx, dword [esp + 0x60]
cmp esi, 0xdf1e39d1
je 0x40f440
cmp esi, 0xe39d5969
mov ecx, esi
jne 0x40f440
mov ecx, 0x8b327fe
jmp 0x40f440
cmp esi, 0x9f29e4d
jg 0x40f818
cmp esi, 0xee995b23
je 0x40fa1a
cmp esi, 0x6168acc
je 0x40fa24
cmp esi, 0x8b327fe
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x2c]
jmp 0x40f440
cmp esi, 0x810dce30
mov ecx, eax
je 0x40f440
mov ecx, dword [esp + 0x54]
cmp esi, 0x838c922c
je 0x40f440
cmp esi, 0x85c6717c
mov ecx, esi
jne 0x40f440
mov ecx, 0xde4f9b86
jmp 0x40f440
cmp esi, 0x35c9823e
mov ecx, ebp
je 0x40f440
mov ecx, dword [esp + 0x6c]
cmp esi, 0x3e4bb1b2
je 0x40f440
cmp esi, 0x415b26da
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x10]
jmp 0x40f440
mov ecx, dword [esp + 0x70]
cmp esi, 0xa576755a
je 0x40f440
mov ecx, dword [esp + 0x68]
cmp esi, 0xb74933c0
je 0x40f440
cmp esi, 0xb7e8f8d6
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x30]
jmp 0x40f440
mov ecx, dword [esp + 0x74]
cmp esi, 0x15a8fe9b
je 0x40f440
mov ecx, dword [esp + 0x5c]
cmp esi, 0x190957e9
je 0x40f440
cmp esi, 0x1b50ce24
mov ecx, esi
jne 0x40f440
mov ecx, 0xa3de24c2
jmp 0x40f440
mov ecx, dword [esp + 0x78]
cmp esi, 0x8d363e37
je 0x40f440
mov ecx, dword [esp + 0x58]
cmp esi, 0x8d8b7a03
je 0x40f440
cmp esi, 0x99eaddec
mov ecx, esi
jne 0x40f440
mov ecx, 0xcb3a460c
jmp 0x40f440
cmp esi, 0x56f6d3bc
mov ecx, edi
je 0x40f440
cmp esi, 0x5ae89bfe
je 0x40fa37
cmp esi, 0x5dc5bf06
mov ecx, esi
jne 0x40f440
mov esi, dword [esp + 0x8c]
mov ecx, 0x6168acc
mov dword [esp], esi
jmp 0x40f440
cmp esi, 0xd2daf378
mov ecx, edx
je 0x40f440
cmp esi, 0xdbb7a338
je 0x40fa41
cmp esi, 0xde4f9b86
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x14]
jmp 0x40f440
cmp esi, 0x9f29e4e
je 0x40fa4b
mov ecx, dword [esp + 0x64]
cmp esi, 0xb422ed4
je 0x40f440
cmp esi, 0xf50491f
mov ecx, esi
jne 0x40f440
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xc]
cmp dword [ebx + 0x14], 0xf
seta byte [esp + 0x8b]
jmp 0x40f440
mov ecx, dword [esp + 0x40]
cmp esi, 0x89cd397b
je 0x40f440
cmp esi, 0x8bf2a7c6
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x80]
mov ecx, 0xb422ed4
jmp 0x40f440
mov ecx, dword [esp + 0x4c]
cmp esi, 0x556390f5
je 0x40f440
cmp esi, 0x56d32bf4
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x18]
jmp 0x40f440
mov ecx, dword [esp + 0x50]
cmp esi, 0xcb3a460c
je 0x40f440
cmp esi, 0xcd93d79a
mov ecx, esi
jne 0x40f440
mov dword [esp + 4], ebx
mov esi, 0x35c9823e
movzx ebx, byte [esp + 0x7e]
mov ch, byte [esp + 0x7f]
xor bl, 1
mov cl, bl
xor cl, ch
xor cl, 1
mov bh, cl
and cl, ch
or bh, bl
or bl, ch
xor cl, 1
mov ch, cl
or cl, bl
xor bh, 1
xor ch, bl
xor cl, 1
or cl, ch
xor cl, bh
mov bl, cl
xor bl, 1
and bl, bh
mov bh, bl
xor bh, cl
test cl, 1
mov ecx, 0x3183ea39
cmovne ecx, esi
mov esi, ebp
mov ebp, edi
mov edi, eax
mov eax, edx
test bl, 1
mov edx, 0x3183ea39
cmove ecx, edx
test bh, 1
mov ebx, dword [esp + 4]
mov edx, eax
mov eax, edi
mov edi, ebp
mov ebp, esi
mov esi, 0x35c9823e
cmovne ecx, esi
jmp 0x40f440
cmp esi, 0x2edf8b0a
je 0x40fa55
cmp esi, 0x3183ea39
mov ecx, esi
jne 0x40f440
mov ecx, 0x35c9823e
jmp 0x40f440
cmp esi, 0x9cb548cb
je 0x40fa5f
cmp esi, 0xa3de24c2
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 8]
jmp 0x40f440
mov ecx, dword [esp + 0x44]
cmp esi, 0x76ea8b04
je 0x40f440
cmp esi, 0x7a9e88d9
mov ecx, esi
jne 0x40f440
mov ecx, dword [esp + 0x80]
mov ecx, 0x6292cc63
jmp 0x40f440
cmp byte [esp + 0x8b], 0
mov ecx, 0x6168acc
mov esi, 0x56d32bf4
cmovne ecx, esi
mov esi, dword [esp + 0x84]
mov dword [esp], esi
jmp 0x40f440
mov ecx, 0x556390f5
jmp 0x40f440
mov ecx, 0x6b993740
jmp 0x40f440
mov ecx, dword [esp + 0x80]
mov ecx, dword [esp + 0x38]
jmp 0x40f440
mov ecx, 0xf50491f
jmp 0x40f440
mov ecx, dword [esp]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x28]
jmp 0x40f440
mov ecx, 0x2b8d5707
jmp 0x40f440
mov ecx, 0xd2daf378
jmp 0x40f440
mov ecx, 0x89cd397b
jmp 0x40f440
mov ecx, 0x415b26da
jmp 0x40f440
mov ecx, 0x8864c5bd
jmp 0x40f440
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.0041c883
mov eax, esi
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret