Function at 0x40ce60
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov ecx, dword [0x4335e0]
lea esi, [esp + 0x6c]
mov eax, dword [esp + 0x9c]
xor ecx, esp
mov dword [esp + 0x84], ecx
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x18]
mov ecx, esi
push eax
call fcn.00409520
mov ecx, esi
call fcn.004057e0
push 0x42fbff
push eax
call fcn.0041f985
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, 0x18a48b0a
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
mov ecx, dword [0x433f64]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0x81723962
or edx, 0x98e785ae
not ecx
mov edi, edx
mov ebx, ecx
and edx, 0x1ac745d2
and ecx, 0x7e8dc69d
not edi
or ebx, 0x67187a51
or eax, ecx
and edi, 0x65183a01
mov ecx, eax
xor eax, 0x7e8dc69d
or edi, edx
mov edx, ebx
and ebx, 0x1ac745d2
xor ecx, 0x81723962
not edx
and edx, 0x8020802c
or edx, ebx
xor edx, edi
mov edi, edx
and edx, 0x67187a50
not edi
and edi, 0x98e785af
or edx, edi
mov edi, 0xe271faa
and eax, edx
not edx
and ecx, edx
or eax, ecx
mov ecx, dword [0x433f68]
xor edx, eax
test edx, eax
setne dl
sete ah
cmp ecx, 0xa
setl dh
cmp ecx, 9
mov ch, ah
setg al
mov cl, dh
or ch, al
or cl, dl
and dl, dh
and al, ah
or al, dl
mov dl, dh
xor dh, ah
xor ch, 1
xor cl, 1
and dl, ah
mov bl, ch
or dh, dl
and bl, cl
xor cl, ch
mov dl, dh
or cl, bl
xor dl, al
xor al, 1
mov ah, cl
or al, dh
xor dl, 1
xor ah, 1
mov dh, cl
xor al, 1
and dh, ah
or al, dl
mov bl, dh
xor dh, cl
mov dl, al
and bl, cl
xor ah, al
xor dl, 1
or dh, bl
mov ch, dl
mov bh, dh
or dl, cl
and ch, al
xor bh, 1
xor dl, 1
xor ch, 1
or dl, ah
mov bl, ch
or ch, al
xor bl, al
xor ch, 1
mov eax, edx
or ch, bl
and bh, ch
xor ch, 1
and ch, dh
or ch, bh
xor al, ch
test al, 1
mov eax, 0x5e48163
cmovne edi, eax
test dl, 1
mov eax, 0xe271faa
cmovne eax, edi
test ch, 1
cmove eax, edi
nop
cmp eax, 0xe271fa9
jle 0x40d240
cmp eax, 0x5308fa70
jle 0x40d1e0
cmp eax, 0x67a5b755
jg 0x40d48d
cmp eax, 0x5308fa71
je 0x40d7f8
cmp eax, 0x56372f8f
je 0x40d957
cmp eax, 0x61dc7b51
jne 0x40cff0
mov ecx, dword [0x433f64]
mov eax, dword [0x433f68]
lea edx, [ecx - 1]
imul edx, ecx
mov ebx, edx
mov ecx, edx
xor ebx, 0xc9501b24
and ecx, 0x1500004
and ebx, edx
not edx
and edx, 0xc8001b20
mov ebp, ebx
and ebx, 0xbad69835
or ecx, edx
not ebp
mov edx, ecx
xor ecx, 0xfeaffffb
mov edi, ecx
xor edx, 0x500004
or ecx, ebp
and ebp, 0x452967ca
and edi, 0x452967ca
and edx, 0x88501824
or ebx, ebp
not ecx
or edx, edi
xor ebx, edx
or ecx, ebx
mov edx, ecx
and ecx, 0x42dce940
not edx
and edx, 0xbd2316bf
or ecx, edx
mov ebx, ecx
mov edx, ecx
xor ecx, 0x44310503
xor ebx, 0x8b8cf264
xor edx, 0x8b8cf265
and ecx, 0x4fb19727
and edx, ebx
and ebx, 0xb04e68d8
or ebx, ecx
mov ecx, edx
and edx, 0xff83d6aa
mov edi, ebx
not ecx
xor ebx, 0x4fb19726
mov ebp, ecx
xor edi, 0xb0024088
or ecx, ebx
and ebx, 0x7c2955
and edi, 0xff83d6aa
and ebp, 0x7c2955
not ecx
or edx, ebp
or edi, ebx
xor edi, edx
or ecx, edi
mov edx, ecx
not edx
mov edi, edx
and edx, ecx
and ecx, 0xdaf90ebc
and edi, 0x2506f143
mov ebx, edx
and edx, 0x85803598
or ecx, edi
not ebx
mov edi, ecx
xor ecx, 0x2506f143
mov ebp, ecx
xor edi, 0x80800498
or ecx, ebx
and ebx, 0x7a7fca67
and ebp, 0x7a7fca67
and edi, 0x85803598
or edx, ebx
not ecx
mov ebx, 0x1f3e4a99
or edi, ebp
xor edx, edi
or ecx, edx
mov edx, ecx
and ecx, 0xf9f30ca4
not edx
mov edi, edx
and edi, 0x60cf35b
or ecx, edi
mov edi, 0xe51fe532
xor ecx, 0x60cf35b
xor edx, ecx
test edx, ecx
setne cl
cmp eax, 0xa
setl dl
cmp eax, 9
setg al
mov ah, al
xor al, cl
and ah, cl
or al, ah
mov ah, cl
xor cl, dl
not cl
or ah, dl
and cl, dl
mov dl, ah
xor dl, cl
xor cl, 1
or cl, ah
xor dl, 1
xor cl, 1
or cl, dl
mov edx, ecx
and cl, al
xor al, 1
xor dl, 1
mov ch, al
xor ch, dl
and dl, al
and ch, al
or dl, cl
mov al, ch
xor al, dl
test al, 1
cmovne edi, ebx
test dl, dl
mov eax, edi
cmovne eax, ebx
test ch, ch
jmp 0x40df69
cmp eax, 0x1f3e4a98
jle 0x40d7d2
cmp eax, 0x1f3e4a99
je 0x40cec2
cmp eax, 0x2ed1faca
je 0x40d988
cmp eax, 0x35d50fff
jne 0x40cff0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, 0xb75b46d
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
cmp eax, 0xe271fa9
jg 0x40cffb
nop dword [eax]
cmp eax, 0xd910f933
jg 0x40d440
cmp eax, 0xac10604d
jg 0x40d5c1
cmp eax, 0x876afd25
je 0x40da5c
cmp eax, 0x94f2550c
je 0x40da81
cmp eax, 0x9e29c9cb
jne 0x40cff0
mov eax, dword [0x433f64]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0x726bcacd
or eax, 0x8d943532
and edx, ecx
mov ecx, eax
mov ebx, eax
mov edi, edx
not ecx
and ebx, 0x88d4bc02
and edx, 0x772b43fd
not edi
and ecx, 0x722b42cd
or eax, edi
and edi, 0x88d4bc02
or ecx, ebx
or edx, edi
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xbffac425
not ecx
and ecx, 0x40053bda
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 0xcd910ee8
xor edx, 0xf681dd04
and edx, ecx
or ecx, 0xc4ef2c13
mov edi, ecx
mov ebx, ecx
not edi
and ebx, 0x8b7bb68
and edi, 0x33004084
or edi, ebx
mov ebx, edx
and edx, 0xf7484497
not ebx
or ecx, ebx
and ebx, 0x8b7bb68
or edx, ebx
not ecx
mov ebx, dword [esp]
xor edx, edi
mov edi, eax
xor eax, 0x326ef116
or ecx, edx
not edi
mov edx, ecx
and ecx, 0x7ca6b53b
and edi, 1
not edx
or eax, edi
mov dword [esp + 0x4c], ebx
and edx, 0x83594ac4
or ecx, edx
mov edx, ecx
xor ecx, 0xb8499929
mov edi, ecx
xor edx, 0x7306686
or ecx, eax
and edi, 0xf8c70179
and edx, 0x738fe86
not ecx
or edx, edi
mov edi, eax
and eax, 0xf8c70179
not edi
and edi, 0x738fe86
or edi, eax
xor edi, edx
or ecx, edi
mov edi, 0x71dabfcd
mov eax, ecx
xor eax, 0x149f444a
and eax, ecx
not ecx
and ecx, 0x149f444a
mov edx, ecx
and edx, eax
xor eax, ecx
mov ecx, dword [0x433f68]
or eax, edx
mov edx, eax
and eax, 0x149f444a
not edx
and edx, 0xeb60bbb5
or eax, edx
sete dl
setne ah
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl al
mov ecx, eax
mov ch, al
and cl, dh
and dh, dl
and ch, cl
xor cl, al
or cl, ch
mov ch, al
xor cl, ah
and ah, al
and ch, dl
xor al, dl
or al, ch
or ah, dh
xor al, 1
mov dl, ah
and dl, al
xor al, ah
or al, dl
mov edx, eax
xor dl, 1
and al, dl
mov ah, dl
and ah, al
xor al, dl
mov edx, ecx
or al, ah
xor al, 1
or dl, al
xor al, cl
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x56372f8f
cmovne eax, edi
test dl, 1
mov edx, 0x56372f8f
cmovne eax, edx
mov edx, dword [esp + 4]
test cl, 1
cmove eax, edi
mov dword [esp + 0x50], edx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
cmp eax, 0xee64fe1e
jg 0x40d76a
cmp eax, 0xd910f934
je 0x40daf6
cmp eax, 0xe09212c4
je 0x40db09
cmp eax, 0xe51fe532
jne 0x40cff0
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov eax, 0x1f3e4a99
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
cmp eax, 0x67a5b756
je 0x40db1e
cmp eax, 0x6e5173b4
je 0x40db76
cmp eax, 0x71dabfcd
jne 0x40cff0
mov eax, dword [esp + 0x48]
mov ebx, 0x35d50fff
add eax, 0x28
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [0x433f64]
lea ecx, [edx - 1]
inc eax
imul ecx, edx
mov dword [esp + 0x38], eax
mov eax, dword [0x433f68]
mov edx, ecx
not edx
and ecx, edx
mov edi, edx
and edi, ecx
xor ecx, edx
or ecx, edi
mov edx, ecx
mov edi, ecx
xor edx, 1
not edi
and edx, ecx
and edi, 0xfffffffe
and ecx, 1
or ecx, edi
mov edi, edx
and edi, ecx
xor ecx, edx
or ecx, edi
mov edi, 0x56372f8f
mov edx, ecx
and ecx, 0xd48e003
not edx
and edx, 0xf2b71ffc
or edx, ecx
mov ecx, edx
xor edx, 0x80371328
xor ecx, 0x5406001
and edx, 0x883f932a
and ecx, 0x77c06cd5
or ecx, edx
mov edx, ecx
xor ecx, 0x881b9200
xor edx, 0x62802014
and ecx, 0x9d5bdec1
and edx, 0x62a4213e
or edx, ecx
xor edx, 0x9d5bdec1
cmp edx, 0xffffffff
sete cl
setne dl
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
and cl, ch
and al, dl
or cl, al
mov al, ch
or ch, dl
xor al, dl
xor ch, 1
or ch, al
mov eax, ecx
xor al, 1
or al, ch
xor ch, cl
xor ch, 1
xor al, 1
or al, ch
xor al, 1
mov edx, eax
or al, cl
xor dl, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, dl
test cl, 1
cmovne ebx, edi
test al, 1
mov eax, 0x35d50fff
cmovne eax, ebx
test dl, 1
cmove eax, ebx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
cmp eax, 0xac10604e
je 0x40dc42
cmp eax, 0xcd38451e
je 0x40dc77
cmp eax, 0xd02ec02e
jne 0x40cff0
mov eax, dword [0x433f64]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xc8e2e7a3
not eax
and eax, 0x371d185c
or ecx, eax
mov eax, ecx
xor ecx, 0x310c000c
xor eax, 0x48200581
and ecx, 0xb1cee22e
and eax, 0x4e311dd1
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0xd5d20d53
xor edx, 0x46211950
xor ecx, 0xb1cee22e
and eax, ecx
and edx, 0x47a91b52
and ecx, 0xb856e4ad
or ecx, edx
mov edi, ecx
xor ecx, 0xb856e4ac
xor edi, 0xb856e4ad
mov edx, edi
and edi, 1
and edx, 0x641cef7d
or ecx, edi
mov ebx, edx
mov edi, ecx
and ecx, 0x1cfd8da5
and ebx, eax
xor eax, edx
not edi
or eax, ebx
and edi, 0xe302725a
mov edx, eax
and eax, 0xf588be92
or ecx, edi
not edx
mov ebx, ecx
xor ecx, 0xe302725a
and edx, 0xa77416d
xor ebx, 0x10310d01
or eax, edx
and ebx, 0x70337f51
mov edx, eax
xor eax, 0x6e6bae11
mov edi, eax
xor edx, 0x10105140
or eax, ecx
and ecx, 0x8fcc80ae
and edi, 0x8fcc80ae
and edx, 0x70337f51
or ebx, ecx
not eax
mov ecx, dword [0x433f68]
or edx, edi
xor ebx, edx
or eax, ebx
mov edx, eax
and eax, 0xd3d6a1f8
not edx
and edx, 0x2c295e07
or eax, edx
xor eax, 0xd3d6a1f8
setne dl
sete al
cmp ecx, 0xa
setl ah
cmp ecx, 9
mov dh, dl
setg ch
mov cl, ah
or dl, ah
and cl, al
xor al, ah
xor dl, 1
and dh, ch
and al, ah
mov ah, dl
or cl, dh
and ah, al
xor al, dl
xor cl, 1
or al, ah
or cl, ch
mov edx, eax
mov ah, al
xor dl, 1
and ah, dl
mov ch, ah
xor ah, al
xor ch, 1
or ch, dl
xor dl, cl
xor cl, 1
or al, cl
xor ch, 1
xor al, 1
or ch, ah
or al, dl
xor ch, cl
mov edx, 0xe51fe532
mov cl, al
xor cl, ch
test al, 1
mov eax, 0xd910f934
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0xd910f934
cmove eax, edx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
cmp eax, 0xee64fe1f
je 0x40da6c
cmp eax, 0x5e48163
je 0x40de38
cmp eax, 0xb75b46d
jne 0x40cff0
mov eax, dword [esp + 0x14]
mov edx, 0x67a5b756
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
mov eax, 0x876afd25
cmovl eax, edx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
cmp eax, 0xe271faa
je 0x40de59
cmp eax, 0x18a48b0a
je 0x40df7c
cmp eax, 0x15b4550c
jne 0x40cff0
jmp 0x40df9e
push 2
push 0
push dword [esp + 0x24]
call fcn.0041fd82
add esp, 0xc
push dword [esp + 0x1c]
call fcn.004200a5
add esp, 4
mov ebx, eax
push dword [esp + 0x1c]
call fcn.0041f830
add esp, 4
mov ecx, esi
call fcn.004057e0
push 0x42fbff
push eax
call fcn.0041f985
add esp, 8
mov ebp, eax
push ebx
call fcn.004206fa
add esp, 4
push ebp
push ebx
push 1
push eax
call fcn.0041fb71
add esp, 0x10
push ebp
call fcn.0041f830
add esp, 4
mov eax, dword [0x433f64]
lea edx, [eax - 1]
imul edx, eax
mov ecx, edx
mov eax, edx
mov edi, edx
not ecx
or eax, 1
xor edi, 0xfffffffe
mov ebp, ecx
mov ebx, eax
and edi, edx
and ecx, 0x5feee131
and ebx, 0x91309147
and ebp, 0x6ecf6eb8
or ebp, ebx
mov ebx, edi
and edi, 0x6ecf6eb8
not ebx
or eax, ebx
and ebx, 0x91309147
or edi, ebx
not eax
xor edi, ebp
or eax, edi
mov edi, eax
and eax, 0x723678bf
not edi
and edi, 0x8dc98740
or eax, edi
mov edi, eax
xor eax, 0x8dc98740
mov ebx, eax
xor edi, 0x52266031
or eax, edx
and edx, 0xa0111ece
and ebx, 0xa0111ece
and edi, 0x5feee131
or ecx, edx
not eax
or edi, ebx
mov ebx, 0x94f2550c
xor ecx, edi
mov edi, 0xe09212c4
or eax, ecx
mov ecx, eax
and eax, 0x75125fc6
not ecx
and ecx, 0x8aeda039
or eax, ecx
mov ecx, dword [0x433f68]
xor eax, 0x75125fc6
setne al
sete dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
and ah, dl
and al, cl
or cl, dl
xor cl, 1
or ah, al
mov al, cl
xor cl, ah
mov dl, ah
and al, ah
xor dl, 1
or cl, al
mov al, cl
not al
and al, dl
or dl, cl
and cl, ah
or cl, al
mov eax, 0x94f2550c
mov ch, cl
xor ch, dl
test cl, cl
cmovne eax, edi
test dl, dl
cmovne eax, ebx
jmp 0x40cfe8
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov eax, 0x71dabfcd
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
mov eax, dword [0x433f64]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0xfffffffe
and eax, 0xfd202c5f
and edx, ecx
not ecx
mov edi, ecx
and edi, 0x2dfd3a0
or eax, edi
mov edi, eax
xor eax, 0x2dfd3a0
or eax, 1
xor edi, 0xd0202c04
mov ebx, eax
and edi, 0xd0e62c24
and ebx, 0x2f19d3db
or edi, ebx
mov ebx, edx
and edx, 0xd0e62c24
not ebx
or eax, ebx
and ebx, 0x2f19d3db
or edx, ebx
not eax
mov ebx, 0x94f2550c
xor edx, edi
mov edi, 0x5308fa71
or eax, edx
mov edx, eax
and eax, 0xdad5ad8
not edx
and edx, 0xf252a527
or eax, edx
xor eax, 0xdad5ad8
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
cmp eax, 0xffffffff
sete al
cmp dword [0x433f68], 0xa
setl cl
mov edx, ecx
mov ah, cl
or dl, al
xor ah, al
xor dl, 1
and al, ah
or dl, ah
and ah, cl
mov ecx, eax
and cl, ah
xor ah, al
or ah, cl
mov ecx, edx
xor ah, 1
or cl, ah
xor ah, dl
mov edx, ecx
xor dl, ah
test ah, ah
mov eax, 0x94f2550c
cmovne eax, edi
test cl, cl
cmovne eax, ebx
test dl, 1
jmp 0x40df69
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.0040ae00
add esp, 8
mov eax, 0x15b4550c
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
push 2
push 0
push dword [esp + 0x24]
call fcn.0041fd82
add esp, 0xc
push dword [esp + 0x1c]
call fcn.004200a5
add esp, 4
mov ebx, eax
push dword [esp + 0x1c]
call fcn.0041f830
add esp, 4
mov ecx, esi
call fcn.004057e0
push 0x42fbff
push eax
call fcn.0041f985
add esp, 8
mov ebp, eax
push ebx
call fcn.004206fa
add esp, 4
push ebp
push ebx
push 1
push eax
call fcn.0041fb71
add esp, 0x10
push ebp
call fcn.0041f830
add esp, 4
mov eax, 0x5308fa71
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, 0x9e29c9cb
mov ecx, dword [esp + 0x30]
jmp 0x40db63
mov eax, 0xcd38451e
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
lea edi, [esp + 0x54]
mov ecx, edi
push dword [esp + 0x48]
call fcn.00409520
push 0x235
push edi
call fcn.00402270
add esp, 8
mov ecx, edi
mov ebx, eax
call fcn.00409b00
cmp ebx, 0x99e078cc
mov eax, 0x9e29c9cb
mov ecx, 0x61dc7b51
cmove eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
mov ecx, dword [0x433f64]
mov eax, dword [0x433f68]
mov edi, 0xcd38451e
lea edx, [ecx - 1]
imul edx, ecx
mov ebx, edx
and edx, 0x50383146
not ebx
and ebx, 0xafc7ceb9
or ebx, edx
mov ecx, ebx
mov edx, ebx
xor ebx, 0xa4454e30
xor ecx, 0x50383146
xor edx, 0x50383147
and ebx, 0xf44d6f32
and edx, ecx
and ecx, 0xbb290cd
or ecx, ebx
mov ebx, edx
xor ecx, 0xbb290cc
and ebx, ecx
xor ecx, edx
or ecx, ebx
mov edx, ecx
not edx
mov ebx, edx
and edx, ecx
and ecx, 0x2da4e59a
and ebx, 0xd25b1a65
or ecx, ebx
xor ecx, 0x2da4e59a
mov ebx, ecx
xor ecx, edx
and ebx, edx
or ecx, ebx
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
xor ch, cl
mov al, dh
xor dh, dl
mov cl, ch
and al, dl
xor cl, 1
or dh, al
mov al, dh
and ch, dh
or dh, cl
not al
and cl, al
mov eax, 0x2ed1faca
or cl, ch
mov dl, cl
xor dl, dh
test cl, cl
mov ecx, 0x2ed1faca
cmovne eax, edi
test dh, dh
cmovne eax, ecx
test dl, dl
jmp 0x40df69
mov dword [esp + 0x14], 0
mov eax, 0xb75b46d
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], ecx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
push 2
push 0
push dword [esp + 0x24]
call fcn.0041fd82
add esp, 0xc
push dword [esp + 0x1c]
call fcn.004200a5
add esp, 4
mov ebx, eax
push dword [esp + 0x1c]
call fcn.0041f830
add esp, 4
mov ecx, esi
call fcn.004057e0
push 0x42fbff
push eax
call fcn.0041f985
add esp, 8
mov ebp, eax
push ebx
call fcn.004206fa
add esp, 4
mov dword [esp + 0x20], eax
push ebp
push ebx
push 1
push dword [esp + 0x2c]
call fcn.0041fb71
add esp, 0x10
push ebp
call fcn.0041f830
add esp, 4
mov eax, dword [esp + 0x20]
mov edi, 0xac10604e
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + eax + 6]
lea eax, [ecx + eax + 0xf8]
mov ecx, dword [0x433f64]
mov dword [esp + 0x28], eax
lea eax, [ecx - 1]
mov dword [esp + 0x24], edx
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0x70d73447
and edx, 0x8f28cbb8
mov ebx, ecx
and ecx, 0x9ace0a23
or eax, edx
not ebx
mov edx, eax
xor eax, 0x8f28cbb8
mov ebp, eax
xor edx, 0x10c60003
or eax, ebx
and ebx, 0x6531f5dc
and ebp, 0x6531f5dc
and edx, 0x9ace0a23
or ecx, ebx
not eax
or edx, ebp
xor ecx, edx
or eax, ecx
mov edx, eax
and eax, 0x2a64aa6f
not edx
mov ecx, edx
and edx, 0xd59b5590
or ecx, 1
or eax, edx
mov edx, eax
mov ebx, ecx
mov ebp, ecx
xor eax, 0xd59b5591
not ebx
xor edx, 0x8642226
or ecx, eax
and ebp, 0xf712c949
and eax, 0xf712c949
and ebx, 0x8ed36b6
and edx, 0x8ed36b6
not ecx
or ebx, ebp
or edx, eax
xor edx, ebx
or ecx, edx
mov eax, ecx
not eax
and ecx, eax
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0xd34f73e0
not eax
mov edx, eax
and edx, 0x2cb08c1f
or ecx, edx
xor ecx, 0x2cb08c1f
xor eax, ecx
test eax, ecx
sete cl
cmp dword [0x433f68], 9
setg al
xor cl, al
mov edx, ecx
xor al, cl
mov ah, al
xor dl, 1
mov dh, dl
and ah, cl
or al, dl
mov ch, ah
and dh, cl
xor al, 1
mov bh, dh
xor ch, 1
xor dh, dl
xor bh, 1
and ch, ah
mov bl, ch
or bh, cl
xor ch, ah
and bl, ah
xor bh, 1
xor ah, dl
or bh, dh
or ch, bl
or al, ah
mov edx, 0x2ed1faca
xor bh, ch
mov ecx, eax
xor cl, bh
test cl, 1
cmovne edi, edx
test al, al
mov eax, 0xac10604e
cmovne eax, edi
test bh, 1
jmp 0x40df69
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov eax, 0xe271faa
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
mov eax, dword [esp + 0x48]
mov ebx, 0x5e48163
mov eax, dword [eax + 0x14]
add eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [0x433f64]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0x28594ee0
or eax, 0xd7a6b11f
and edx, ecx
mov ecx, eax
mov edi, eax
not ecx
and edi, 0x44b4fc2e
and ecx, 0x284902c0
or ecx, edi
mov edi, edx
and edx, 0xbb4b03d1
not edi
or eax, edi
and edi, 0x44b4fc2e
or edx, edi
not eax
mov edi, 0xd02ec02e
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x28594ee0
not ecx
and ecx, 0xd7a6b11f
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 1
not edx
and ecx, eax
and edx, 0xfffffffe
and eax, 1
or eax, edx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0xf8ed9233
not ecx
and ecx, 0x7126dcc
or eax, ecx
mov ecx, eax
xor eax, 0x500084c
xor ecx, 0xf8258022
and eax, 0x5c81a5d
and ecx, 0xfa37e5a2
or ecx, eax
mov eax, dword [0x433f68]
xor ecx, 0x5c81a5d
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
and ch, dl
mov al, dh
and cl, dh
xor dh, dl
and al, dl
or ch, cl
or dh, al
mov eax, 0x5e48163
xor dh, 1
xor ch, dh
mov cl, ch
xor cl, 1
and dh, cl
xor cl, dh
test ch, ch
cmovne eax, edi
test dh, dh
cmove eax, ebx
test cl, 1
cmove eax, edi
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
cmp dword [esp + 0x1c], 0
mov eax, 0x6e5173b4
mov ecx, 0xee64fe1f
cmove eax, ecx
cmp eax, 0xe271fa9
jle 0x40d240
jmp 0x40cffb
lea ecx, [esp + 0x6c]
call fcn.00409b00
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.0041c883
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret