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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov ecx, dword [0x4255e0]
mov eax, dword [esp + 0x90]
xor ecx, esp
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
push eax
call fcn.00405820
mov ecx, dword [0x425f1c]
mov eax, dword [0x425f20]
lea esi, [ecx - 1]
imul esi, ecx
mov ecx, esi
and esi, 0xf6b1eba
not ecx
and ecx, 0xf094e145
or esi, ecx
mov ecx, esi
and esi, 0x6b327e1f
not ecx
and ecx, 0x94cd81e0
or esi, ecx
mov ecx, esi
xor esi, 0x645960a5
xor ecx, 0xa828042
mov edx, esi
and esi, 0x95357f38
and ecx, 0x6aca80c7
or edx, 1
or ecx, esi
mov edi, edx
mov ebx, edx
mov esi, ecx
not edi
xor ecx, 0x95357f39
and ebx, 0xa9a4c8d5
xor esi, 0x424a0002
or edx, ecx
and edi, 0x565b372a
and ecx, 0xa9a4c8d5
and esi, 0x565b372a
or edi, ebx
not edx
or esi, ecx
xor esi, edi
or edx, esi
mov esi, edx
mov ecx, edx
xor esi, 0xbd97ab72
and ecx, 0x59845876
and esi, edx
not edx
and edx, 0xa67ba789
mov edi, esi
and esi, 0xdacf4141
or ecx, edx
not edi
mov edx, ecx
xor ecx, 0xa413a300
or ecx, 0x4268548d
xor edx, 0x18840040
mov ebx, ecx
or ecx, edi
and edi, 0x2530bebe
and edx, 0x98870140
and ebx, 0x2530bebe
or esi, edi
not ecx
mov edi, 0x4cdb74d
or edx, ebx
mov ebx, 0xf4d313fd
xor esi, edx
or ecx, esi
mov edx, ecx
and ecx, 0xbd97ab72
not edx
and edx, 0x4268548d
or ecx, edx
mov edx, ecx
and ecx, 0x25a1d4bc
not edx
mov esi, edx
and esi, 0xda5e2b43
or ecx, esi
mov esi, 0x8e6c327e
xor ecx, 0xda5e2b43
xor edx, ecx
test edx, ecx
sete dl
setne cl
sete byte [esp + 0x3e]
cmp eax, 9
setg ch
cmp eax, 0xa
mov ah, ch
setl byte [esp + 0x3f]
mov al, ch
xor ah, dl
and al, cl
xor cl, ch
or ch, dl
not ah
xor ch, 1
or cl, al
and ah, dl
mov al, cl
mov dl, ah
xor al, 1
and dl, ch
xor ch, ah
or ch, dl
mov dl, ch
xor dl, 1
mov dh, dl
mov ah, dl
and dh, ch
xor ah, dh
xor dh, 1
or dh, ch
xor dh, 1
or dh, ah
and al, dh
xor dh, 1
and dh, cl
or dh, al
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
mov eax, 0x4cdb74d
mov ecx, edx
xor cl, dh
test dl, 1
cmovne eax, esi
test dh, dh
cmove eax, esi
test cl, 1
cmove eax, edi
mov esi, dword [esp + 0x74]
nop word cs:[eax + eax]
nop dword [eax]
cmp ebx, 0xf4d313fc
jg 0x4070c0
cmp ebx, 0x8e6c327e
je 0x4070a9
cmp ebx, 0xb1b709ee
je 0x4071ab
cmp ebx, 0xbc6eac12
jne 0x407080
jmp 0x407180
mov ebx, 0x3cbc9edd
cmp ebx, 0xf4d313fc
jle 0x407088
nop word cs:[eax + eax]
cmp ebx, 0x3cbc9edd
je 0x407152
cmp ebx, 0x4cdb74d
je 0x407190
cmp ebx, 0xf4d313fd
jne 0x407080
movzx ebx, byte [esp + 0x3e]
mov bh, byte [esp + 0x3f]
mov ebp, 0x8e6c327e
xor bl, 1
mov ecx, ebx
xor cl, bh
xor cl, 1
mov ch, cl
and cl, bh
or ch, bl
or bl, bh
mov bh, cl
xor bl, 1
and bh, bl
xor bl, cl
or bl, bh
mov cl, bl
and bl, ch
xor ch, 1
xor cl, 1
mov dl, ch
xor dl, cl
and cl, ch
and dl, ch
or cl, bl
mov ebx, 0x3cbc9edd
mov ch, dl
xor ch, cl
test ch, 1
cmovne ebp, ebx
test cl, 1
mov ecx, 0x3cbc9edd
mov ebx, ebp
cmovne ebx, ecx
test dl, 1
cmove ebx, ebp
cmp ebx, 0xf4d313fc
jle 0x407088
jmp 0x4070c0
lea ecx, [esp + 0x60]
cmp esi, 0xf
mov ebx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
seta byte [esp + 0x47]
mov dword [esp + 0x48], ecx
cmp ebx, 0xf4d313fc
jle 0x407088
jmp 0x4070c0
mov ecx, dword [esp + 0x40]
mov ebx, 0xb1b709ee
mov edi, dword [ecx]
jmp 0x40706f
cmp byte [esp + 0x47], 0
mov edi, dword [esp + 0x48]
mov ebx, 0xb1b709ee
mov ecx, 0xbc6eac12
cmovne ebx, ecx
jmp 0x40706f
push 0x421c0f
push edi
call fcn.00411df5
add esp, 8
mov dword [esp + 0x20], eax
mov eax, 0x9ece98f2
mov ebp, 0x63cfbb18
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
mov eax, dword [esp + 0x1c]
mov eax, 0xfbadcdb4
nop dword [eax]
cmp eax, 0xce24a0
jg 0x407f40
cmp eax, 0xc15c7d0d
jg 0x407260
cmp eax, 0x9ece98f2
je 0x407631
cmp eax, 0xa012b26f
je 0x407645
cmp eax, 0xb2ee59ff
jne 0x4071e0
mov eax, dword [esp + 8]
mov edx, 0xfb680f7d
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
mov eax, 0x1e6c4cc
cmovl eax, edx
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
cmp eax, 0xc15c7d0e
je 0x407674
cmp eax, 0xfb680f7d
je 0x407a1b
cmp eax, 0xfbadcdb4
jne 0x4071e0
lea eax, [esp + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, 0x66fed550
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x97af7986
je 0x407300
cmp eax, 0x97b72921
je 0x4072d3
cmp eax, 0x66fed550
jne 0x4072a0
mov eax, dword [esp + 0x48]
mov ecx, 0x97b72921
cmp dword [eax + 0x14], 0xf
mov eax, 0x97af7986
cmova eax, ecx
cmp eax, 0x97af7986
jne 0x4072a7
jmp 0x407300
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x60]
mov esi, dword [eax]
call fcn.004083b0
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x14]
inc eax
push eax
push esi
call fcn.00408af0
add esp, 8
mov eax, 0x97af7986
cmp eax, 0x97af7986
jne 0x4072a7
mov eax, dword [esp + 0x48]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x48]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x48]
mov byte [eax], 0
mov eax, dword [0x425f3c]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
or edx, 0x2a25c02e
not eax
mov esi, edx
and edx, 0xa606c198
or eax, 0xd5da3fd1
not esi
mov ecx, eax
and esi, 0x51d83e41
and eax, 0xa606c198
not ecx
or esi, edx
and ecx, 0x8210026
or ecx, eax
xor ecx, esi
mov eax, ecx
and ecx, 0xd5da3fd1
not eax
and eax, 0x2a25c02e
or ecx, eax
mov eax, ecx
mov esi, ecx
or eax, 0xec1e79ea
xor esi, 0x13e18615
mov edx, eax
mov edi, eax
and esi, ecx
not edx
and edi, 0x9cfd5a05
and edx, 0x3008410
or edx, edi
mov edi, esi
and esi, 0x6302a5fa
not edi
or eax, edi
and edi, 0x9cfd5a05
or esi, edi
not eax
mov edi, 0xe24fba7a
xor esi, edx
mov edx, ecx
and ecx, 0xd1866beb
or eax, esi
not edx
mov esi, eax
and eax, 0x13e18614
not esi
and esi, 0xec1e79eb
or eax, esi
mov esi, edx
and edx, 1
and esi, 0x2e799414
or esi, ecx
xor esi, 0xd1866bea
or edx, esi
mov ecx, edx
and edx, 0xa8ae4cb4
not ecx
and ecx, 0x5751b34b
or edx, ecx
mov ecx, eax
and eax, 0x87e695ea
not ecx
mov esi, ecx
and esi, 0x78196a15
or eax, esi
mov esi, edx
xor edx, 0x5751b34b
xor esi, 0x80a604a0
or ecx, edx
and edx, 0x78196a15
and esi, 0x87e695ea
not ecx
or esi, edx
xor esi, eax
or ecx, esi
mov esi, 0xe24fba7a
mov eax, ecx
not eax
mov edx, eax
and eax, ecx
and ecx, 0xb193ffd9
and edx, 0x4e6c0026
or ecx, edx
xor ecx, 0xb193ffd9
mov edx, ecx
xor ecx, eax
and edx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x656ad5c8
not eax
and eax, 0x9a952a37
or eax, ecx
mov ecx, eax
xor eax, 0x8a940217
xor ecx, 0x402a1588
and eax, 0xafd4c257
and ecx, 0x502b3da8
or ecx, eax
mov eax, dword [0x425f40]
xor ecx, 0x502b3da8
sete cl
sete byte [esp + 0x40]
cmp eax, 9
setg dl
cmp eax, 0xa
setl al
setl byte [esp + 0x48]
xor dl, cl
mov ah, al
xor al, cl
xor dl, 1
or ah, cl
xor al, 1
mov cl, ah
xor cl, al
or al, ah
xor al, 1
or al, cl
xor al, dl
and dl, al
mov ecx, eax
xor cl, dl
test cl, 1
cmovne edi, ebp
test al, 1
mov eax, 0xa1afb9ac
cmovne esi, edi
test dl, dl
cmove esi, edi
nop word cs:[eax + eax]
cmp eax, 0xe24fba79
jg 0x407500
cmp eax, 0xa1afb9ac
je 0x407520
cmp eax, 0xaa7e60e8
jne 0x4074e0
mov eax, esi
cmp eax, 0xe24fba79
jle 0x4074e7
nop
cmp eax, 0xe24fba7a
je 0x407d2d
cmp eax, 0x63cfbb18
jne 0x4074e0
mov eax, 0xaa7e60e8
cmp eax, 0xe24fba79
jle 0x4074e7
jmp 0x407500
mov ah, byte [esp + 0x40]
movzx ebx, byte [esp + 0x48]
mov edi, 0xaa7e60e8
mov ecx, ebx
mov edx, ebx
mov bh, ah
mov dh, ah
mov ch, ah
mov byte [esp + 1], ah
xor cl, 1
xor bh, 1
xor dl, cl
and cl, bl
xor dh, bh
mov byte [esp], dl
xor cl, 1
mov dl, bl
and byte [esp], bl
and dh, ah
xor dl, cl
or cl, bl
xor cl, 1
or cl, dl
mov dl, cl
and ch, cl
or cl, bh
xor dl, 1
xor cl, 1
mov byte [esp + 3], dl
and dl, bh
or bh, ah
mov byte [esp + 2], dl
mov dl, bh
xor dl, 1
or ch, byte [esp + 2]
mov eax, edx
and al, bh
mov bl, al
xor al, dl
mov dl, dh
xor bl, 1
or bl, bh
xor bl, 1
or bl, al
mov al, dh
xor al, 1
and dl, al
mov ah, dl
xor dl, dh
and ah, dh
or dl, ah
mov ah, bh
xor dl, bl
and ah, al
xor al, bh
movzx ebx, byte [esp]
or al, ah
xor dl, 1
mov ah, dl
or dl, al
xor ah, al
xor dl, 1
or dl, ah
mov dh, bl
mov eax, edx
xor dh, 1
xor al, 1
and dh, bl
and dl, al
mov ah, al
xor dh, 1
and ah, dl
xor dl, al
mov al, bl
xor al, dh
or dh, bl
or dl, ah
xor dh, 1
or dh, al
mov eax, edx
xor al, 1
and al, dh
xor dh, 1
and dh, dl
or dh, al
movzx eax, byte [esp + 3]
xor al, byte [esp + 1]
or cl, al
mov al, ch
xor cl, 1
and al, cl
xor cl, ch
or cl, al
xor cl, dh
and dh, cl
mov eax, ecx
xor al, dh
test al, 1
mov eax, 0xaa7e60e8
cmovne edi, ebp
test cl, 1
cmovne eax, edi
test dh, 1
cmove eax, edi
cmp eax, 0xe24fba79
jle 0x4074e7
jmp 0x407500
cmp dword [esp + 0x20], 0
mov eax, 0xc15c7d0e
mov ecx, 0xce24a1
jmp 0x40808d
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x14]
add eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
mov eax, 0x3a906167
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
push 2
push 0
push dword [esp + 0x28]
call fcn.004121f2
add esp, 0xc
push dword [esp + 0x20]
call fcn.00412515
add esp, 4
mov dword [esp + 0xc], eax
push dword [esp + 0x20]
call fcn.00411ca0
add esp, 4
mov eax, dword [0x425f1c]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
mov edi, ecx
not edx
and eax, 0xccf3e4c
xor edi, 0xc499aa20
mov esi, edx
and edi, ecx
and edx, 0x4dfa89e9
and ecx, 0xb2057616
and esi, 0xf330c1b3
mov ebp, edi
and edi, 0x87e5f9c1
or ecx, edx
or eax, esi
not ebp
mov esi, eax
xor eax, 0xc0108020
or eax, 0x3b6655df
xor esi, 0x4812800
mov ebx, eax
or eax, ebp
and ebp, 0x781a063e
and esi, 0x8481a800
and ebx, 0x781a063e
or edi, ebp
not eax
or esi, ebx
xor edi, esi
or eax, edi
mov edi, 0x4cdb74d
mov esi, eax
and eax, 0xc499aa21
not esi
and esi, 0x3b6655de
or eax, esi
mov esi, eax
mov edx, eax
not esi
and edx, 0x9668130c
and esi, 0x6997ecf3
or esi, edx
mov edx, ecx
xor ecx, 0x4dfa89e9
xor edx, 0x20056412
or eax, ecx
and ecx, 0x9668130c
and edx, 0x6997ecf3
not eax
or edx, ecx
mov ecx, dword [0x425f20]
xor edx, esi
mov esi, 0x8e6c327e
or eax, edx
cmp eax, 0xffffffff
setne al
sete dl
sete byte [esp + 0x3e]
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
setl byte [esp + 0x3f]
and ah, dl
mov ch, cl
and al, cl
xor cl, dl
or ch, dl
or al, ah
xor ch, 1
or ch, cl
mov cl, ch
mov dl, ch
xor cl, 1
and cl, ch
and dl, cl
xor cl, ch
or cl, dl
mov edx, ecx
and cl, al
xor al, 1
xor dl, 1
and dl, al
or cl, dl
mov dl, ch
and dl, al
xor al, ch
or al, dl
mov edx, eax
xor dl, cl
test al, al
cmovne edi, esi
test cl, cl
mov ecx, 0x4cdb74d
cmove edi, esi
test dl, 1
cmove edi, ecx
mov ecx, 0xf4d313fd
mov esi, dword [esp + 0x74]
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0xf4d313fc
jg 0x407830
cmp ecx, 0x8e6c327e
je 0x407819
cmp ecx, 0xb1b709ee
je 0x407e7d
cmp ecx, 0xbc6eac12
jne 0x4077f0
jmp 0x4079f0
mov ecx, 0x3cbc9edd
cmp ecx, 0xf4d313fc
jle 0x4077f8
nop word cs:[eax + eax]
cmp ecx, 0x3cbc9edd
je 0x4079bb
cmp ecx, 0x4cdb74d
je 0x407a00
cmp ecx, 0xf4d313fd
jne 0x4077f0
movzx eax, byte [esp + 0x3e]
movzx ecx, byte [esp + 0x3f]
mov bh, al
mov byte [esp + 4], cl
xor bh, 1
mov ch, bh
mov dl, bh
and ch, al
and dl, ch
xor ch, bh
xor bh, al
and bh, al
or ch, dl
mov edx, ecx
mov al, bh
xor dl, 1
mov bl, ch
xor al, 1
mov dh, dl
xor bl, 1
mov byte [esp + 8], dl
and al, bh
mov dl, bl
or dh, cl
mov cl, bh
xor al, 1
or dl, ch
mov ah, dh
xor cl, al
or al, bh
xor dl, 1
xor ah, 1
xor al, 1
or al, cl
mov cl, dl
xor cl, bh
or bh, dl
xor al, dl
mov dl, byte [esp + 8]
xor bh, 1
xor al, 1
or bh, cl
mov cl, al
xor bh, 1
and cl, bh
xor bh, al
mov al, ah
and al, dh
or bh, cl
mov cl, al
xor al, ah
and cl, ah
mov ah, byte [esp + 4]
or al, cl
mov cl, al
and al, dl
xor cl, 1
and cl, ah
or al, cl
mov cl, dh
xor dh, dl
and cl, dl
or dh, cl
mov cl, dh
xor cl, al
xor al, 1
or al, dh
xor cl, 1
xor al, 1
or al, cl
mov cl, bh
xor cl, 1
mov dh, cl
and dh, bh
xor cl, dh
xor dh, 1
or dh, bh
mov bh, dl
xor dh, 1
and bh, ah
or dh, cl
mov cl, dh
and dh, al
xor al, 1
xor cl, 1
and cl, al
mov al, ch
and al, bl
or dh, cl
mov cl, al
xor al, ch
and cl, ch
or al, cl
mov cl, bh
xor bh, dl
and cl, dl
or bh, cl
mov cl, ah
xor bh, al
mov al, bl
xor bl, ah
and al, ah
or bl, al
mov eax, ebx
xor al, bh
xor bh, 1
or bh, bl
xor al, 1
xor bh, 1
or bh, al
mov al, bh
xor al, 1
and bh, al
mov ecx, eax
and cl, bh
xor bh, al
or bh, cl
mov cl, dh
xor cl, 1
mov al, bh
mov dl, cl
mov ah, cl
xor al, 1
and dl, dh
xor cl, al
xor ah, dl
xor dl, 1
or dl, dh
xor dl, 1
or dl, ah
mov ah, dl
and dl, bh
or bh, dh
xor ah, 1
xor bh, 1
and ah, al
or bh, cl
mov ecx, 0x3cbc9edd
or dl, ah
mov al, bh
xor al, dl
test bh, 1
mov ebx, 0x8e6c327e
cmovne ecx, ebx
test dl, 1
mov edx, 0x3cbc9edd
cmove ecx, ebx
test al, 1
cmove ecx, edx
cmp ecx, 0xf4d313fc
jle 0x4077f8
jmp 0x407830
lea eax, [esp + 0x60]
cmp esi, 0xf
mov ecx, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
seta byte [esp + 0x47]
mov dword [esp + 0x48], eax
cmp ecx, 0xf4d313fc
jle 0x4077f8
jmp 0x407830
mov eax, dword [esp + 0x40]
mov ecx, 0xb1b709ee
mov ebp, dword [eax]
jmp 0x4077df
cmp byte [esp + 0x47], 0
mov ebp, dword [esp + 0x48]
mov ecx, 0xb1b709ee
mov eax, 0xbc6eac12
cmovne ecx, eax
jmp 0x4077df
lea esi, [esp + 0x48]
mov ecx, esi
push dword [esp + 0x38]
call fcn.00405820
push 0x235
push esi
call fcn.00402bd0
add esp, 8
mov dword [esp + 0x40], esi
mov edi, eax
mov eax, dword [esp + 0x40]
mov eax, 0x66fed550
nop word [eax + eax]
cmp eax, 0x97af7986
je 0x407ab0
cmp eax, 0x97b72921
je 0x407a83
cmp eax, 0x66fed550
jne 0x407a50
mov eax, dword [esp + 0x40]
mov ecx, 0x97b72921
cmp dword [eax + 0x14], 0xf
mov eax, 0x97af7986
cmova eax, ecx
cmp eax, 0x97af7986
jne 0x407a57
jmp 0x407ab0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x48]
mov esi, dword [eax]
call fcn.004083b0
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x14]
inc eax
push eax
push esi
call fcn.00408af0
add esp, 8
mov eax, 0x97af7986
cmp eax, 0x97af7986
jne 0x407a57
mov eax, dword [esp + 0x40]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x40]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x40]
mov byte [eax], 0
mov eax, dword [0x425f3c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
xor esi, 0x5597b91d
mov edx, eax
and esi, ecx
and eax, 0xcb020a02
and edx, 0x5597b91d
mov ebp, edx
and ebp, esi
xor esi, edx
or esi, ebp
mov edx, esi
and esi, 0xb5cfef30
not edx
and edx, 0x4a3010cf
or esi, edx
mov edx, esi
xor esi, 0x6a501c3
xor edx, 0x80084424
and esi, 0x66f513cb
and edx, 0x990aec34
or edx, esi
mov esi, edx
xor edx, 0x66f513cb
mov ebp, edx
xor esi, 0x89020800
or edx, ecx
and ecx, 0x34fdf5fd
and ebp, 0x34fdf5fd
and esi, 0xcb020a02
or eax, ecx
not edx
or esi, ebp
mov ebp, 0x63cfbb18
xor eax, esi
mov esi, 0xe24fba7a
or edx, eax
mov eax, dword [0x425f40]
cmp edx, 0xffffffff
sete dl
setne ch
sete byte [esp + 0x47]
cmp eax, 9
setg cl
cmp eax, 0xa
setl al
mov ah, cl
setl byte [esp + 0x40]
and cl, dl
xor ah, ch
and ch, al
or al, dl
or cl, ch
xor al, 1
mov edx, ecx
or al, ah
xor dl, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov ah, al
xor ah, 1
and ah, cl
xor cl, 1
and cl, al
or cl, ah
mov ah, al
and ah, dl
xor dl, al
or dl, ah
mov eax, 0xe24fba7a
mov ch, dl
xor ch, cl
test dl, dl
cmovne esi, ebp
test cl, 1
cmove esi, ebp
test ch, 1
mov ecx, 0xa1afb9ac
cmove esi, eax
nop dword [eax]
cmp ecx, 0xe24fba79
jg 0x407c10
cmp ecx, 0xa1afb9ac
je 0x407c33
cmp ecx, 0xaa7e60e8
jne 0x407be0
mov ecx, esi
cmp ecx, 0xe24fba79
jle 0x407be8
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0xe24fba7a
je 0x407f05
cmp ecx, 0x63cfbb18
jne 0x407be0
mov ecx, 0xaa7e60e8
cmp ecx, 0xe24fba79
jle 0x407be8
jmp 0x407c10
movzx edx, byte [esp + 0x47]
mov ch, byte [esp + 0x40]
mov cl, dl
mov dh, dl
xor cl, 1
and cl, dl
xor cl, 1
xor dh, cl
or cl, dl
xor cl, 1
or cl, dh
mov dh, ch
xor dh, 1
mov dl, dh
xor dl, ch
and dl, dh
or dh, ch
xor ch, cl
mov bl, dh
xor bl, 1
mov bh, bl
and bh, dh
mov al, bh
xor bh, bl
and al, bl
or bh, al
mov al, bh
xor bh, 1
and bh, dl
xor dl, 1
and al, dl
or bh, al
mov eax, edx
xor dl, dh
and al, dh
or dl, al
mov al, bh
xor dl, 1
and al, dl
xor dl, bh
mov ebx, 0xaa7e60e8
or dl, al
xor dl, 1
mov eax, edx
xor dl, cl
xor dl, 1
or al, cl
and dl, cl
mov ah, al
and cl, ch
xor ah, dl
xor dl, 1
or dl, al
mov al, ch
xor ah, 1
xor al, cl
xor cl, 1
xor dl, 1
or cl, ch
xor al, 1
or dl, ah
xor cl, 1
or cl, al
mov eax, ecx
xor al, 1
and cl, al
mov ah, al
and ah, cl
xor cl, al
or cl, ah
mov eax, ecx
xor al, 1
mov ah, al
mov ch, al
and ah, cl
xor ch, ah
xor ah, 1
or ah, cl
xor ah, 1
or ah, ch
mov cl, ah
xor ah, 1
and cl, dl
xor dl, 1
and ah, dl
or ah, cl
mov ecx, edx
xor dl, al
and cl, al
or dl, cl
mov ecx, 0xaa7e60e8
mov al, dl
xor al, ah
test al, 1
cmovne ebx, ebp
test dl, 1
cmovne ecx, ebx
test ah, 1
cmove ecx, ebx
cmp ecx, 0xe24fba79
jle 0x407be8
jmp 0x407c10
mov eax, dword [esp + 0x1c]
mov eax, dword [0x425f54]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
mov edi, ecx
not edx
and eax, 0xc0010101
xor edi, 0xc101ab55
mov esi, edx
and edi, ecx
and edx, 0xe43b6386
and ecx, 0x1bc49c79
and esi, 0x100aa54
or ecx, edx
or eax, esi
mov esi, eax
xor eax, 0x3ffefefe
xor esi, 0x40010000
mov ebx, eax
and ebx, 0x82c6df27
and esi, 0x41012050
or esi, ebx
mov ebx, edi
and edi, 0x7d3920d8
not ebx
or eax, ebx
and ebx, 0x82c6df27
or edi, ebx
not eax
xor edi, esi
or eax, edi
mov esi, eax
and eax, 0xe8e050f3
not esi
and esi, 0x171faf0c
or eax, esi
mov esi, eax
xor eax, 0xd61e0458
xor esi, 0x8c02805
mov edx, eax
and edx, 0xa53dd3ba
and esi, 0x5ac22c45
or esi, edx
mov edx, ecx
xor ecx, 0xa4394382
xor edx, 0x1ac00c41
and ecx, 0xa53dd3ba
and edx, 0x5ac22c45
or edx, ecx
xor edx, esi
mov esi, dword [0x425f58]
not edx
or edx, eax
cmp edx, 0xffffffff
setne dl
sete ah
cmp esi, 9
setg cl
cmp esi, 0xa
mov esi, 0x71404f68
setl al
and cl, ah
and dl, al
or al, ah
or cl, dl
mov ah, al
mov edx, ecx
xor dl, 1
or al, dl
xor ah, dl
xor al, 1
or al, ah
mov ah, al
mov ch, al
mov dh, al
xor ah, 1
and ch, ah
xor dh, ch
xor ch, 1
or ch, ah
xor ch, 1
or ch, dh
and cl, ch
xor ch, 1
and ch, dl
or ch, cl
mov cl, dl
and cl, al
xor al, dl
mov edx, 0x2c57e3fc
or al, cl
mov cl, al
xor cl, ch
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0x2c57e3fc
cmovne eax, edx
test ch, ch
cmove eax, edx
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
push 0x421c0f
push ebp
call fcn.00411df5
add esp, 8
mov esi, dword [esp + 0xc]
mov ebp, eax
push esi
call fcn.00412b6a
add esp, 4
mov dword [esp + 0x24], eax
push ebp
push esi
push 1
push dword [esp + 0x30]
call fcn.00411fe1
add esp, 0x10
push ebp
call fcn.00411ca0
add esp, 4
mov eax, dword [esp + 0x24]
mov ebp, 0x63cfbb18
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0
movzx edx, word [ecx + eax + 6]
lea eax, [ecx + eax + 0xf8]
mov dword [esp + 0xc], eax
mov eax, 0xb2ee59ff
mov dword [esp + 0x28], edx
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
cmp edi, 0x36a45b4e
mov eax, 0x3a906167
mov ecx, 0xa012b26f
cmove eax, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
cmp eax, 0xce24a0
jle 0x4071eb
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x2c57e3fb
jg 0x4080a0
cmp eax, 0xce24a1
je 0x4080ce
cmp eax, 0x1e6c4cc
je 0x4080be
cmp eax, 0x2a0c6d04
jne 0x4071e0
mov ecx, dword [0x425f54]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0x29c93a74
mov edx, ecx
and ecx, 0x1a7a8f2b
and edx, 0xd636c58a
or esi, edx
mov edx, eax
and eax, 0xe58570d4
xor esi, 0x29c93a74
and edx, 1
or eax, ecx
or edx, esi
mov ecx, edx
and edx, 0x6f2c8d10
not ecx
mov esi, ecx
and esi, 0x90d372ef
or edx, esi
mov esi, eax
xor eax, 0x1052022b
xor esi, 0x65040010
and eax, 0x90d372ef
and esi, 0x6f2c8d10
or esi, eax
mov eax, dword [0x425f58]
xor esi, edx
not esi
or esi, ecx
cmp esi, 0xffffffff
mov esi, 0x71404f68
setne dl
sete ch
cmp eax, 0xa
setl dh
cmp eax, 9
setg cl
mov ah, cl
xor ah, dh
and ah, cl
and cl, ch
mov al, ah
not al
and al, ah
mov ebx, eax
xor al, ah
and bl, ah
mov ah, ch
or al, bl
and ah, al
not al
and al, dl
and dl, dh
or dh, ch
or cl, dl
mov dl, dh
or al, ah
xor cl, 1
xor dl, cl
or cl, dh
xor cl, 1
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
xor ah, 1
mov edx, ecx
and al, ah
xor dl, 1
xor al, 1
and cl, dl
mov ch, al
or al, ah
xor cl, 1
xor ch, ah
xor al, 1
or al, ch
mov ch, cl
or cl, dl
xor ch, dl
xor cl, 1
or cl, ch
xor cl, al
mov al, ah
xor ah, dl
and al, dl
or ah, al
mov dl, ah
xor dl, cl
test ah, 1
mov eax, 0xfbadcdb4
cmovne eax, esi
test cl, 1
mov ecx, 0xfbadcdb4
cmove eax, esi
test dl, 1
cmove eax, ecx
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
cmp eax, 0x3a906167
je 0x4080e3
cmp eax, 0x71404f68
je 0x40811c
cmp eax, 0x2c57e3fc
jne 0x4071e0
jmp 0x408379
push dword [esp + 0x30]
push dword [esp + 0x38]
call fcn.00405cc0
add esp, 8
mov eax, 0x2a0c6d04
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
mov eax, dword [esp + 0x38]
add eax, 0x28
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 4], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov eax, 0xb2ee59ff
cmp eax, 0xce24a0
jle 0x4071eb
jmp 0x407f40
lea eax, [esp + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, 0x66fed550
nop dword [eax]
cmp eax, 0x97af7986
je 0x408190
cmp eax, 0x97b72921
je 0x408163
cmp eax, 0x66fed550
jne 0x408130
mov eax, dword [esp + 0x48]
mov ecx, 0x97b72921
cmp dword [eax + 0x14], 0xf
mov eax, 0x97af7986
cmova eax, ecx
cmp eax, 0x97af7986
jne 0x408137
jmp 0x408190
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x60]
mov esi, dword [eax]
call fcn.004083b0
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x14]
inc eax
push eax
push esi
call fcn.00408af0
add esp, 8
mov eax, 0x97af7986
cmp eax, 0x97af7986
jne 0x408137
mov eax, dword [esp + 0x48]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x48]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x48]
mov byte [eax], 0
mov eax, dword [0x425f3c]
mov ecx, dword [0x425f40]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
mov edi, edx
and edx, 0x9627c8b5
not eax
and edi, 0xa51b2b9
mov esi, eax
and eax, 0x69d8374a
and esi, 0xf5ae4d46
or eax, edx
or edi, esi
mov esi, edi
and edi, 0x3dc2eccb
not esi
and esi, 0xc23d1334
or edi, esi
mov esi, edi
xor edi, 0x37935e73
xor esi, 0x48482108
mov ebx, edi
and ebx, 0x9627c8b5
and esi, 0x69d8374a
or esi, ebx
xor eax, esi
mov esi, 0xe24fba7a
xor edi, eax
test edi, eax
sete al
setne dl
sete byte [esp + 0x40]
cmp ecx, 9
setg ah
cmp ecx, 0xa
mov ch, dl
setl cl
setl byte [esp + 0x48]
and al, ah
and ch, cl
xor cl, dl
or al, ch
mov ch, ah
or ah, dl
xor ch, dl
xor ah, 1
mov edx, ecx
or ah, ch
xor dl, ah
or ah, cl
xor ah, 1
or ah, dl
mov cl, ah
xor cl, 1
mov edx, ecx
and dl, ah
xor cl, dl
xor dl, 1
or dl, ah
mov ah, al
xor dl, 1
xor ah, 1
or dl, cl
mov ch, ah
mov cl, dl
and ch, dl
or dl, al
xor cl, 1
xor dl, 1
xor ah, cl
and cl, al
or dl, ah
or ch, cl
mov eax, edx
xor al, ch
test al, 1
mov eax, 0xe24fba7a
cmovne esi, ebp
test dl, 1
mov edx, 0xa1afb9ac
cmovne eax, esi
test ch, ch
cmove eax, esi
nop word cs:[eax + eax]
cmp edx, 0xe24fba79
jg 0x4082e0
cmp edx, 0xa1afb9ac
je 0x408303
cmp edx, 0xaa7e60e8
jne 0x4082b0
mov edx, eax
cmp edx, 0xe24fba79
jle 0x4082b8
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0xe24fba7a
je 0x4071d3
cmp edx, 0x63cfbb18
jne 0x4082b0
mov edx, 0xaa7e60e8
cmp edx, 0xe24fba79
jle 0x4082b8
jmp 0x4082e0
movzx edx, byte [esp + 0x40]
mov ch, byte [esp + 0x48]
mov esi, 0xaa7e60e8
mov edi, 0xaa7e60e8
mov dh, dl
xor dh, 1
mov bl, dh
mov cl, dh
xor dh, ch
xor dh, 1
and dh, ch
xor ch, 1
and bl, ch
xor cl, ch
xor ch, dl
xor ch, 1
or cl, bl
and ch, dl
mov dl, dh
mov ebx, ecx
and dl, ch
xor ch, dh
xor bl, 1
or ch, dl
mov dl, ch
and ch, cl
xor dl, 1
or cl, dl
and dl, bl
or dl, ch
mov dh, cl
xor dh, dl
test dh, 1
cmovne esi, ebp
test dl, 1
mov edx, esi
cmovne edx, edi
test cl, 1
cmovne edx, esi
cmp edx, 0xe24fba79
jle 0x4082b8
jmp 0x4082e0
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0040ed03
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret