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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [0x423fd4]
mov ecx, dword [0x423fd8]
mov edi, dword [ebp + 8]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
mov eax, 0x7e034a1d
cmp edx, 0xffffffff
sete byte [ebp - 0x11]
cmp ecx, 0xa
setl byte [ebp - 0x12]
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, 0xcf655d90
nop dword [eax + eax]
cmp eax, 0xf5ff3191
jle 0x401a90
cmp eax, 0x4ce6bb6f
jg 0x401ae0
cmp eax, 0x3042b818
jg 0x401be9
cmp eax, 0xf5ff3192
je 0x401a15
cmp eax, 0xac584f2
jne 0x401a40
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x34], eax
mov eax, 0x35ab4fed
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ecx
cmp eax, 0xf5ff3191
jg 0x401a47
nop word [eax + eax]
cmp eax, 0xcf655d8f
jle 0x401b40
cmp eax, 0xddad748e
jg 0x401c3d
cmp eax, 0xcf655d90
je 0x401d03
cmp eax, 0xd5250126
jne 0x401a40
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
mov eax, 0x8a88bf5d
mov ecx, dword [ebp - 0x64]
jmp 0x401fc8
cmp eax, 0x6c89e40f
jle 0x401ce8
cmp eax, 0x6c89e410
je 0x401db6
cmp eax, 0x7e034a1d
jne 0x401a40
mov al, byte [ebp - 0x11]
mov cl, byte [ebp - 0x12]
mov esi, 0xf4d8066e
mov edx, eax
mov ch, al
xor dl, 1
and dl, cl
xor cl, 1
xor ch, cl
and cl, al
and ch, al
or cl, dl
mov edx, 0x6c89e410
mov al, ch
xor al, cl
test al, 1
cmovne edx, esi
test cl, 1
mov eax, edx
cmovne eax, esi
test ch, 1
jmp 0x401cd5
cmp eax, 0x87133f76
je 0x401dcb
cmp eax, 0x8a88bf5d
je 0x401df6
cmp eax, 0x9f52b129
jne 0x401a40
mov eax, dword [0x423fd4]
mov esi, 0xf5ff3192
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xb3d3c59e
not eax
mov edx, eax
and eax, 0xfffffffe
and edx, 0x4c2c3a61
or edx, ecx
xor edx, 0x4c2c3a60
or eax, edx
mov ecx, eax
and eax, 0x525a306b
not ecx
and ecx, 0xada5cf94
or eax, ecx
mov ecx, dword [0x423fd8]
xor eax, 0x525a306b
sete dl
setne al
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
and dl, ah
and cl, al
or dl, cl
mov cl, ah
xor ah, al
and cl, al
or ah, cl
mov cl, ah
xor cl, dl
test ah, ah
mov eax, 0xcf655d90
cmovne eax, esi
test dl, dl
mov edx, 0xcf655d90
cmove eax, esi
jmp 0x401cd3
cmp eax, 0x3042b819
je 0x401e2d
cmp eax, 0x35ab4fed
jne 0x401a40
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00404cb0
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x38], 0
mov edx, dword [ebp - 0x4c]
mov eax, 0x4ce6bb70
mov ecx, 0xd5250126
cmove eax, ecx
mov dword [ebp - 0x28], edx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
cmp eax, 0xddad748f
je 0x401f97
cmp eax, 0xf4d8066e
jne 0x401a40
push eax
sub esp, 0x14
mov eax, esp
mov esi, 0x6c89e410
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x20]
add eax, edi
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x423fd8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x423fd4]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
cmp edx, 0xffffffff
setne al
sete dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
xor cl, dl
mov dl, ah
xor ah, al
and dl, al
or ah, dl
mov edx, 0x6c24ec48
mov al, ah
xor al, cl
cmovne edx, esi
test ah, ah
mov eax, 0x6c24ec48
cmovne eax, edx
test cl, cl
cmove eax, edx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
cmp eax, 0x6c24ec48
je 0x401fb2
cmp eax, 0x4ce6bb70
jne 0x401a40
jmp 0x40201a
mov eax, dword [ebp - 0x18]
mov esi, 0xac584f2
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x10]
add eax, edi
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x1c]
add ecx, edi
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x60], eax
mov eax, dword [0x423fd4]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x515cd8f9
not eax
mov edx, eax
and eax, 0xfffffffe
and edx, 0xaea32706
or edx, ecx
xor edx, 0xaea32707
or eax, edx
mov ecx, eax
and eax, 0xa88f3c3a
not ecx
and ecx, 0x5770c3c5
or eax, ecx
mov ecx, dword [0x423fd8]
xor eax, 0xa88f3c3a
setne al
sete dl
cmp ecx, 0xa
setl dh
cmp ecx, 9
setg cl
and dh, al
mov ah, cl
and dl, cl
xor cl, al
and ah, al
or dh, dl
or cl, ah
mov eax, ecx
xor al, dh
mov eax, 0xf5ff3192
cmovne esi, eax
test cl, cl
mov eax, 0xac584f2
cmovne eax, esi
test dh, dh
cmove eax, esi
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov eax, 0xf4d8066e
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], 0
add eax, 4
mov dword [ebp - 0x40], eax
mov eax, 0x35ab4fed
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x34], ecx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov eax, dword [ebp - 0x30]
mov edx, 0x3042b819
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x10]
cmp ecx, eax
mov eax, 0xddad748f
cmovb eax, edx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov eax, dword [ebp - 0x20]
mov esi, dword [eax]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
add esi, edi
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x1c]
sub esp, 4
mov al, byte [ebp - 0x24]
mov ecx, edi
mov byte [esp], al
call fcn.00405870
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov dword [ebp - 0x50], edi
mov byte [edi], 0
mov dword [ebp - 0x54], esi
push esi
call fcn.0040ed70
add esp, 4
mov ecx, dword [0x423fdc]
lea esi, [ecx - 1]
imul esi, ecx
mov edx, esi
and esi, 0xb8d9bc65
not edx
mov ecx, edx
and edx, 0xfffffffe
and ecx, 0x4726439a
or ecx, esi
mov esi, 0xb9660c4a
xor ecx, 0x4726439b
or edx, ecx
mov ecx, dword [0x423fe0]
cmp edx, 0xffffffff
setne dl
sete dh
sete byte [ebp - 0x13]
cmp ecx, 9
setg bl
cmp ecx, 0xa
setl cl
setl byte [ebp - 0x14]
and bl, dh
and dl, cl
mov ch, cl
or cl, dh
xor ch, dh
xor cl, 1
or dl, bl
or cl, ch
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x11b8a65b
cmovne ecx, esi
test dl, dl
cmove ecx, esi
test dh, dh
mov edx, 0x11b8a65b
cmove ecx, edx
mov edx, 0x1943034d
nop word cs:[eax + eax]
cmp edx, 0x1943034c
jg 0x401f30
cmp edx, 0xb9660c4a
je 0x401f1d
cmp edx, 0x11b8a65b
jne 0x401f00
jmp 0x401fdb
mov edx, 0x5d923d67
cmp edx, 0x1943034c
jle 0x401f08
nop word [eax + eax]
cmp edx, 0x5d923d67
je 0x401f87
cmp edx, 0x1943034d
jne 0x401f00
movzx edx, byte [ebp - 0x13]
mov dh, byte [ebp - 0x14]
mov esi, 0xb9660c4a
mov edi, 0x5d923d67
mov ebx, edx
mov bh, dl
xor bl, 1
and bl, dh
xor dh, 1
xor bh, dh
and dh, dl
and bh, dl
or dh, bl
mov dl, bh
xor dl, dh
test dl, 1
cmovne esi, edi
test dh, 1
mov edx, esi
cmovne edx, edi
test bh, 1
cmove edx, esi
cmp edx, 0x1943034c
jle 0x401f08
jmp 0x401f30
mov edx, ecx
cmp edx, 0x1943034c
jle 0x401f08
jmp 0x401f30
mov ecx, dword [ebp - 0x48]
mov eax, 0x4ce6bb70
mov dword [ebp - 0x28], ecx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov dword [ebp - 0x3c], 0
mov eax, 0x8a88bf5d
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], ecx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
mov ecx, dword [ebp - 0x50]
push eax
push dword [ebp - 0x54]
call fcn.00405b40
push 0x235
push dword [ebp - 0x1c]
call section..text
add esp, 8
cmp eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, 0x87133f76
mov ecx, 0x9f52b129
cmove eax, ecx
cmp eax, 0xf5ff3191
jg 0x401a47
jmp 0x401a90
add edi, dword [ebp - 0x28]
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret