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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [0x4255e0]
mov ecx, dword [esp + 0x7c]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 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 + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov eax, 0xbb142fcf
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, 0x1b436456
nop dword [eax + eax]
cmp eax, 0x8ac8661
jle 0x404da0
cmp eax, 0x1c77f4d8
jle 0x404e00
cmp eax, 0x52733b5a
jg 0x404f7f
cmp eax, 0x1c77f4d9
je 0x404ff8
cmp eax, 0x4efd1d03
jne 0x404d40
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x14], 0
mov eax, 0x106d3cf3
mov ecx, dword [esp + 0x34]
add edi, 4
mov dword [esp + 0x10], ecx
cmp eax, 0x8ac8661
jg 0x404d47
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xdad7ab2f
jle 0x404f20
cmp eax, 0xe944b096
jle 0x404fdd
cmp eax, 0xe944b097
je 0x405015
cmp eax, 0x6be873e
jne 0x404d40
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, 0xbb142fcf
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
cmp eax, 0x8ac8662
je 0x405057
cmp eax, 0x106d3cf3
je 0x4051e1
cmp eax, 0x1b436456
jne 0x404d40
mov eax, dword [esp + 0x40]
mov ebx, 0xe3951a18
add eax, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
mov eax, dword [0x425f34]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x9191054
not eax
mov edx, eax
mov esi, eax
and edx, 0xa2062201
or esi, 0xab1f3255
or ecx, edx
mov edx, ecx
xor ecx, 0xe060c821
xor edx, 0x9081040
and ecx, 0xe071c835
and edx, 0xb0e3240
or edx, ecx
mov ecx, esi
and esi, 0xe071c835
not ecx
and ecx, 0x1480058a
or ecx, esi
mov esi, 0xdad7ab30
xor ecx, edx
mov edx, ecx
and ecx, 0xab1f3254
not edx
and edx, 0x54e0cdab
or ecx, edx
not ecx
mov edx, ecx
xor ecx, eax
and edx, eax
mov eax, dword [0x425f38]
or ecx, edx
cmp ecx, 0xffffffff
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
mov ah, ch
xor ch, dl
and dl, al
or al, cl
and ah, cl
xor al, 1
or ah, dl
or al, ch
mov cl, ah
mov dl, ah
xor al, 1
and cl, al
xor al, ah
or al, cl
mov ecx, eax
xor dl, al
and al, ah
and dl, ah
not cl
xor ah, 1
and ah, cl
mov ecx, edx
or al, ah
xor cl, al
test al, al
mov eax, 0xe3951a18
cmovne eax, esi
test dl, dl
cmove eax, ebx
test cl, 1
cmovne eax, esi
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
cmp eax, 0x8c91a4b3
je 0x40551f
cmp eax, 0x8dede4ea
je 0x40554c
cmp eax, 0xbb142fcf
jne 0x404d40
mov eax, dword [esp + 8]
mov edx, 0xe944b097
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
mov eax, 0x1c77f4d9
cmovb eax, edx
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
cmp eax, 0x52733b5b
je 0x40565e
cmp eax, 0x6b884aee
jne 0x404d40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x7c]
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [esp + 0x30]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], 2
mov ecx, dword [ecx + 0x1c]
add ecx, edx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x10], eax
mov eax, 0x106d3cf3
mov edi, dword [esp + 0x2c]
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
cmp eax, 0xe3951a18
je 0x404d1b
cmp eax, 0xdad7ab30
jne 0x404d40
jmp 0x405805
mov ecx, dword [esp + 0x34]
mov eax, 0x52733b5b
mov dword [esp + 0xc], ecx
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov eax, dword [esp + 0x2c]
lea esi, [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x20]
mov ecx, esi
add eax, dword [esp + 0x7c]
push eax
call fcn.00405820
push 0x235
push esi
call fcn.00402bd0
add esp, 8
cmp eax, dword [esp + 0x80]
mov eax, 0x4efd1d03
mov ecx, 0x6b884aee
jmp 0x4051ce
mov eax, dword [0x425f34]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
and ecx, 0xeefce335
not eax
and edx, 0x1020042
and eax, 0x10011c88
or edx, eax
xor edx, 0x1020042
or ecx, edx
mov eax, ecx
and ecx, 0xac6130c5
not eax
and eax, 0x539ecf3a
or ecx, eax
mov ebx, ecx
mov eax, ecx
xor ecx, 0xde924508
xor eax, 0x429dd3f0
mov ebp, ecx
xor ebx, 0xbd622c0f
and ebp, eax
and ecx, ebx
and ebx, 0x2738b1aa
mov edx, ebp
and ebp, 0x2dff5fb5
not edx
mov esi, edx
and esi, 0xd200a04a
or ebp, esi
mov esi, ecx
and ecx, 0x2dff5fb5
not esi
or edx, esi
and esi, 0xd200a04a
or ecx, esi
not edx
mov esi, 0x8c91a4b3
xor ecx, ebp
or edx, ecx
mov ecx, edx
and edx, 0x63f06906
not ecx
and ecx, 0x9c0f96f9
or edx, ecx
mov ecx, eax
and eax, 1
and ecx, 0xd8c74e55
or ecx, ebx
xor ecx, 0x2738b1ab
or eax, ecx
mov ecx, edx
not eax
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0xe40a2c5c
not ecx
and edx, 0x96010a2
and ecx, 0x1295c301
or edx, ecx
xor edx, 0x96010a2
or eax, edx
mov ecx, eax
and eax, 0x714e9c41
not ecx
and ecx, 0x8eb163be
or eax, ecx
mov ecx, eax
xor eax, 0x9544b01d
xor ecx, 0x2930b60
mov edx, eax
and edx, 0xe868d48a
and ecx, 0x17972b75
or ecx, edx
xor ecx, 0xe868d48a
xor eax, ecx
test eax, ecx
mov eax, dword [0x425f38]
sete cl
setne dl
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
and cl, ch
mov ah, al
xor ah, dl
and dl, al
or cl, dl
xor ah, 1
mov edx, ecx
or ah, ch
mov al, cl
and al, ah
xor dl, 1
xor ah, 1
and dl, ah
or dl, al
mov al, ah
or ah, cl
xor al, cl
xor ah, 1
mov ecx, 0x8dede4ea
or ah, al
mov al, ah
xor al, dl
test al, 1
cmovne ecx, esi
test ah, 1
mov eax, 0x8dede4ea
cmovne eax, ecx
test dl, dl
cmove eax, ecx
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov eax, 0x66fed550
nop
cmp eax, 0x97af7986
je 0x405260
cmp eax, 0x97b72921
je 0x405233
cmp eax, 0x66fed550
jne 0x405200
mov eax, dword [esp + 0x44]
mov ecx, 0x97b72921
cmp dword [eax + 0x14], 0xf
mov eax, 0x97af7986
cmova eax, ecx
cmp eax, 0x97af7986
jne 0x405207
jmp 0x405260
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x4c]
mov esi, dword [eax]
call fcn.004083b0
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x14]
inc eax
push eax
push esi
call fcn.00408af0
add esp, 8
mov eax, 0x97af7986
cmp eax, 0x97af7986
jne 0x405207
mov eax, dword [esp + 0x44]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x44]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x44]
mov byte [eax], 0
mov ecx, dword [0x425f3c]
mov eax, dword [0x425f40]
lea edx, [ecx - 1]
imul edx, ecx
mov esi, edx
or edx, 0x2a086084
not esi
and edx, 0x6faa63a6
mov ebx, esi
and esi, 0x80150459
or ebx, 0xc5b7077b
or esi, edx
mov ecx, ebx
and ebx, 0x6faa63a6
not ecx
and ecx, 0x10409800
or ecx, ebx
xor ecx, esi
mov edx, ecx
and ecx, 0xc5b7077b
not edx
and edx, 0x3a48f884
or ecx, edx
mov esi, ecx
mov edx, ecx
xor esi, 1
not edx
and esi, ecx
and edx, 0xea7e859d
and ecx, 0x15817a62
or ecx, edx
mov edx, esi
and esi, 0x17010ea2
mov ebx, ecx
not edx
xor ecx, 0xea7e859c
mov ebp, edx
xor ebx, 0x15010a22
or edx, ecx
and ecx, 0xe8fef15d
and ebx, 0x17010ea2
and ebp, 0xe8fef15d
not edx
or esi, ebp
or ebx, ecx
mov ebp, 0xe24fba7a
xor ebx, esi
or edx, ebx
mov ecx, edx
and edx, 0x602c1a33
not ecx
and ecx, 0x9fd3e5cc
or edx, ecx
mov ecx, edx
and edx, 0x9fd3e5cc
not ecx
and ecx, 0x602c1a33
or edx, ecx
mov ecx, edx
and edx, 0x16b24140
not ecx
mov esi, ecx
and esi, 0xe94dbebf
or edx, esi
mov esi, 0xe24fba7a
xor edx, 0x16b24140
or edx, ecx
cmp edx, 0xffffffff
sete ch
setne dl
sete byte [esp + 0x4b]
cmp eax, 9
setg cl
cmp eax, 0xa
mov al, ch
mov dh, ch
setl ah
setl byte [esp + 0x44]
xor al, cl
or dh, cl
not al
and dl, ah
or ah, ch
xor dh, 1
and al, cl
and cl, ch
xor ah, 1
mov bl, dh
or cl, dl
mov dl, ah
and bl, al
xor al, dh
and dl, cl
xor cl, ah
or al, bl
or cl, dl
mov edx, ecx
xor dl, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov ah, al
mov edx, ecx
xor ah, 1
mov ch, ah
xor dl, 1
mov bl, ah
mov dh, dl
and ch, al
and bl, ch
xor ch, ah
and dh, cl
mov ah, dl
and ah, dh
xor dh, dl
or ch, bl
mov ebx, 0x63cfbb18
or dh, ah
xor dh, ch
mov ch, al
xor ch, cl
or cl, al
xor cl, 1
or cl, ch
mov eax, ecx
xor al, dh
test al, 1
cmovne esi, ebx
test cl, 1
mov ecx, 0xa1afb9ac
cmovne ebp, esi
test dh, 1
cmove ebp, esi
nop word cs:[eax + eax]
nop
cmp ecx, 0xe24fba79
jg 0x405450
cmp ecx, 0xa1afb9ac
je 0x405473
cmp ecx, 0xaa7e60e8
jne 0x405420
mov ecx, ebp
cmp ecx, 0xe24fba79
jle 0x405428
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0xe24fba7a
je 0x4057d7
cmp ecx, 0x63cfbb18
jne 0x405420
mov ecx, 0xaa7e60e8
cmp ecx, 0xe24fba79
jle 0x405428
jmp 0x405450
movzx edx, byte [esp + 0x4b]
mov ch, byte [esp + 0x44]
mov esi, 0xaa7e60e8
mov dh, dl
xor dh, 1
mov cl, dh
mov bl, dh
and cl, dl
xor bl, cl
xor cl, 1
or cl, dl
mov dl, ch
xor cl, 1
or cl, bl
mov ebx, ecx
xor dl, cl
xor bl, 1
or bl, cl
and cl, dl
xor dl, 1
mov bh, bl
mov eax, ebx
xor bh, 1
and bh, bl
and al, bh
xor bh, bl
or bh, al
mov eax, ebx
xor bl, dh
and al, dh
xor bh, dh
mov dh, cl
or bl, al
mov al, bh
and dh, dl
xor dl, cl
xor bl, 1
or dl, dh
and al, bl
xor bl, bh
mov cl, dl
or bl, al
mov al, ch
xor al, bl
and ch, al
and al, bl
mov ebx, 0x63cfbb18
mov ah, ch
and ah, al
xor al, ch
or al, ah
xor cl, al
xor al, 1
or al, dl
xor cl, 1
mov edx, eax
xor dl, cl
test cl, 1
mov ecx, 0x63cfbb18
cmovne ecx, esi
test al, 1
cmovne ecx, ebx
test dl, 1
cmove ecx, esi
cmp ecx, 0xe24fba79
jle 0x405428
jmp 0x405450
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 eax, 0x8dede4ea
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov eax, dword [esp + 0x30]
mov edx, dword [0x425f34]
mov ecx, dword [0x425f38]
inc eax
mov dword [esp + 0x24], eax
lea eax, [edx - 1]
imul eax, edx
mov edx, eax
mov ebx, eax
and eax, 0x43ed6418
not edx
and ebx, 0xd6722b62
mov esi, edx
mov ebp, edx
and edx, 0xbc129be7
and esi, 0x298dd49c
or ebp, 0x988423fa
or eax, edx
or ebx, esi
and ebp, 0x988423fb
mov edx, eax
xor eax, 0xbc129be7
mov esi, ebx
xor ebx, 0x8840099
xor edx, 0x43ed6418
xor esi, 0x46720800
and ebx, 0x988423fb
and esi, 0x677bdc04
or esi, ebx
xor ebp, esi
mov esi, 0x6be873e
and eax, ebp
not ebp
and edx, ebp
or eax, edx
xor ebp, eax
test ebp, eax
sete dl
setne al
cmp ecx, 0xa
setl ah
cmp ecx, 9
mov ecx, eax
setg ch
xor cl, ch
mov dh, cl
and cl, ch
and ch, dl
and dh, al
and al, ah
or al, ch
mov ch, ah
xor ah, dl
mov bl, dh
xor dh, cl
xor cl, 1
and ch, dl
xor bl, 1
or ah, ch
or cl, bl
mov dl, ah
xor cl, 1
xor dl, al
xor al, 1
or cl, dh
or al, ah
xor dl, 1
mov ch, cl
xor al, 1
or al, dl
mov edx, eax
xor ch, al
and al, cl
and ch, cl
xor dl, 1
xor cl, 1
and cl, dl
mov dl, ch
or al, cl
xor dl, al
test dl, 1
mov edx, 0x8c91a4b3
cmovne edx, esi
test al, 1
mov eax, edx
cmovne eax, esi
test ch, 1
cmove eax, edx
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov eax, dword [0x425f34]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
or ecx, 0x6aed5018
not edx
mov esi, ecx
and ecx, 0x68f43a18
or edx, 0x9512afe7
not esi
mov eax, edx
and esi, 0x950285e7
and edx, 0x68f43a18
not eax
or esi, ecx
and eax, 0x2094000
or eax, edx
xor eax, esi
mov ecx, eax
and eax, 0x8071ed64
not ecx
and ecx, 0x7f8e129b
or eax, ecx
mov esi, eax
mov edx, eax
mov ecx, eax
xor eax, 0xea9cbd7d
xor esi, 0xea9cbd7c
xor edx, 0x15634283
xor ecx, 0xc69b816c
mov ebx, esi
and ecx, edx
and esi, 1
and ebx, 0xd3f8c3ef
or eax, esi
mov edx, ebx
and edx, ecx
xor ecx, ebx
or ecx, edx
mov edx, ecx
and ecx, 0x11b3c71a
not edx
and edx, 0xee4c38e5
or ecx, edx
mov edx, ecx
xor ecx, 0x3db4fb0b
mov esi, ecx
xor edx, 0xc0080474
or ecx, eax
and esi, 0x27572b80
and edx, 0xd8a8d47f
not ecx
or edx, esi
mov esi, eax
and eax, 0x27572b80
not esi
and esi, 0xd8a8d47f
or esi, eax
xor esi, edx
or ecx, esi
mov esi, 0x1b436456
mov eax, ecx
and ecx, 0xda9b120b
not eax
and eax, 0x2564edf4
or ecx, eax
mov eax, ecx
xor ecx, 0x2564edf4
xor eax, 0x42090009
mov edx, ecx
and edx, 0xb9f25b46
and eax, 0x460da4b9
or eax, edx
xor eax, 0xb9f25b46
xor ecx, eax
test ecx, eax
mov eax, dword [0x425f38]
setne cl
sete dl
cmp eax, 9
setg ch
cmp eax, 0xa
setl dh
and ch, dl
mov al, dh
and cl, dh
or dh, dl
xor al, dl
xor dh, 1
or ch, cl
or dh, al
mov cl, ch
mov al, dh
xor cl, 1
and ch, dh
not al
or dh, cl
and cl, al
mov al, dh
or cl, ch
xor al, cl
test al, 1
mov eax, 0xe3951a18
cmovne esi, eax
test cl, cl
mov ecx, 0x1b436456
mov eax, esi
cmovne eax, ecx
test dh, dh
mov edx, dword [esp + 0xc]
cmovne eax, esi
mov dword [esp + 0x40], edx
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], 0
mov edx, dword [esp + 0x3c]
mov eax, 0x52733b5b
mov ecx, 0x8ac8662
cmove eax, ecx
mov dword [esp + 0xc], edx
cmp eax, 0x8ac8661
jg 0x404d47
jmp 0x404da0
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.0040ed03
mov eax, esi
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret