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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
movzx eax, word [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov ebx, 0xc168c6e9
mov dword [esp + 0x14], eax
mov eax, dword [0x472ca0]
xor eax, esp
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], 0
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov ecx, dword [esp + 0x30]
mov ebx, 0xc168c6e9
inc ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
nop word cs:[eax + eax]
nop dword [eax]
cmp ebx, 0xc62750a8
jle 0x404d60
cmp ebx, 0xe5e13121
jg 0x404dd0
cmp ebx, 0xc62750a9
je 0x404e2e
cmp ebx, 0xcc5cdbf2
je 0x40501b
cmp ebx, 0xe5570a6e
jne 0x404ce0
mov ecx, dword [esp + 0x1c]
mov ebx, 0xe5e13122
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x24]
mov edx, dword [esp + 0x30]
add ecx, dword [esp + 0x58]
movzx ecx, word [ecx + edx*2]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x14]
mov ecx, 0xbd266774
cmove ebx, ecx
cmp ebx, 0xc62750a8
jg 0x404ce8
nop word cs:[eax + eax]
nop dword [eax]
cmp ebx, 0xb6d08ec9
jle 0x404e00
cmp ebx, 0xb6d08eca
je 0x40504f
cmp ebx, 0xbd266774
je 0x405158
cmp ebx, 0xc168c6e9
jne 0x404ce0
mov ecx, dword [esp + 0xc]
mov ebx, 0xb6d08eca
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
cmp edx, ecx
mov edx, 0xe5570a6e
cmovb ebx, edx
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
cmp ebx, 0xe5e13122
je 0x40526c
cmp ebx, 0xe9158565
je 0x405293
cmp ebx, 0x7903e2f
jne 0x404ce0
jmp 0x4052b1
cmp ebx, 0x9b5ec5c7
je 0x404cb5
cmp ebx, 0xab1a88b1
jne 0x404ce0
mov ebx, 0xc62750a9
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov ecx, dword [0x4735dc]
mov dword [esp + 0x18], eax
mov eax, edi
lea edx, [ecx - 1]
imul edx, ecx
mov ebx, edx
xor ebx, 0xb4db67eb
and ebx, edx
not edx
and edx, 0xb4db67eb
mov ecx, edx
and ecx, ebx
xor ebx, edx
or ebx, ecx
mov ecx, ebx
and ebx, 0x92e3c814
not ecx
and ecx, 0x6d1c37eb
or ebx, ecx
mov edi, ebx
mov edx, ebx
xor ebx, 0x78f2fec4
xor edi, 0xd9c75000
xor edx, 0x2018a72e
and ebx, edi
mov ecx, edi
and edx, 0xe919f72e
mov ebp, ebx
or ecx, 0x5eca513b
and ebx, 0x89480484
not ebp
mov esi, ebp
or ebp, ecx
and esi, 0x76b7fb7b
not ebp
or ebx, esi
mov esi, ecx
and ecx, 0x76b7fb7b
not esi
and esi, 0x81000484
or esi, ecx
xor esi, ebx
or ebp, esi
mov ecx, ebp
and ebp, 0x539756dd
not ecx
and ecx, 0xac68a922
or ebp, ecx
mov ecx, edi
and edi, 1
and ecx, 0x16e608d1
or ecx, edx
mov edx, ebp
xor ebp, 0xf2a2f818
xor ecx, 0xe919f72f
xor edx, 0x15d0082
or edi, ecx
mov ecx, ebp
and edx, 0xc37fc882
and ecx, 0x3c80377d
or ebp, edi
or edx, ecx
mov ecx, edi
and edi, 0x3c80377d
not ebp
not ecx
and ecx, 0xc37fc882
or ecx, edi
xor ecx, edx
or ebp, ecx
mov edx, ebp
mov ecx, ebp
xor edx, 0x897e662e
and ecx, 0x1246202
and edx, ebp
not ebp
and ebp, 0x885a042c
or ecx, ebp
mov esi, ecx
xor ecx, 0xfedb9dfd
xor esi, 0x44202
mov edi, ecx
and edi, 0x77e231a9
and esi, 0x881c4606
or esi, edi
mov edi, edx
and edx, 0x881dce56
not edi
or ecx, edi
and edi, 0x77e231a9
or edx, edi
not ecx
mov edi, eax
mov eax, dword [esp + 0x18]
xor edx, esi
mov esi, 0xab1a88b1
or ecx, edx
mov edx, ecx
and ecx, 0x897e662e
not edx
and edx, 0x768199d1
or ecx, edx
mov edx, ecx
and ecx, 0x218440d5
not edx
and edx, 0xde7bbf2a
or edx, ecx
mov ecx, dword [0x4735e0]
xor edx, 0xde7bbf2a
sete dl
setne dh
cmp ecx, 0xa
setl bl
cmp ecx, 9
mov ch, dh
setg cl
or dh, bl
and bl, dl
and ch, cl
or bl, ch
xor bl, 1
or bl, cl
or cl, dl
mov dl, dh
xor dl, cl
or cl, dh
xor bl, 1
xor cl, 1
or cl, dl
mov edx, ebx
xor dl, cl
or cl, bl
mov ebx, 0xe9158565
xor cl, 1
or cl, dl
mov ch, cl
xor ch, dl
test cl, 1
cmovne ebx, esi
test dl, 1
mov edx, 0xe9158565
cmove ebx, esi
test ch, 1
cmove ebx, edx
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
test edi, edi
mov ebx, 0x7903e2f
mov esi, 0x9b5ec5c7
cmove ebx, esi
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov edx, dword [0x4735dc]
mov ecx, dword [0x4735e0]
mov esi, 0xab1a88b1
lea ebx, [edx - 1]
imul ebx, edx
mov edx, ebx
and ebx, 0xad8948c6
not edx
and edx, 0x5276b739
or ebx, edx
mov edx, ebx
mov ebp, ebx
xor ebx, 0xad8948c7
xor ebp, 0x5276b738
xor edx, 0xad8948c6
and ebx, edx
and ebp, 0xfffffffe
and edx, 1
or edx, ebp
mov ebp, ebx
and ebp, edx
xor edx, ebx
or edx, ebp
mov ebx, edx
and edx, 0x8ffa8c48
not ebx
and ebx, 0x700573b7
or edx, ebx
mov ebx, edx
xor edx, 0x60052230
xor ebx, 0xa928840
and edx, 0xe56d2638
and ebx, 0x1a92d9c7
or ebx, edx
mov edx, ebx
xor ebx, 0x1a92d9c7
xor edx, 0xe4042638
mov ebp, ebx
and ebp, 0x3f98046
and edx, 0xfc067fb9
or edx, ebp
mov ebp, 0xc62750a9
xor edx, 0x3f98046
xor ebx, edx
test ebx, edx
sete dl
setne dh
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
and bl, dh
mov ch, cl
and dl, cl
xor cl, dh
and ch, dh
or bl, dl
or cl, ch
mov edx, ebx
mov ch, cl
xor dl, 1
and bl, cl
not ch
or cl, dl
and dl, ch
mov ch, cl
or dl, bl
xor ch, dl
test ch, 1
cmovne ebp, esi
test dl, dl
mov edx, 0xc62750a9
mov ebx, ebp
cmovne ebx, edx
test cl, cl
cmovne ebx, ebp
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov eax, dword [esp + 0x1c]
shl ecx, 2
mov edx, ecx
mov ebx, ecx
not edx
and ebx, 0xcf8f9f30
mov esi, edx
and edx, 0x307060cc
mov eax, dword [eax + 0x1c]
and esi, ecx
or edx, ebx
mov edi, esi
and esi, 0x307060cc
not edi
or ecx, edi
and edi, 0xcf8f9f33
add eax, dword [esp + 0x58]
or esi, edi
not ecx
xor esi, edx
or ecx, esi
mov ebx, ecx
mov edx, ecx
xor ebx, 0x3fffc
not edx
and ebx, ecx
and edx, 0x30153ae9
and ecx, 0xcfeac516
or ecx, edx
mov edx, ebx
and ebx, 0x51d0a222
mov esi, ecx
not edx
xor ecx, 0x3016c515
mov edi, edx
xor esi, 0x41c02222
or edx, ecx
and ecx, 0xae2f5ddd
and esi, 0x51d0a222
and edi, 0xae2f5ddd
not edx
or ebx, edi
or esi, ecx
mov edi, 2
xor esi, ebx
mov ebx, 0xcc5cdbf2
or edx, esi
mov ecx, edx
and edx, 0x11c23293
not ecx
and ecx, 0xee3dcd6c
or edx, ecx
mov ecx, edx
xor edx, 0x2a100848
xor ecx, 0x1423001
and edx, 0x3a900ada
and ecx, 0xc56ff525
or ecx, edx
mov edx, ecx
xor ecx, 0x40f0100
xor edx, 0x3a900ada
and ecx, 0x240f0110
and edx, 0xdbf0feef
or edx, ecx
xor edx, 0x240f0110
mov eax, dword [edx + eax]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov ebx, 0xcc5cdbf2
xor edi, edi
add eax, 4
mov dword [esp + 0x10], ecx
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov ecx, dword [esp + 0x34]
mov ebx, 0x7903e2f
mov dword [esp + 4], ecx
cmp ebx, 0xc62750a8
jg 0x404ce8
jmp 0x404d60
mov esi, dword [esp + 0x58]
add esi, dword [esp + 4]
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.0040a6c4
mov eax, esi
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret