Function at 0x4041b0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x98
mov eax, dword [0x44e82c]
lea esi, [esp + 0x24]
lea edi, [esp + 0xac]
mov ebx, 0x2b42b074
xor eax, esp
mov dword [esp + 0x94], eax
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
lea eax, [esp + 0x28]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
cmp dword [eax], 0
mov eax, 0xd519cdde
setne byte [esp + 0x63]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x2b42b073
jg 0x404250
cmp eax, 0xd519cdde
je 0x404237
cmp eax, 0xf0a64b1e
jne 0x404220
jmp 0x404290
mov dword [esp + 0x64], edi
mov eax, 0x54a79cbc
cmp byte [esp + 0x63], 0
cmovne eax, ebx
cmp eax, 0x2b42b073
jle 0x404227
nop
cmp eax, 0x2b42b074
je 0x404271
cmp eax, 0x54a79cbc
jne 0x404220
mov eax, dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x64]
push dword [eax]
call fcn.00407140
jmp 0x404282
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x28], 4
mov eax, 0xf0a64b1e
cmp eax, 0x2b42b073
jle 0x404227
jmp 0x404250
mov eax, dword [esp + 0x28]
mov esi, 0xf
sub eax, dword [esp + 0x24]
sar eax, 2
mov dword [esp + 0x34], eax
mov eax, 0x4f1431ad
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
mov eax, dword [0x44f558]
mov ecx, dword [0x44f55c]
mov edi, 0x12f37a1
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
mov eax, edx
and edx, 0x3408ae5d
not eax
and eax, 0xcbf751a2
or edx, eax
xor edx, 0x3408ae5d
setne al
sete dl
cmp ecx, 0xa
setl dh
cmp ecx, 9
setg cl
and dh, al
and dl, cl
or dh, dl
mov dl, cl
xor cl, al
and dl, al
or cl, dl
mov eax, ecx
xor al, dh
mov eax, 0x79300072
cmovne edi, eax
test cl, cl
mov eax, 0x12f37a1
cmovne eax, edi
test dh, dh
cmove eax, edi
nop dword [eax]
cmp eax, 0x1ea9c7b2
jle 0x404380
cmp eax, 0x5b3199df
jg 0x4043e0
cmp eax, 0x4845aeca
jg 0x40446a
cmp eax, 0x1ea9c7b3
je 0x404551
cmp eax, 0x2e5929ba
jne 0x404330
mov eax, 0x5b3199e0
mov dword [esp + 0x14], 1
mov dword [esp + 0x1c], 0xffffffff
cmp eax, 0x1ea9c7b2
jg 0x404337
nop dword [eax + eax]
cmp eax, 0xed56fa98
jle 0x404410
cmp eax, 0x12f37a0
jg 0x404494
cmp eax, 0xed56fa99
je 0x404724
cmp eax, 0xfbe326dd
jne 0x404330
push dword [esp + 0x50]
push dword [esp + 0x58]
call fcn.00403d40
add esp, 8
mov eax, 0x5b3199e0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
cmp eax, 0x79300071
jle 0x404536
cmp eax, 0x79300072
je 0x404740
cmp eax, 0x7978ee44
jne 0x404330
jmp 0x4042b9
cmp eax, 0x920de347
je 0x4047b7
cmp eax, 0xdc6bfb3d
je 0x4047fe
cmp eax, 0xe9db4750
jne 0x404330
mov eax, dword [esp + 0x58]
add eax, 0x28
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], eax
mov eax, 0x920de347
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
cmp eax, 0x4845aecb
je 0x404833
cmp eax, 0x4f1431ad
jne 0x404330
cmp dword [esp + 0x34], 0
mov eax, 0x1089216f
mov ecx, 0xed56fa99
jmp 0x404523
cmp eax, 0x12f37a1
je 0x404862
cmp eax, 0x1089216f
jne 0x404330
mov eax, dword [esp + 0x24]
mov ecx, 0x450268
push dword [eax]
call fcn.00404bd0
lea ebx, [esp + 0x7c]
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0xb0]
mov edi, dword [eax]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], 0
push edi
call fcn.0042ca10
add esp, 4
mov ecx, ebx
push eax
push edi
call fcn.00405c90
mov ecx, ebx
call fcn.00405960
push 0x448b33
push eax
call fcn.0042b2f6
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, 0x7978ee44
mov ecx, 0x2e5929ba
cmp dword [esp + 0x3c], 0
cmove eax, ecx
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
cmp eax, 0x5b3199e0
je 0x40494a
cmp eax, 0x6f952b58
jne 0x404330
jmp 0x404ba7
mov edi, dword [esp + 0x58]
mov dword [esp + 0x64], 0
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], 0
push edi
call fcn.0042ca10
add esp, 4
lea ebx, [esp + 0x64]
mov ecx, ebx
push eax
push edi
call fcn.00405c90
push 0x235
push ebx
call fcn.00402de0
add esp, 8
mov dword [esp + 0x5c], ebx
mov ebp, eax
mov eax, dword [esp + 0x5c]
mov eax, 0x5c86573e
nop dword [eax]
cmp eax, 0xabac62fb
je 0x4046fb
cmp eax, 0xeb4c9b95
je 0x404b0d
cmp eax, 0x5c86573e
jne 0x4045a0
mov eax, dword [esp + 0x5c]
mov ecx, dword [0x44f540]
mov edx, dword [0x44f544]
lea edi, [ecx - 1]
imul edi, ecx
mov ecx, edi
and edi, 1
not ecx
mov ebx, ecx
and ebx, 0xfffffffe
or edi, ebx
mov ebx, 0xdb26e4c3
xor ecx, edi
test ecx, edi
mov edi, 0xa45fe795
sete cl
sete byte [esp + 0x61]
cmp edx, 0xa
setl dl
setl byte [esp + 0x62]
xor cl, dl
mov dh, cl
not dh
and dh, dl
mov dl, dh
xor dl, cl
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dh, dh
mov edx, 0xb6ec62b
cmove ecx, edi
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0xb6ec62a
jg 0x404660
cmp edx, 0xa45fe795
je 0x40464d
cmp edx, 0xdb26e4c3
jne 0x404630
jmp 0x4046de
mov edx, 0x39fa579a
cmp edx, 0xb6ec62a
jle 0x404638
nop word [eax + eax]
cmp edx, 0x39fa579a
je 0x4046c5
cmp edx, 0xb6ec62b
jne 0x404630
movzx ebx, byte [esp + 0x61]
movzx edx, byte [esp + 0x62]
mov edi, 0x39fa579a
mov dh, bl
mov bh, dl
xor dh, 1
xor bh, 1
and dl, dh
and bl, bh
or bl, dl
mov dl, dh
and dl, bh
xor bh, dh
or bh, dl
mov dl, bh
xor dl, bl
test dl, 1
mov edx, 0xa45fe795
cmovne edi, edx
test bh, 1
mov edx, 0x39fa579a
cmovne edx, edi
test bl, 1
cmove edx, edi
cmp edx, 0xb6ec62a
jle 0x404638
jmp 0x404660
cmp dword [eax + 0x14], 0xf
mov edx, ecx
seta byte [esp + 0x63]
cmp edx, 0xb6ec62a
jle 0x404638
jmp 0x404660
cmp byte [esp + 0x63], 0
mov eax, 0xeb4c9b95
mov ecx, 0xabac62fb
cmovne eax, ecx
cmp eax, 0xabac62fb
jne 0x4045ab
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.00405670
add esp, 8
mov eax, 0xeb4c9b95
cmp eax, 0xabac62fb
jne 0x4045ab
jmp 0x4046fb
mov eax, 0x6f952b58
mov dword [esp], 0
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
push 2
push 0
push dword [esp + 0x44]
call fcn.00429f54
add esp, 0xc
push dword [esp + 0x3c]
call fcn.0042b9bd
add esp, 4
mov edi, eax
push dword [esp + 0x3c]
call fcn.0042ac8e
add esp, 4
lea ecx, [esp + 0x7c]
call fcn.00405960
push 0x448b33
push eax
call fcn.0042b2f6
add esp, 8
mov ebp, eax
push edi
call fcn.0042c51c
add esp, 4
push ebp
push edi
push 1
push eax
call fcn.0042b677
add esp, 0x10
push ebp
call fcn.0042ac8e
add esp, 4
mov eax, 0x12f37a1
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
mov eax, dword [esp + 0x20]
mov edx, 0x1ea9c7b3
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
mov eax, 0xfbe326dd
cmovl eax, edx
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
mov dword [esp + 0x20], 0
mov eax, 0x920de347
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], ecx
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x14]
add eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, 0xe9db4750
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
push 2
push 0
push dword [esp + 0x44]
call fcn.00429f54
add esp, 0xc
push dword [esp + 0x3c]
call fcn.0042b9bd
add esp, 4
mov ebp, eax
push dword [esp + 0x3c]
call fcn.0042ac8e
add esp, 4
lea ecx, [esp + 0x7c]
call fcn.00405960
push 0x448b33
push eax
call fcn.0042b2f6
add esp, 8
mov edi, eax
push ebp
call fcn.0042c51c
add esp, 4
mov dword [esp + 0x40], eax
push edi
push ebp
push 1
push dword [esp + 0x4c]
call fcn.0042b677
add esp, 0x10
push edi
call fcn.0042ac8e
add esp, 4
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 0x40]
movzx edx, word [ecx + eax + 6]
lea eax, [ecx + eax + 0xf8]
mov ecx, dword [0x44f55c]
mov dword [esp + 0x48], eax
mov eax, dword [0x44f558]
mov dword [esp + 0x44], edx
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 1
not eax
mov edi, eax
and edi, 0xfffffffe
or edx, edi
mov edi, 0xdc6bfb3d
xor eax, edx
test eax, edx
setne al
sete dl
cmp ecx, 0xa
setl dh
cmp ecx, 9
setg cl
and dh, al
and dl, cl
or dh, dl
mov dl, cl
xor cl, al
and dl, al
or cl, dl
mov eax, ecx
xor al, dh
mov eax, 0x79300072
cmovne edi, eax
test cl, cl
mov eax, 0xdc6bfb3d
jmp 0x404325
lea eax, [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
mov eax, 0x5c86573e
nop dword [eax + eax]
cmp eax, 0xabac62fb
je 0x404ae4
cmp eax, 0xeb4c9b95
je 0x404b5d
cmp eax, 0x5c86573e
jne 0x404960
mov esi, dword [esp + 0x64]
mov ecx, dword [0x44f540]
mov edx, dword [0x44f544]
mov eax, 0xa45fe795
lea edi, [ecx - 1]
imul edi, ecx
mov ecx, edi
and edi, 0x40066f8e
not ecx
mov ebp, ecx
and ebp, 0xbff99071
or edi, ebp
xor edi, 0xbff99070
or edi, ecx
cmp edi, 0xffffffff
mov edi, 0xdb26e4c3
setne cl
sete byte [esp + 0x62]
cmp edx, 9
setg ch
cmp edx, 0xa
setl dl
mov dh, ch
setl byte [esp + 0x63]
xor ch, cl
and dh, cl
xor dl, cl
or ch, dh
mov dh, dl
xor dh, ch
test ch, ch
mov ecx, 0xdb26e4c3
cmovne edi, eax
test dl, dl
cmovne edi, eax
test dh, dh
mov edx, 0xb6ec62b
cmovne edi, ecx
nop dword [eax]
cmp edx, 0xb6ec62a
jg 0x404a30
cmp edx, 0xa45fe795
je 0x404a1d
cmp edx, 0xdb26e4c3
jne 0x404a00
jmp 0x404ac2
mov edx, 0x39fa579a
cmp edx, 0xb6ec62a
jle 0x404a08
nop word [eax + eax]
cmp edx, 0x39fa579a
je 0x404aa6
cmp edx, 0xb6ec62b
jne 0x404a00
movzx ebx, byte [esp + 0x62]
mov dh, byte [esp + 0x63]
mov eax, ebx
mov dl, bl
mov bh, dh
mov ah, dh
xor al, 1
xor bh, 1
and dl, al
and ah, bh
mov ecx, edx
xor dl, bl
and cl, bl
or dl, cl
mov cl, ah
xor ah, dh
and cl, dh
or ah, cl
mov ecx, eax
and cl, bh
xor bh, al
xor ah, dl
mov edx, 0xa45fe795
or bh, cl
mov ecx, 0x39fa579a
mov al, bh
xor al, ah
test al, 1
cmovne ecx, edx
test bh, 1
mov edx, 0x39fa579a
cmovne edx, ecx
test ah, 1
cmove edx, ecx
cmp edx, 0xb6ec62a
jle 0x404a08
jmp 0x404a30
cmp dword [esi + 0x14], 0xf
mov edx, edi
seta byte [esp + 0x5c]
cmp edx, 0xb6ec62a
jle 0x404a08
jmp 0x404a30
cmp byte [esp + 0x5c], 0
mov eax, 0xeb4c9b95
mov ecx, 0xabac62fb
mov esi, 0xf
cmovne eax, ecx
cmp eax, 0xabac62fb
jne 0x40496b
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.00405670
add esp, 8
mov eax, 0xeb4c9b95
cmp eax, 0xabac62fb
jne 0x40496b
jmp 0x404ae4
mov eax, dword [esp + 0x5c]
cmp ebp, 0x2b8b3d29
mov ecx, 0x4845aecb
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x5c]
mov byte [eax], 0
mov eax, 0xe9db4750
cmove eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
mov eax, dword [esp + 0x64]
mov ecx, 0xed56fa99
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x64]
mov byte [eax], 0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
mov eax, 0x6f952b58
cmove eax, ecx
mov dword [esp], edx
cmp eax, 0x1ea9c7b2
jg 0x404337
jmp 0x404380
lea ecx, [esp + 0x24]
call fcn.00406f00
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.0041e8c8
mov eax, dword [esp]
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret