Function at 0x404b80
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, 0x3aedd723
mov dword [esp + 0x14], eax
mov eax, dword [0x494ea8]
xor eax, esp
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x78]
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 0
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov ebx, 0xc9fbcfe1
nop word cs:[eax + eax]
nop dword [eax]
cmp ebx, 0x2195753f
jg 0x404d50
cmp ebx, 0xa7b611fe
jg 0x404da0
cmp ebx, 0x89c43e78
je 0x404e27
cmp ebx, 0x8b2c5c99
je 0x404e54
cmp ebx, 0x9efa17b5
jne 0x404c10
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [esp + 0x18]
shl eax, 2
mov edx, eax
not edx
mov edi, edx
and edx, eax
and eax, 0x45e00b04
mov ecx, dword [ecx + 0x1c]
and edi, 0xba1ff4f9
or eax, edi
xor eax, 0x45e00b06
mov edi, eax
xor eax, edx
add ecx, dword [esp + 0x58]
and edi, edx
or eax, edi
mov edi, eax
mov ebx, eax
mov edx, eax
xor eax, 0xfffc0003
not edi
xor ebx, 0x2ce9ee35
and edx, 0xd31611ca
and ebx, edi
and edi, 0x3fffc
mov ebp, ebx
or eax, edi
and ebp, edx
xor edx, ebx
mov edi, eax
and eax, 0x1a416603
or edx, ebp
not edi
mov ebx, edx
and edi, 0xe5be99fc
and edx, 0x2cea11c9
not ebx
or eax, edi
and ebx, 0xd315ee36
xor eax, 0x1a416603
or edx, ebx
mov ebx, 0x41e18dff
mov edi, edx
and edi, eax
xor eax, edx
or eax, edi
mov edx, eax
mov edi, eax
and eax, 0xce45bccc
not edx
and edi, 0x11180210
and edx, 0x20a24123
or edi, edx
xor edi, 0x11180210
or eax, edi
mov edx, eax
and eax, 0x31ba4333
not edx
and edx, 0xce45bccc
or eax, edx
mov edx, eax
and eax, 0xee507451
not edx
mov edi, edx
and edi, 0x11af8bae
or eax, edi
xor eax, 0x11af8bae
xor edx, eax
and edx, eax
mov eax, dword [edx + ecx]
mov ecx, 2
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x2c]
cmp ebx, 0x2195753f
jle 0x404c1c
nop dword [eax]
cmp ebx, 0x3efa6a42
jle 0x404dd0
cmp ebx, 0x3efa6a43
je 0x404be5
cmp ebx, 0x41e18dff
je 0x404e72
cmp ebx, 0x561ffe5a
jne 0x404c10
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ebx, 0x41e18dff
xor ecx, ecx
add ebp, 4
mov dword [esp + 0x10], eax
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
cmp ebx, 0xc9fbcfe1
je 0x404ea6
cmp ebx, 0xcfa67154
je 0x405083
cmp ebx, 0xa7b611ff
jne 0x404c10
jmp 0x4051e2
cmp ebx, 0x21957540
je 0x40519a
cmp ebx, 0x3aedd723
jne 0x404c10
mov eax, dword [esp + 0xc]
mov ebx, 0x8b2c5c99
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp]
mov dword [esp + 0x34], eax
mov eax, 0x21957540
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
cmp edi, edx
cmovb ebx, eax
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov eax, dword [esp + 0x28]
mov ebx, 0x3aedd723
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov eax, dword [esp + 0x34]
mov ebx, 0xa7b611ff
mov dword [esp + 4], eax
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], ebp
test ecx, ecx
mov ebx, 0xa7b611ff
mov esi, 0xcfa67154
cmove ebx, esi
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [0x495c78]
lea ebx, [eax - 1]
imul ebx, eax
mov edx, ebx
not edx
mov eax, edx
and edx, ebx
and ebx, 0x54b0b2c6
and eax, 0xab4f4d39
mov esi, edx
and edx, 0x16107666
or ebx, eax
not esi
mov eax, ebx
xor ebx, 0xab4f4d39
mov edi, ebx
xor eax, 0x14103246
or ebx, esi
and esi, 0xe9ef8999
and edi, 0xe9ef8999
and eax, 0x16107666
or edx, esi
not ebx
or eax, edi
xor edx, eax
or ebx, edx
mov edi, ebx
mov edx, ebx
or edi, 0x1b9e3afb
xor edx, 0xe461c504
mov eax, edi
mov esi, edi
and edx, ebx
not eax
and esi, 0xd2ddb1e9
and eax, 0x24204404
or eax, esi
mov esi, edx
and edx, 0x2d224e16
not esi
or edi, esi
and esi, 0xd2ddb1e9
or edx, esi
not edi
xor edx, eax
mov eax, ebx
xor ebx, 0xfffffffe
or edi, edx
not eax
mov edx, edi
and edi, 0xe461c505
and eax, 1
not edx
or ebx, eax
and edx, 0x1b9e3afa
or edi, edx
mov edx, edi
and edi, 0x454ad3d2
not edx
mov eax, edx
or edx, ebx
and eax, 0xbab52c2d
not edx
or edi, eax
mov eax, ebx
and ebx, 0xbab52c2d
not eax
and eax, 0x454ad3d2
or eax, ebx
xor eax, edi
mov edi, 0x89c43e78
or edx, eax
mov eax, edx
or edx, 0x4e32c830
mov esi, edx
not eax
and edx, 0x8ee6008a
not esi
or eax, 0xb1cd37cf
and esi, 0x31093745
or esi, edx
mov edx, eax
and eax, 0x8ee6008a
not edx
and edx, 0x4010c830
or edx, eax
xor edx, esi
mov eax, edx
and edx, 0xbcf83373
not eax
and eax, 0x4307cc8c
or edx, eax
mov eax, edx
xor edx, 0xf2cafb43
xor eax, 0x901009c
mov esi, edx
and esi, 0x9674cc62
and eax, 0x698b339d
or eax, esi
mov esi, 0x3efa6a43
xor eax, 0x698b339d
or eax, edx
cmp eax, 0xffffffff
setne al
sete bl
cmp dword [0x495c7c], 9
mov ah, al
setg dl
xor bl, dl
xor ah, dl
and bl, dl
and al, ah
mov dh, bl
xor bl, ah
xor al, 1
and dh, ah
and ah, dl
mov dl, al
xor ah, 1
or bl, dh
xor dl, ah
or ah, al
xor bl, 1
xor ah, 1
or ah, dl
mov edx, ebx
mov al, ah
xor al, 1
xor dl, al
and al, ah
mov dh, al
xor al, ah
xor dl, 1
and dh, ah
or al, dh
xor al, bl
or bl, ah
xor bl, 1
or bl, dl
mov edx, ebx
xor dl, al
test dl, 1
cmovne edi, esi
test bl, 1
mov ebx, 0x89c43e78
cmovne ebx, edi
test al, 1
cmove ebx, edi
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov edx, dword [0x495c78]
mov ebx, dword [0x495c7c]
lea edi, [edx - 1]
imul edi, edx
mov esi, edi
or edi, 0xef2e95c6
not esi
mov eax, edi
and edi, 0x4e16d181
or esi, 0x10d16a39
not eax
mov edx, esi
and eax, 0x10c12a38
and esi, 0x4e16d181
not edx
or eax, edi
and edx, 0xa1280446
or edx, esi
xor edx, eax
mov eax, edx
and edx, 0xc87aab23
not eax
and eax, 0x378554dc
or edx, eax
mov eax, edx
mov esi, edx
xor edx, 0x5541ee4
xor eax, 0xd8abc11a
xor esi, 0xd8abc11b
and edx, 0x1dd61eec
and esi, eax
and eax, 0xe229e113
or eax, edx
mov edx, esi
xor eax, 0xe229e112
and edx, eax
xor eax, esi
mov esi, 0xc9fbcfe1
or eax, edx
mov edx, eax
and eax, 0x7aa94a84
not edx
and edx, 0x8556b57b
or eax, edx
xor eax, 0x7aa94a84
sete dl
setne al
cmp ebx, 0xa
setl ah
cmp ebx, 9
mov ebx, eax
mov bh, ah
setg dh
or al, ah
and bh, dl
xor dl, ah
and bl, dh
and dl, ah
mov ah, al
or bh, bl
xor ah, dl
xor dl, 1
xor bh, 1
or dl, al
or bh, dh
xor ah, 1
xor dl, 1
xor bh, 1
or dl, ah
xor dl, bh
mov eax, edx
xor al, 1
and al, bh
mov ebx, 0x3efa6a43
mov ah, al
xor ah, dl
test dl, 1
mov edx, 0x3efa6a43
cmovne ebx, esi
test al, 1
cmove ebx, edx
test ah, 1
cmovne ebx, esi
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov edx, dword [esp + 0x18]
mov ebx, 0x561ffe5a
mov eax, 0x9efa17b5
mov edx, dword [edx + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x24]
mov edi, dword [esp + 0x30]
add edx, dword [esp + 0x58]
movzx edx, word [edx + edi*2]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x14]
cmove ebx, eax
cmp ebx, 0x2195753f
jle 0x404c1c
jmp 0x404d50
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x40]
add esi, dword [esp + 0x58]
xor ecx, esp
call fcn.00416765
mov eax, esi
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret