Function at 0x40c890
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [0x4415e0]
mov esi, dword [esp + 0xa4]
xor eax, esp
mov dword [esp + 0x8c], eax
push 0x43d712
call fcn.0040f2e0
add esp, 4
lea edi, [esp + 0x74]
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x30]
sub esp, 4
mov al, byte [esp + 0x5c]
mov ecx, edi
mov byte [esp], al
call fcn.00410890
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0xf
mov byte [esp + 0x74], 0
push esi
call fcn.00429e20
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.00411ea0
mov ecx, dword [0x441f48]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov ebx, eax
mov ebp, eax
not ecx
and ebx, 0x2074182
and ebp, 0xf9d03a3d
mov edi, ecx
mov esi, ecx
mov edx, ecx
and edi, 0x4288440
and esi, 0x43d6e3f1
and edx, 0xfb256f82
or ebx, edi
xor ebx, 0x2074182
or ebp, ebx
mov ebx, eax
mov edi, ebp
and ebp, 0x62fc5c2
and ebx, 0xbc291c0e
not edi
or esi, ebx
and edi, 0xf9d03a3d
xor esi, 0x470c738c
or ebp, edi
or edx, esi
mov edi, ebp
and ebp, 0xfb256f82
mov esi, edx
not edi
not esi
and edi, 0x4da907d
or ebp, edi
mov edi, ebp
xor edi, 0x4da907d
and edi, ebp
mov ebp, eax
xor eax, 0x7e94da63
mov ebx, edi
and eax, ecx
and ebp, 0x1020510
and ecx, 0x8069208c
xor ebx, edx
and edx, edi
or ecx, ebp
and ebx, edi
not edi
and edi, esi
mov esi, ebx
or edx, edi
and esi, edx
xor edx, ebx
or edx, esi
mov edi, edx
or edx, 0x9387bdf
not edi
mov ebx, edx
and edx, 0xaff2c176
or edi, 0xf6c78420
not ebx
mov esi, edi
and ebx, 0x50050400
and edi, 0xaff2c176
not esi
or ebx, edx
and esi, 0x83a89
or esi, edi
xor esi, ebx
mov edx, esi
and esi, 0xde2eba3
not edx
and edx, 0xf21d145c
or esi, edx
mov edx, esi
mov ebx, esi
and esi, 0x6ccbcf75
not edx
or ebx, 0x3a944261
mov edi, edx
mov ebp, edx
and ebx, 0xbafd46ed
and edx, 0x9334308a
and ebp, 0x1022110
or edi, 0x816b259c
or edx, esi
mov esi, dword [0x441f4c]
or ebp, ebx
mov ebx, edi
and edi, 0xbafd46ed
not ebx
and ebx, 0x44009802
or ebx, edi
mov edi, ecx
xor ecx, 0x7f96df73
xor edi, 0x602008
xor ebx, ebp
mov ebp, ecx
and ebp, 0x860f0ad4
and edi, 0x1602508
or edi, ebp
mov ebp, eax
and eax, 0x79f0f52b
not ebp
or ecx, ebp
and ebp, 0x860f0ad4
or eax, ebp
not ecx
mov ebp, 0xc00d5b20
xor eax, edi
or ecx, eax
mov eax, ebx
not eax
and eax, ecx
not ecx
and ecx, ebx
or ecx, eax
mov eax, ecx
and ecx, 0x9334308a
not eax
mov edi, eax
and edi, 0x6ccbcf75
or ecx, edi
mov edi, 0x97ee86f5
xor edx, ecx
not edx
or edx, eax
cmp edx, 0xffffffff
sete ah
setne al
sete byte [esp + 0x50]
cmp esi, 9
setg dl
cmp esi, 0xa
mov esi, 0x73a6f4c0
setl ch
setl byte [esp + 0x5c]
and dl, ah
and al, ch
mov cl, ch
or dl, al
mov al, ah
and cl, ah
xor al, ch
or cl, al
and ah, al
and al, ch
mov dh, cl
mov ch, ah
xor ah, al
xor al, 1
xor dh, dl
xor dl, 1
xor ch, 1
or dl, cl
xor dh, 1
or al, ch
xor dl, 1
xor al, 1
or dl, dh
or al, ah
mov ecx, edx
mov dh, dl
mov ah, al
mov ebx, eax
xor cl, 1
xor ah, 1
and cl, dl
or bl, ah
xor cl, 1
xor dh, cl
or cl, dl
xor cl, 1
or cl, dh
mov edx, ecx
mov bh, cl
xor dl, 1
mov ch, dl
or ch, cl
mov dh, ch
and bh, ch
xor dh, 1
and dh, dl
or dh, bh
mov bh, ch
xor ch, dl
and bh, dl
or ch, bh
mov bh, dh
xor ch, 1
and bh, ch
xor ch, dh
mov dh, bl
xor dh, 1
or ch, bh
and bl, dh
mov bh, dh
xor ch, 1
xor bl, 1
xor bh, bl
or bl, dh
xor bl, 1
or bl, bh
mov bh, bl
and bl, al
xor bh, 1
and bh, ah
or bl, bh
mov bh, dh
or dh, al
xor bh, al
xor dh, 1
or dh, bh
mov bh, bl
xor dh, 1
and bh, dh
xor dh, bl
mov bl, cl
or dh, bh
mov bh, ch
and bl, al
xor al, cl
and cl, dl
xor bh, dh
or ch, dh
xor cl, 1
or al, bl
xor bh, 1
xor al, 1
and bh, dh
xor bh, 1
mov dh, bh
or bh, ch
xor dh, ch
mov ch, dl
xor bh, 1
xor ch, cl
or cl, dl
or bh, dh
xor cl, 1
xor bh, 1
or cl, ch
xor cl, ah
xor cl, 1
mov edx, ecx
and dl, al
xor al, cl
mov cl, bh
or al, dl
or cl, al
xor bh, al
mov eax, ecx
xor al, bh
test al, 1
mov eax, 0xc00d5b20
cmovne eax, edi
test bh, 1
cmove ebp, eax
test cl, 1
cmovne ebp, eax
mov eax, 0x542656ab
nop word cs:[eax + eax]
nop
cmp eax, 0x542656aa
jg 0x40cc30
cmp eax, 0x97ee86f5
je 0x40cc1a
cmp eax, 0xc00d5b20
jne 0x40cc00
jmp 0x40cf4f
mov eax, 0x73a6f4c0
cmp eax, 0x542656aa
jle 0x40cc07
nop word cs:[eax + eax]
cmp eax, 0x73a6f4c0
je 0x40cf3d
cmp eax, 0x542656ab
jne 0x40cc00
mov ah, byte [esp + 0x50]
movzx edx, byte [esp + 0x5c]
mov al, ah
mov ch, ah
mov cl, ah
mov bh, dl
mov byte [esp], dl
xor al, 1
or ch, al
mov dh, al
mov byte [esp + 0x18], al
mov al, ch
or cl, ch
and ch, dh
xor al, 1
xor cl, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor ch, cl
or ch, al
mov al, dl
xor al, 1
mov dh, al
mov cl, al
mov byte [esp + 8], al
and dh, dl
mov al, dh
xor al, 1
xor bh, al
or al, dl
xor al, 1
or bh, al
mov byte [esp + 0x20], al
mov al, dl
mov dl, ch
or al, cl
mov bl, bh
xor dl, 1
mov cl, al
xor bl, 1
mov byte [esp + 0x14], dl
xor cl, 1
and cl, bl
or bl, al
and al, bh
xor bl, 1
or al, cl
mov cl, bl
and cl, al
xor al, bl
mov bl, ch
or al, cl
mov cl, ch
or bl, dl
xor cl, dl
xor bl, 1
mov dl, byte [esp + 0x18]
mov byte [esp + 0x24], al
or bl, cl
mov cl, bl
xor cl, 1
and bl, cl
mov bh, cl
and bh, bl
xor bl, cl
or bl, bh
xor bl, 1
mov cl, bl
and cl, dl
xor dl, bl
or dl, cl
mov cl, bl
or bl, ah
xor cl, ah
xor bl, 1
xor cl, 1
and cl, ah
mov ah, cl
and ah, bl
xor bl, cl
mov cl, dl
or bl, ah
xor cl, 1
mov ah, bl
mov bh, cl
and bl, dl
mov dl, al
xor ah, 1
xor dl, 1
xor bh, ah
and ah, cl
mov byte [esp + 0x18], dl
and dl, al
and bh, cl
or ah, bl
mov byte [esp + 0x10], dl
mov cl, bh
and cl, ah
xor ah, bh
or ah, cl
mov cl, dl
xor cl, al
mov al, byte [esp + 8]
and cl, dl
mov dl, byte [esp]
mov bh, cl
xor bh, 1
xor dh, al
and al, bh
and dl, cl
and cl, bh
or dh, byte [esp + 0x20]
or dl, al
mov al, bh
and al, cl
xor cl, bh
xor dl, 1
or cl, al
or dl, bh
mov al, cl
mov ebx, edx
mov bh, dl
mov byte [esp], dl
xor al, 1
xor bl, 1
and al, dh
xor dh, 1
and dh, cl
or dh, al
mov al, dl
and al, bl
mov cl, dh
and bh, al
xor al, dl
mov dl, dh
xor dl, 1
or al, bh
mov bh, dl
xor dl, byte [esp]
and bh, dh
xor bh, 1
xor cl, bh
or bh, dh
or dh, bl
xor bh, 1
xor dh, 1
or bh, cl
or dh, dl
xor bh, al
xor dh, 1
mov al, bh
and al, dh
xor dh, bh
mov bh, byte [esp + 0x18]
or dh, al
mov al, ah
xor al, 1
and ah, al
mov cl, al
and cl, ah
xor ah, al
mov al, dh
xor al, 1
or ah, cl
mov cl, al
mov dl, al
and cl, dh
and dl, cl
xor cl, al
or al, dh
or cl, dl
mov dl, ah
mov bl, al
xor dl, 1
or ah, dl
mov dh, dl
xor dh, ah
or ah, dl
mov dl, al
xor ah, 1
xor dl, 1
or ah, dh
mov dh, al
and dh, dl
xor ah, 1
and bl, dh
xor dh, al
mov al, cl
or dh, bl
xor al, dl
or dl, cl
xor dl, 1
xor dh, cl
or dl, al
mov al, dh
xor al, dl
or dl, dh
mov dh, byte [esp + 0x24]
xor dl, 1
or dl, al
mov al, ah
xor al, dl
or ah, dl
xor al, 1
and al, dl
mov dl, byte [esp + 0x14]
xor al, 1
mov cl, al
or al, ah
xor cl, ah
xor al, 1
or al, cl
and ch, dl
mov cl, dl
and cl, ch
xor ch, dl
mov dl, byte [esp + 0x10]
or ch, cl
mov ah, ch
mov cl, ch
xor ah, 1
mov byte [esp], ah
or ah, ch
xor ah, 1
and cl, ah
xor ah, ch
or ah, cl
mov cl, dl
xor dl, bh
and cl, bh
or dl, cl
mov cl, ch
xor cl, dh
mov bl, dl
and cl, ch
and ch, dh
or dh, bh
xor dh, 1
and bl, dh
xor dh, dl
mov dl, byte [esp]
or dh, bl
xor dh, ah
mov ah, al
and dl, bh
or ch, dl
mov dl, cl
and dl, ch
xor ch, cl
or ch, dl
mov dl, dh
mov cl, ch
xor dl, ch
and ch, dh
and dl, dh
xor dh, 1
xor cl, 1
and cl, dh
or ch, cl
mov cl, dl
xor dl, ch
xor cl, 1
xor ch, 1
or ch, cl
xor ch, 1
or ch, dl
mov cl, ch
xor cl, 1
or ch, cl
mov edx, ecx
xor ch, 1
xor dl, ch
or ch, cl
xor ch, 1
mov cl, dl
or ch, dl
xor ch, 1
and cl, ch
xor ch, dl
mov edx, eax
or ch, cl
xor dl, 1
mov cl, ch
and ah, ch
xor cl, 1
and cl, dl
or ah, cl
mov cl, ah
xor cl, dl
xor dl, ch
xor dl, 1
and cl, ah
and dl, ch
xor ch, al
and ch, al
mov eax, edx
and al, ch
xor ch, dl
or ch, al
mov al, ch
xor al, 1
and ch, al
mov edx, eax
and dl, ch
xor ch, al
or ch, dl
mov dl, ch
xor ch, 1
and dl, cl
xor cl, 1
and ch, cl
or ch, dl
mov edx, ecx
xor cl, al
and dl, al
mov eax, 0x73a6f4c0
or cl, dl
mov edx, ecx
xor dl, ch
test cl, 1
cmovne eax, edi
test ch, 1
cmove eax, edi
test dl, 1
cmove eax, esi
cmp eax, 0x542656aa
jle 0x40cc07
jmp 0x40cc30
mov eax, ebp
cmp eax, 0x542656aa
jle 0x40cc07
jmp 0x40cc30
lea eax, [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [0x441f20]
lea ecx, [eax - 1]
imul ecx, eax
mov esi, ecx
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0x24], ecx
not esi
and eax, 0x4d119581
and ebx, 0x1e81578
mov edx, esi
mov dword [esp + 0x18], esi
and edx, 0xb2ee6a7e
or edx, eax
mov eax, edx
xor edx, 0x600008
xor eax, 0xc100500
and edx, 0x40600008
and eax, 0xac120d22
or edx, eax
mov eax, esi
and eax, 0xfe17ea87
mov dword [esp + 0x10], edx
or ebx, eax
xor ebx, 0xed9a1852
or ebx, esi
mov edi, ebx
mov eax, ebx
xor ebx, 0x80cc591c
not edi
and eax, 0xe85bb064
and ebx, edi
and edi, 0x17a44f9b
or edi, eax
mov eax, edx
xor edx, 0x2c52042a
xor eax, 0x40600008
mov ecx, eax
and edx, eax
mov dword [esp], eax
or ecx, 0x80cc591c
mov eax, edx
and edx, 0x2c620d22
mov esi, ecx
mov ebp, ecx
not eax
not esi
or ecx, eax
and eax, 0xc11d8089
and ebp, 0xc01c0008
and esi, 0x3e222662
or edx, eax
mov eax, edi
not ecx
or esi, ebp
mov ebp, edi
xor eax, 0x97681687
xor edi, 0xe85bb064
xor ebp, 0x17a44f9b
xor edx, esi
and eax, ebp
or ecx, edx
and ebp, 0xed9935f9
mov edx, eax
and eax, 0x574ac10b
not edx
mov esi, edx
and esi, 0xa8b53ef4
or eax, esi
mov esi, ebx
and ebx, 0x574ac10b
not esi
or edx, esi
and esi, 0xa8b53ef4
or ebx, esi
not edx
mov esi, dword [esp + 0x10]
xor ebx, eax
mov eax, ecx
and ecx, 0xf72b8e43
not eax
or edx, ebx
mov ebx, dword [esp + 0x24]
and eax, 0x8d461b8
or ecx, eax
mov eax, edx
and edx, 0xf72b9e47
xor esi, 0xad9935f1
not eax
and esi, 0xed9935f9
and eax, 0x8d461b8
or edx, eax
xor edx, ecx
mov ecx, dword [esp]
mov eax, ecx
or ecx, edi
and edi, 0x1266ca06
and eax, 0x620802
or ebp, edi
or esi, eax
mov eax, esi
mov esi, ecx
xor ebp, eax
not esi
mov eax, edx
or esi, ebp
not esi
and eax, esi
xor esi, edx
mov edx, ebx
or esi, eax
and edx, 0xdb99185
mov eax, esi
mov ecx, esi
and esi, 0xec720d2b
not eax
and ecx, 0x30880c4
and eax, 0x10857210
or ecx, eax
xor ecx, 0x30880c4
or esi, ecx
mov edi, esi
mov esi, dword [esp + 0x18]
mov ebp, edi
mov dword [esp], ebp
mov eax, esi
and esi, 0xf2466e7a
and eax, ebx
or esi, edx
mov edx, edi
mov ecx, eax
and eax, 0xf2466e7a
not ecx
or ebx, ecx
and ecx, 0xdb99185
or eax, ecx
mov ecx, edi
not ebx
and edi, 0x420a0ca4
xor eax, esi
not ecx
or ebx, eax
mov eax, ecx
and ecx, 0x1cd40207
and eax, 0x19202108
mov edx, ebx
mov esi, ebx
or edi, eax
mov eax, ebx
and edx, 0x8348ebd6
xor esi, 0x5b2a2dac
not eax
and esi, ebx
and eax, 0x7cb71429
or edx, eax
mov eax, edx
xor edx, 0x279d3985
xor eax, 0x8348ebd6
and edx, eax
mov eax, edi
xor edi, 0xbdf5f35b
xor eax, 0x40020824
mov ebx, edi
and ebx, 0xb3f8e7d8
and eax, 0x48020824
or eax, ebx
mov ebx, ebp
xor ebx, 0x5b2a2dac
and ebx, ebp
mov ebp, ebx
and ebx, 0x4c071827
not ebp
or edi, ebp
and ebp, 0xb3f8e7d8
or ebx, ebp
not edi
mov ebp, dword [0x441f24]
xor ebx, eax
or edi, ebx
mov ebx, edx
and edx, 0x7cf1ca65
not ebx
mov eax, ebx
mov dword [esp + 0x24], ebp
and eax, 0x830e359a
or edx, eax
mov eax, esi
and esi, 0x7cf1ca65
not eax
or ebx, eax
and eax, 0x830e359a
or esi, eax
mov eax, edi
not ebx
and edi, 0xb8a32a34
not eax
xor esi, edx
or ebx, esi
and eax, 0x475cd5cb
mov esi, dword [esp]
or edi, eax
mov eax, ebx
and ebx, 0xb8a32a34
not eax
and eax, 0x475cd5cb
or ebx, eax
and esi, 0xe32bfdf8
xor ebx, edi
or esi, ecx
mov edi, 0x32a10bcb
mov eax, ebx
and ebx, 0x841f7237
mov ecx, esi
xor esi, 0x1cd40207
not eax
xor ecx, 0x61027c30
and eax, 0x7be08dc8
and ecx, 0x69027c31
or ebx, eax
mov eax, ebx
xor ebx, 0x7be08dc8
mov edx, ebx
xor eax, 0x27031
or ebx, esi
and esi, 0x96fd83ce
and edx, 0x96fd83ce
and eax, 0x69027c31
or ecx, esi
not ebx
mov esi, 0x32a10bcb
or eax, edx
xor ecx, eax
or ebx, ecx
mov eax, ebx
and ebx, 0x6935240e
not eax
and eax, 0x96cadbf1
or ebx, eax
xor ebx, 0x6935240e
setne byte [esp]
sete byte [esp + 0x20]
cmp ebp, 0xa
mov dword [esp + 0x18], ebx
setl bl
cmp ebp, 9
mov ebp, 0x7b109bd0
setg cl
mov eax, ecx
mov bh, cl
mov byte [esp + 0x10], cl
xor al, bl
mov ah, al
xor ah, 1
mov cl, ah
and cl, al
xor ah, cl
xor cl, 1
or cl, al
and al, bl
xor cl, 1
xor al, 1
or cl, ah
mov ah, cl
mov edx, ecx
xor ah, 1
mov dh, ah
xor ah, bh
mov bh, byte [esp + 0x20]
or dh, cl
or cl, bl
xor dh, 1
xor cl, 1
xor dl, dh
xor dl, 1
and dh, dl
xor dh, 1
mov ch, dh
or dh, dl
xor ch, dl
xor dh, 1
mov dl, al
or dh, ch
xor al, dh
or dl, dh
xor al, 1
mov ch, dl
and al, dh
xor ch, al
xor al, 1
or al, dl
xor ch, 1
mov edx, ecx
xor al, 1
and dl, ah
xor ah, cl
or al, ch
or ah, dl
mov ecx, eax
mov edx, eax
xor cl, 1
and dl, cl
mov ch, dl
xor dl, al
mov al, ah
xor ch, 1
xor al, 1
or ch, cl
and al, ah
xor ch, 1
xor al, 1
or ch, dl
mov edx, eax
or al, ah
xor dl, ah
xor al, 1
or al, dl
mov dl, ch
xor dl, 1
and dl, al
xor al, 1
and al, ch
or al, dl
mov edx, ecx
xor cl, ah
and dl, ah
mov ah, bh
xor al, 1
xor ah, byte [esp]
or cl, dl
mov edx, eax
or al, cl
xor dl, cl
xor al, 1
or al, dl
mov cl, ah
mov dl, ah
xor cl, 1
or dl, cl
and ah, cl
xor dl, 1
xor ah, 1
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
or dl, ch
mov dh, dl
xor dh, ch
xor ch, 1
or ch, dl
xor dh, 1
xor ch, 1
or ch, dh
xor ch, 1
mov dh, ch
or ch, bh
xor dh, bh
mov dl, ch
not dh
and dh, bh
xor dl, dh
xor dh, 1
or dh, ch
xor dl, 1
xor dh, 1
or dh, dl
mov dl, ah
or ah, cl
xor dl, cl
xor ah, 1
or ah, dl
mov dl, cl
xor cl, bh
xor ah, byte [esp]
and dl, bh
or cl, dl
mov dl, cl
xor dl, ah
xor ah, 1
or ah, cl
xor dl, 1
xor ah, 1
or ah, dl
mov cl, ah
xor cl, dh
xor dh, 1
or dh, ah
xor cl, 1
xor dh, 1
mov dl, dh
and dl, cl
xor cl, dh
or cl, dl
mov edx, eax
mov ah, cl
xor dl, 1
mov ch, cl
xor ah, 1
and ch, dl
xor dl, cl
and al, ah
or dl, ch
or al, ch
mov ch, byte [esp]
xor ah, al
and ah, al
xor ah, 1
mov al, ah
xor ah, dl
or al, dl
mov cl, al
xor cl, ah
xor ah, 1
or ah, al
xor cl, 1
xor ah, 1
or ah, cl
mov cl, byte [esp + 0x10]
mov al, cl
xor cl, ch
mov edx, ecx
mov cl, ch
and al, bh
and cl, bl
or bl, bh
xor bl, 1
or al, cl
or bl, dl
mov ecx, eax
xor bl, 1
and cl, bl
xor bl, al
or bl, cl
xor bl, al
mov ecx, ebx
and bl, al
xor cl, 1
mov al, bl
and al, cl
xor bl, cl
or bl, al
mov edx, ebx
xor dl, 1
or bl, dl
xor dl, bl
xor dl, 1
and dl, bl
mov al, dl
xor al, ah
mov ch, al
and al, ah
xor ah, 1
xor ch, 1
xor al, 1
mov cl, ch
xor cl, ah
xor ah, dl
xor ah, 1
and cl, ch
and ah, dl
xor ah, 1
mov dl, ah
xor dl, al
or al, ah
xor al, 1
or al, dl
mov edx, eax
xor dl, 1
and al, dl
mov ah, dl
and ah, al
xor al, dl
or al, ah
mov ah, al
xor al, 1
and ah, cl
xor cl, 1
and al, cl
or al, ah
mov ah, cl
xor cl, dl
and ah, dl
or cl, ah
mov edx, ecx
xor dl, al
test dl, 1
cmovne esi, ebp
test cl, 1
cmovne edi, esi
test al, 1
mov eax, dword [esp + 0x14]
cmove edi, esi
cmp dword [esp + 0x88], 0xf
mov esi, 0xe630968e
mov dword [esp + 0x5c], eax
mov eax, 0x23e4193d
cmova esi, eax
mov eax, 0x181c710e
nop word [eax + eax]
cmp eax, 0xe630968e
je 0x40d9a2
cmp eax, 0x23e4193d
je 0x40d51f
cmp eax, 0x181c710e
jne 0x40d4f0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, esi
cmp eax, 0xe630968e
jne 0x40d4fb
jmp 0x40d9a2
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
sete byte [esp + 0x54]
cmp dword [esp + 0x24], 0xa
mov dword [esp + 0x14], eax
mov eax, 0x73294793
setl byte [esp + 0x58]
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x73294792
jg 0x40d580
cmp eax, 0x1ed28c08
je 0x40d56a
cmp eax, 0x32a10bcb
jne 0x40d550
jmp 0x40d992
mov eax, edi
cmp eax, 0x73294792
jle 0x40d557
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x7b109bd0
je 0x40d97d
cmp eax, 0x73294793
jne 0x40d550
mov ah, byte [esp + 0x54]
mov dh, byte [esp + 0x58]
mov bh, ah
xor bh, 1
mov cl, bh
mov dl, bh
or cl, ah
and dl, ah
mov al, cl
mov bl, dl
xor al, 1
and bl, bh
xor bh, dl
xor dl, 1
mov ch, al
mov byte [esp], bh
or bl, bh
or dl, ah
and ch, cl
xor dl, 1
mov bh, ch
xor ch, al
or dl, byte [esp]
and bh, al
or ch, bh
xor ch, bl
mov bl, ah
and bl, cl
xor cl, ah
or cl, bl
mov ebx, ecx
xor bl, ch
xor ch, 1
or ch, cl
mov cl, dh
xor bl, 1
xor ch, 1
xor cl, 1
or ch, bl
mov ebx, ecx
mov bh, cl
mov byte [esp + 0xf], cl
mov al, ch
mov ch, cl
and ch, dh
mov byte [esp + 0x20], al
xor bh, ch
and bl, ch
xor ch, 1
or ch, dh
or dh, cl
or bl, bh
mov byte [esp + 7], bh
mov cl, dh
xor ch, 1
xor cl, bl
xor bl, 1
or ch, byte [esp + 7]
or bl, dh
xor cl, 1
xor bl, 1
mov dh, bl
and dh, cl
xor cl, bl
or cl, dh
mov bh, cl
mov cl, al
xor cl, 1
mov byte [esp + 8], bh
mov dh, cl
mov bl, cl
mov byte [esp + 0x10], cl
and dh, al
and bl, dh
xor dh, cl
or dh, bl
mov bl, dh
or dh, al
mov eax, edx
xor al, 1
xor bl, cl
xor dh, 1
mov cl, bh
mov ah, al
xor bl, 1
and ah, dl
or dh, bl
mov bl, ah
xor ah, dl
xor bl, 1
or bl, al
mov al, bh
xor al, 1
xor bl, 1
and bh, al
xor cl, al
mov byte [esp + 0x1c], al
or bl, ah
or cl, bh
mov byte [esp + 0x28], bh
mov eax, ecx
xor al, 1
and cl, al
mov dl, al
and dl, cl
xor cl, al
mov al, ch
or cl, dl
mov dl, dh
mov ah, cl
mov cl, byte [esp + 0xf]
xor dl, bl
mov byte [esp + 0x2f], ah
and al, cl
xor ch, cl
or ch, al
mov al, dh
and al, bl
mov cl, ch
mov ch, bl
or dl, al
mov al, bl
mov bh, cl
xor al, 1
and ch, al
xor bl, ch
xor ch, 1
or ch, al
mov al, ah
xor ch, 1
xor al, 1
or ch, bl
mov byte [esp + 7], al
xor ch, dh
mov bl, ch
and ch, dl
xor dl, 1
xor bl, 1
mov dh, dl
xor dh, bl
and bl, dl
and dh, dl
or bl, ch
mov ch, cl
mov dl, dh
xor ch, 1
and dl, bl
xor bl, dh
mov dh, al
and bh, ch
xor cl, ch
or bl, dl
and dh, ah
mov dl, al
xor bh, 1
and cl, ch
and dl, dh
xor dh, al
mov al, ch
mov byte [esp], cl
xor al, bh
or bh, ch
or dh, dl
xor bh, 1
or bh, al
mov al, dh
mov ch, bh
mov byte [esp + 0xf], bh
xor bh, dh
xor dh, 1
or al, dh
xor ch, 1
mov ah, al
xor ah, 1
mov dl, ah
and dl, al
mov cl, dl
xor dl, ah
mov ah, byte [esp + 7]
xor cl, 1
or cl, al
xor cl, 1
or cl, dl
mov dl, cl
and cl, ah
xor dl, 1
and dl, byte [esp + 0x2f]
or cl, dl
mov dl, al
xor al, ah
and dl, ah
xor cl, 1
or al, dl
mov dl, cl
or cl, al
xor dl, al
movzx eax, byte [esp]
xor cl, 1
or cl, dl
mov dl, byte [esp + 0xf]
mov ah, al
xor ah, 1
or dl, ch
and al, dl
mov byte [esp], al
mov al, dl
xor al, 1
mov dl, al
xor dl, ah
and ah, al
or ah, byte [esp]
and dl, al
mov al, dl
and al, ah
xor ah, dl
or ah, al
xor ah, 1
mov al, ah
xor ah, cl
xor ah, 1
or al, cl
and ah, cl
mov cl, al
xor cl, ah
xor ah, 1
or ah, al
mov al, dh
xor cl, 1
and al, ch
xor ch, dh
xor ah, 1
or ch, al
or ah, cl
mov al, ch
mov cl, ah
xor al, bh
xor bh, 1
xor cl, 1
or bh, ch
xor al, 1
xor bh, 1
or bh, al
mov al, bh
and ah, bh
xor al, 1
and al, cl
or ah, al
mov al, cl
xor cl, bh
and al, bh
xor ah, 1
or cl, al
mov al, ah
or ah, cl
xor al, cl
xor ah, 1
or ah, al
mov al, bl
xor al, 1
mov cl, ah
or al, bl
xor cl, 1
xor al, 1
mov ch, cl
xor bl, al
or ch, ah
mov edx, ebx
mov dh, ch
and ah, ch
or ch, cl
xor dl, 1
xor dh, 1
xor ch, 1
and dl, al
and dh, cl
mov al, dl
xor dl, bl
or dh, ah
mov ah, byte [esp + 8]
and al, bl
or dl, al
mov al, ch
and al, dh
xor dh, ch
mov ch, byte [esp + 0x28]
or dh, al
and ah, byte [esp + 0x20]
mov al, dh
xor al, dl
and dh, al
and al, dl
mov dl, byte [esp + 0x1c]
xor ch, 1
mov cl, dh
xor dh, al
xor al, 1
xor cl, 1
or al, cl
mov cl, ch
xor al, 1
or ch, dl
xor cl, dl
or al, dh
mov dh, byte [esp + 0x10]
xor ch, 1
or ch, cl
and dl, dh
xor ch, dh
or ah, dl
mov cl, ch
mov dl, ah
xor dl, dh
and dl, ah
mov ah, ch
xor ah, 1
xor dl, 1
and ah, ch
and cl, ah
xor ah, ch
or ah, cl
mov cl, dl
xor ah, dl
and cl, ch
xor dl, ch
or dl, cl
mov ecx, edx
xor cl, ah
xor ah, 1
or ah, dl
xor cl, 1
xor ah, 1
or ah, cl
mov dl, ah
xor dl, 1
or dl, ah
mov ecx, edx
or dl, ah
xor cl, ah
mov ah, dl
xor ah, cl
xor cl, 1
or cl, dl
xor ah, 1
xor cl, 1
or cl, ah
mov ah, al
xor ah, 1
mov ch, cl
mov dh, ah
mov dl, ah
xor ch, 1
and dh, al
and dl, dh
xor dh, ah
or ah, al
or dh, dl
mov dl, dh
mov bl, dh
xor dl, 1
mov al, dl
and al, dh
xor al, 1
xor bl, al
or al, dh
mov dh, ch
xor al, 1
xor dh, cl
or al, bl
mov ebx, edx
and dh, ch
or ch, cl
xor al, ah
and bl, ah
xor ah, dl
mov bh, ch
and ch, dh
xor al, 1
or ah, bl
xor bh, 1
mov bl, al
xor bl, ah
or ah, al
mov al, dh
xor al, 1
xor ah, 1
and al, bh
or ah, bl
or al, ch
mov ch, dh
xor ch, bh
or bh, dh
xor bh, 1
or bh, ch
mov ch, bh
xor ch, al
xor al, 1
or al, bh
xor ch, 1
mov ebx, 0x1ed28c08
xor al, 1
or al, ch
xor al, ah
mov ah, dl
xor dl, cl
or ah, cl
mov ch, al
xor ah, 1
xor ch, 1
mov cl, ah
and cl, dl
xor dl, ah
or dl, cl
mov cl, dl
xor cl, 1
and cl, ch
or ch, dl
and dl, al
or dl, cl
mov al, ch
xor al, dl
test al, 1
cmovne ebx, ebp
test dl, 1
mov edx, 0x1ed28c08
mov eax, ebx
cmovne eax, edx
test ch, 1
cmovne eax, ebx
cmp eax, 0x73294792
jle 0x40d557
jmp 0x40d580
mov eax, 0x1ed28c08
cmp eax, 0x73294792
jle 0x40d557
jmp 0x40d580
mov eax, 0xe630968e
cmp eax, 0xe630968e
jne 0x40d4fb
push 0x43d70f
push dword [esp + 0x18]
call fcn.0042909e
add esp, 8
mov dword [esp + 0x34], eax
mov eax, 0x24b02e87
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
push 0x235
lea esi, [esp + 0x60]
push esi
call fcn.00402a80
add esp, 8
mov ecx, esi
mov ebx, eax
call fcn.0040f370
cmp ebx, 0x2b611a62
mov eax, 0x4bb5f68b
mov ecx, 0x647e5a3e
cmove eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], ecx
nop word cs:[eax + eax]
nop
cmp eax, 0x296399b0
jle 0x40e950
cmp eax, 0x517c7794
jg 0x40da80
cmp eax, 0x296399b1
je 0x40dacf
cmp eax, 0x315208f6
je 0x40dae4
cmp eax, 0x4bb5f68b
jne 0x40da10
mov eax, dword [esp + 0x4c]
add eax, 0x28
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp]
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], eax
mov eax, 0x517c7795
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
cmp eax, 0x517c7795
je 0x40dfd7
cmp eax, 0x6449c347
je 0x40e01e
cmp eax, 0x647e5a3e
jne 0x40da10
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x14]
add eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
mov eax, 0x4bb5f68b
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.0040c5d0
add esp, 8
jmp 0x40ee3e
mov ecx, dword [0x441f50]
lea ebx, [ecx - 1]
imul ebx, ecx
mov eax, ebx
mov edi, ebx
mov ecx, ebx
not eax
and edi, 0x7b0dccc3
mov ebp, ecx
mov dword [esp + 8], ecx
mov edx, eax
and ebp, 1
mov dword [esp + 0x1c], eax
and edx, ebx
mov ebx, eax
mov esi, edx
and ebx, 0x84f2333c
and edx, 0x84f2333c
or ebx, edi
not esi
mov edi, ecx
or edi, esi
and esi, 0x7b0dccc3
or edx, esi
not edi
xor edx, ebx
or edi, edx
mov edx, edi
and edi, 0xcea518ab
not edx
and edx, 0x315ae754
or edi, edx
mov ebx, edi
xor edi, 0x84044
xor ebx, 0xcea518ab
and edi, 0xc42c486e
mov edx, ebx
and ebx, 1
and edx, 0x3bd3b791
or edx, edi
xor edx, 0xc42c486f
or ebx, edx
mov edx, ebx
and ebx, 0x93b8750e
not edx
and edx, 0x6c478af1
or ebx, edx
mov edx, eax
and edx, 0xfffffffe
mov ecx, ebx
xor ebx, 0x44018a81
or ebp, edx
xor ecx, 0x93b8750e
and ebx, 0xc5399e8f
mov edi, ebp
mov edx, ecx
and ecx, 0x78753631
xor edi, eax
and edx, 0x3ac66170
and edi, ebp
or edx, ebx
mov ebx, edi
mov ebp, edi
xor ebx, 0x878ac9ce
and ebp, 0x5102be33
and ebx, edi
not edi
and edi, 0xaefd41cc
or ebp, edi
mov edi, edx
xor edx, 0xc5399e8f
xor edi, 0x3ac66170
mov eax, edi
and edi, 0x4bc89e83
and eax, 0x878ac9ce
or ecx, eax
mov eax, ebp
xor ebp, 0xaefd41cc
xor eax, 0x5102be33
mov dword [esp + 0x28], ecx
mov ecx, eax
and eax, 0x4bc89e83
and ecx, 0x878ac9ce
mov esi, ecx
and esi, ebx
xor ebx, ecx
or ebx, esi
mov esi, dword [esp + 0x28]
mov ecx, esi
not ecx
and ecx, ebx
not ebx
and ebx, esi
mov esi, dword [0x441f54]
or ebx, ecx
mov ecx, edx
or edx, ebp
and ebp, 0xb437617c
and ecx, 0xb437617c
or eax, ebp
mov ebp, ebx
not edx
and ebx, 0x9c6be9af
or edi, ecx
not ebp
mov ecx, dword [esp + 0x1c]
xor eax, edi
mov edi, dword [esp + 8]
or edx, eax
mov eax, ebp
and eax, 0x63941650
or ebp, edx
or ebx, eax
mov eax, edx
and edx, 0x63941650
not ebp
and ecx, 0x58a40706
not eax
and eax, 0x9c6be9af
or eax, edx
xor eax, ebx
or ebp, eax
mov eax, edi
and edi, 0x230b70f8
and eax, 0x84508801
mov edx, ebp
or eax, ecx
not edx
xor eax, 0x84508801
mov ecx, edx
and edx, 0xc6d3ef4a
or edi, eax
mov eax, edi
and edi, 0xdcf48f07
not eax
and eax, 0x230b70f8
or edi, eax
or ecx, edi
not edi
or edi, ebp
not ecx
not edi
mov eax, edi
and eax, ecx
xor ecx, edi
or ecx, eax
mov eax, ecx
and ecx, 0x7abc9668
not eax
and eax, 0x85436997
or ecx, eax
mov eax, ecx
xor ecx, 0x85436997
mov edi, ecx
xor eax, 0x42908648
or ecx, ebp
and ebp, 0x392c10b5
and edi, 0x392c10b5
and eax, 0xc6d3ef4a
or edx, ebp
not ecx
or eax, edi
mov edi, 0x26664463
xor edx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x734d8c52
not eax
and eax, 0x8cb273ad
or ecx, eax
xor ecx, 0x734d8c52
sete cl
setne bl
cmp esi, 9
setg ch
cmp esi, 0xa
mov byte [esp + 0x1c], cl
mov byte [esp + 8], bl
mov esi, 0xc19e1ee4
setl al
xor bl, cl
mov byte [esp + 7], ch
mov bh, al
mov dh, al
mov ah, bl
xor bh, ch
mov cl, dh
mov byte [esp + 0x28], dh
xor ah, 1
mov al, bh
xor al, 1
and bh, al
mov dl, al
and dl, bh
xor bh, al
or bh, dl
mov dl, dh
mov dh, ch
mov al, bh
or dh, bh
or bh, cl
mov cl, byte [esp + 8]
xor al, 1
xor dh, 1
xor dl, al
or al, ch
or dh, dl
mov dl, al
xor dl, bh
or bh, al
xor bh, 1
or bh, dl
mov al, bh
mov dl, bh
and dl, dh
xor al, 1
xor dh, 1
and al, dh
or al, dl
mov dl, dh
or dh, bh
xor dl, bh
xor dh, 1
or dh, dl
mov dl, al
xor dh, 1
and dl, dh
xor dh, al
mov al, bl
xor al, ah
or dh, dl
and al, bl
mov ch, dh
mov dl, al
xor ch, 1
xor dl, 1
mov bh, dl
and bh, al
mov bl, bh
xor bh, al
xor bl, 1
or bl, dl
mov dl, byte [esp + 0x1c]
xor bl, 1
or bl, bh
xor bl, cl
mov al, dl
xor al, ah
xor ah, cl
and al, dl
mov dl, al
and dl, ah
xor ah, al
or ah, dl
mov al, ah
xor al, 1
mov dl, al
and dl, ah
xor al, dl
xor dl, 1
or dl, ah
xor dl, 1
or dl, al
mov eax, ebx
xor dl, 1
or al, dl
xor dl, bl
mov ah, al
xor ah, dl
xor dl, 1
or dl, al
xor ah, 1
xor dl, 1
or dl, ah
mov ah, ch
mov bh, dl
or ah, dh
xor bh, 1
mov al, ah
mov cl, ah
and dl, bh
mov bl, bh
xor al, 1
and bl, dl
xor dl, bh
or dl, bl
mov bl, dl
xor bl, 1
or bl, dl
mov dl, ah
and dl, al
xor cl, dl
xor dl, 1
or dl, al
xor dl, 1
or dl, cl
mov al, dl
and dl, dh
xor al, 1
and al, ch
or dl, al
mov al, ah
xor ah, ch
and al, ch
mov ch, byte [esp + 0x28]
or ah, al
mov al, ah
xor al, dl
xor dl, 1
or dl, ah
xor al, 1
mov ah, byte [esp + 7]
mov dh, ch
xor dl, 1
or dl, al
mov al, bl
xor bl, bh
or al, bh
mov bh, byte [esp + 0x1c]
xor al, 1
mov cl, al
and cl, bl
xor bl, al
or bl, cl
mov al, bl
xor al, 1
or al, dl
xor dl, 1
or dl, bl
xor al, 1
mov bl, byte [esp + 8]
xor dl, 1
mov cl, al
and cl, dl
xor dl, al
mov al, bh
or al, ah
or dl, cl
or dh, bl
xor al, 1
xor dh, 1
mov cl, al
and cl, dh
xor dh, al
mov al, bh
or dh, cl
mov cl, ch
and al, ah
and cl, bl
xor dh, 1
or cl, al
mov al, ah
xor ah, bl
and al, bl
or ah, al
mov al, ah
xor al, cl
xor cl, 1
or cl, ah
xor al, 1
xor cl, 1
or cl, al
mov al, dh
or al, cl
xor dh, cl
xor al, 1
mov ecx, eax
and cl, dh
xor dh, al
or dh, cl
mov al, dh
xor al, 1
and al, dh
xor al, 1
mov ecx, eax
or al, dh
xor cl, dh
xor al, 1
or al, cl
mov ecx, eax
xor cl, 1
and al, cl
mov ah, cl
and ah, al
xor al, cl
or al, ah
mov ah, dl
mov ch, al
mov cl, al
xor ah, 1
xor ch, 1
and ah, dl
and ch, al
xor ah, 1
and cl, ch
xor ch, al
mov bl, ah
or ah, dl
or ch, cl
xor bl, dl
xor ah, 1
mov cl, ch
xor ch, al
or ah, bl
and cl, al
or ch, cl
mov al, ch
mov bh, ch
xor al, 1
mov dh, al
or dh, ch
mov cl, dh
xor cl, 1
mov bl, cl
xor bh, cl
or cl, ch
and ch, al
xor ch, 1
and bl, dh
mov byte [esp + 8], bh
mov bh, dh
xor cl, 1
mov dh, ch
or ch, al
xor bl, 1
or cl, byte [esp + 8]
xor dh, al
xor ch, 1
or ch, dh
mov dh, bl
or bl, bh
xor dh, bh
xor bl, 1
or bl, dh
xor cl, 1
xor bl, ch
mov ch, bl
and ch, cl
xor cl, bl
or cl, ch
mov ch, cl
xor ch, 1
and cl, ch
xor cl, 1
mov dh, cl
or cl, ch
xor dh, ch
xor cl, 1
or cl, dh
xor cl, ah
mov ah, dl
or ah, al
xor al, dl
mov dl, ah
xor dl, al
xor al, 1
or al, ah
xor dl, 1
xor al, 1
or al, dl
xor al, cl
and cl, al
mov edx, eax
xor dl, cl
test dl, 1
cmovne edi, esi
test al, 1
mov eax, 0x26664463
cmovne eax, edi
test cl, 1
cmove eax, edi
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
mov eax, dword [esp + 0x18]
mov edx, 0xf08ed563
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
mov eax, 0x296399b1
cmovl eax, edx
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
push 2
push 0
push dword [esp + 0x3c]
call fcn.0042949b
add esp, 0xc
push dword [esp + 0x34]
call fcn.004297be
add esp, 4
mov dword [esp + 0x24], eax
push dword [esp + 0x34]
call fcn.00428f49
add esp, 4
lea eax, [esp + 0x74]
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x50]
mov ecx, dword [0x441f20]
lea eax, [ecx - 1]
mov dword [esp + 0x5c], edi
mov edi, 0xe630968e
imul eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0xf5d33f2e
not edx
and ecx, 0x18ce475a
mov ebx, edx
mov esi, edx
and ebx, 0xa2cc0d1
or esi, 0xbaef7f5f
or eax, ebx
mov ebx, esi
and esi, 0x228a1972
not eax
not ebx
or eax, edx
and edx, 0xa2213805
and ebx, 0x45108080
or ecx, edx
or ebx, esi
mov edx, ecx
xor ecx, 0x22001820
xor edx, 0x18444608
and ecx, 0x228a1972
and edx, 0x9865660d
or edx, ecx
xor ebx, edx
mov ecx, ebx
and ebx, 0xbc961851
not ecx
and ecx, 0x4369e7ae
or ebx, ecx
mov ecx, ebx
xor ebx, 0xe0849071
xor ecx, 0x461260c
and ebx, 0xe29cd173
and ecx, 0x1d632e8c
or ecx, ebx
mov edx, ecx
xor ecx, 0xe2849001
xor edx, 0x9630e8c
and ecx, 0xf684b001
and edx, 0x97b4ffe
or edx, ecx
mov ecx, edx
xor edx, 0x97b4ffe
xor ecx, 0xfca870d0
and edx, ecx
mov ecx, eax
mov esi, edx
mov ebx, edx
not ecx
xor esi, eax
not ebx
and eax, 0x4ca9816
and ecx, 0xfb3567e9
and esi, edx
and ebx, 0x4ca9816
and edx, 0xfb3567e9
or ecx, eax
or edx, ebx
mov eax, esi
xor ecx, edx
and eax, ecx
xor ecx, esi
or ecx, eax
mov eax, ecx
xor eax, 0xf5d33f2e
and eax, ecx
not ecx
and ecx, 0xf5d33f2e
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov edx, eax
mov ecx, eax
and eax, 1
not edx
and ecx, 0xc1217726
mov esi, edx
and esi, 0x3ede88d9
or esi, ecx
mov ecx, edx
and edx, 0xfffffffe
xor esi, 0xc1217727
and ecx, 1
or eax, edx
or ecx, esi
mov esi, ecx
and ecx, 0x6d6d97ca
not esi
and esi, 0x92926835
or ecx, esi
mov esi, ecx
mov ebx, ecx
xor ecx, 0x57a5eab2
xor esi, 0x6d6d97ca
xor ebx, 0x802005
mov ebp, esi
and ebx, 0x258031c5
and ecx, esi
and ebp, 0xda7fce3a
or ebp, ebx
mov esi, ebp
xor ebp, 0x1f484cbd
xor esi, 0xda7fce3a
and ebp, esi
mov ebx, ebp
and ebp, 0x6b687ce8
not ebx
mov edx, ebx
and edx, 0x94978317
or ebp, edx
mov edx, ecx
and ecx, 0x6b687ce8
not edx
or ebx, edx
and edx, 0x94978317
or ecx, edx
mov edx, eax
not ebx
xor ecx, ebp
mov ebp, eax
not edx
and eax, 0xc5378287
xor ebp, 0x3ac87d78
or ebx, ecx
and ebp, edx
mov ecx, ebp
and ecx, eax
xor eax, ebp
mov ebp, dword [0x441f24]
or eax, ecx
mov ecx, ebx
not ecx
and ecx, eax
not eax
and eax, ebx
mov dword [esp + 0x18], ebp
or eax, ecx
mov ecx, esi
and ecx, edx
xor edx, esi
or edx, ecx
mov ecx, edx
and edx, 0xc3561ea2
not ecx
and ecx, 0x3ca9e15d
or edx, ecx
mov ecx, eax
and eax, 0x6591914f
mov esi, edx
not ecx
xor edx, 0x3ca9e15d
mov ebx, ecx
xor esi, 0x41101002
or ecx, edx
and edx, 0x9a6e6eb0
and esi, 0x6591914f
and ebx, 0x9a6e6eb0
not ecx
or eax, ebx
or esi, edx
xor esi, eax
or ecx, esi
mov eax, ecx
mov edx, ecx
and ecx, 0xbcfea7a
not eax
and edx, 0x9e7e0034
mov esi, eax
and esi, 0xf4301585
or ecx, esi
xor ecx, 0x14019f1a
or ecx, eax
and eax, 0x6181ffcb
or eax, edx
mov edx, eax
xor eax, 0x809ec3
xor edx, 0x8a1a0034
and eax, 0x14e49ec3
and edx, 0xeb1b613c
or edx, eax
mov eax, edx
xor edx, 0x14c41440
xor eax, 0xe011001c
and edx, 0x1fce7560
and eax, 0xe0318a9f
or edx, eax
mov eax, ecx
mov esi, edx
not eax
xor esi, 0xe0318a9f
and eax, 0xc649620
and esi, edx
mov edx, esi
and esi, 0xc649620
not edx
mov ebx, edx
and edx, 0xf39b69df
or ebx, ecx
and ecx, 0xf39b69df
or esi, edx
or eax, ecx
not ebx
xor eax, esi
mov ecx, ebx
and ecx, eax
xor eax, ebx
or eax, ecx
mov edx, eax
mov ecx, eax
xor edx, 0xe0318a9f
and ecx, 0x60008804
and edx, eax
not eax
and eax, 0x8031029b
or ecx, eax
xor ecx, 0x60008804
mov eax, ecx
and eax, edx
xor edx, ecx
or edx, eax
mov eax, edx
and edx, 0x2b04b8a4
not eax
and eax, 0xd4fb475b
or edx, eax
mov eax, edx
xor edx, 0xd4fb475b
mov ecx, edx
xor eax, 0x2b04b8a4
and edx, 0xb3840b5b
and ecx, eax
and eax, 0x4c7bf4a4
mov esi, ecx
or eax, edx
and ecx, 0x64e36f8d
mov edx, eax
not esi
xor eax, 0x4c7bf4a4
mov ebx, esi
xor edx, 0x20800b09
or esi, eax
and eax, 0x9b1c9072
and edx, 0x64e36f8d
and ebx, 0x9b1c9072
not esi
or ecx, ebx
or edx, eax
xor edx, ecx
or esi, edx
mov eax, esi
and esi, 0x3c129b2d
not eax
and eax, 0xc3ed64d2
or esi, eax
mov eax, esi
and esi, 0xc3ed64d2
not eax
and eax, 0x3c129b2d
or esi, eax
sete bh
setne ah
cmp ebp, 0xa
setl dl
cmp ebp, 9
mov al, bh
mov ebp, 0x32a10bcb
setg bl
xor al, ah
mov byte [esp + 0x1c], dl
and al, bh
mov byte [esp + 0x28], bl
mov ecx, eax
mov ch, al
xor cl, 1
or ch, cl
xor al, ch
or ch, cl
xor al, 1
xor ch, 1
or ch, al
mov al, ch
xor al, 1
mov cl, al
and cl, ch
xor al, cl
xor cl, 1
or cl, ch
xor cl, 1
or cl, al
mov ch, cl
mov byte [esp + 0x10], cl
xor ch, 1
mov dh, ch
mov al, ch
and dh, cl
xor ch, dh
and al, dh
mov byte [esp + 8], dh
or al, ch
mov byte [esp + 0x20], ch
mov ch, dl
mov dh, al
mov cl, al
xor dh, 1
xor cl, dh
or dh, al
mov al, ch
xor dh, 1
or dh, cl
mov cl, bl
xor cl, dl
mov dl, cl
xor al, cl
and cl, ch
not dl
and al, ch
and dl, bl
or cl, dl
mov dl, al
xor al, cl
xor dl, 1
xor cl, 1
or cl, dl
mov dl, dh
xor cl, 1
xor dl, ah
or cl, al
mov al, dh
and al, ah
or dl, al
mov al, dh
or dh, bh
xor al, 1
xor dh, 1
or al, ah
xor al, 1
mov ah, al
and ah, dh
xor dh, al
or dh, ah
mov ah, dh
xor ah, 1
and dh, ah
mov al, ah
and al, dh
xor dh, ah
or dh, al
mov al, dl
and al, ah
xor ah, dl
xor dh, dl
mov dl, cl
or ah, al
mov al, dh
xor ah, 1
and al, ah
xor ah, dh
mov dh, cl
or ah, al
xor dh, 1
mov bh, ah
or dl, dh
xor dh, cl
xor bh, 1
and dh, cl
mov cl, bh
mov al, bh
mov ch, dh
and cl, ah
xor ch, 1
xor al, cl
xor cl, 1
or cl, ah
xor cl, 1
or cl, al
mov bl, cl
xor bl, 1
or bl, cl
mov cl, dl
xor cl, 1
and dl, cl
mov al, dl
xor dl, cl
and al, cl
or dl, al
mov al, dl
and dl, ch
xor al, 1
and al, dh
or dl, al
mov al, cl
xor al, dh
or dh, cl
xor dh, 1
or dh, al
mov al, dh
xor al, dl
xor dl, 1
or dl, dh
xor al, 1
mov dh, byte [esp + 0x28]
xor dl, 1
or dl, al
mov al, bl
and bl, ah
xor al, 1
mov ecx, eax
xor cl, bh
and cl, al
and al, bh
mov bh, byte [esp + 0x1c]
mov ah, cl
or al, bl
xor cl, al
xor ah, 1
xor al, 1
or al, ah
xor al, 1
or al, cl
mov ah, al
xor ah, dl
and al, ah
and ah, dl
mov ecx, eax
and cl, ah
xor ah, al
or ah, cl
mov cl, byte [esp + 8]
xor cl, 1
or cl, byte [esp + 0x10]
xor cl, 1
or cl, byte [esp + 0x20]
mov al, cl
mov dl, cl
mov bl, cl
xor al, 1
and bl, dh
xor dl, al
and dl, cl
mov ecx, edx
xor cl, 1
and cl, dl
mov ch, cl
xor cl, dl
and ch, dl
mov dl, dh
or cl, ch
or dl, cl
xor cl, 1
or cl, bh
mov ch, cl
or cl, dl
xor ch, dl
xor cl, 1
or cl, ch
mov ch, dh
or ch, al
and al, bh
xor ch, 1
or al, bl
mov dl, ch
and dl, al
xor al, ch
or al, dl
mov edx, eax
xor dl, 1
and al, dl
mov ch, dl
and ch, al
xor al, dl
or al, ch
mov edx, eax
xor dl, 1
and dl, al
mov ch, dl
xor dl, al
and ch, al
or dl, ch
mov ch, cl
xor ch, al
or al, cl
xor dl, cl
xor al, 1
mov cl, dl
or al, ch
xor al, 1
and cl, al
xor al, dl
or al, cl
mov ecx, eax
xor cl, 1
mov edx, ecx
mov ch, cl
and dl, al
and ch, dl
xor dl, cl
or cl, al
or dl, ch
mov al, cl
mov ch, dl
mov dh, dl
xor al, 1
xor ch, 1
mov ebx, eax
and dh, ch
and bl, cl
xor cl, ch
mov bh, dh
xor dh, dl
xor bh, 1
or bh, ch
xor bh, 1
or bh, dh
mov dh, bl
xor bl, al
and dh, al
or al, dl
or bl, dh
xor al, 1
or al, cl
xor bl, bh
xor al, 1
mov ecx, ebx
and cl, al
xor al, bl
or al, cl
mov ecx, eax
mov edx, eax
mov ch, al
xor cl, 1
and dl, cl
or cl, al
and ch, dl
xor dl, al
xor cl, 1
or dl, ch
xor dl, 1
mov al, dl
and al, cl
xor cl, dl
mov dl, ah
or cl, al
xor dl, 1
mov al, cl
mov ch, dl
or cl, ah
xor al, 1
xor ch, al
xor al, ah
xor ch, 1
and al, ah
or ch, dl
xor al, 1
mov edx, ecx
xor dl, al
or al, cl
mov cl, ch
xor al, 1
xor cl, 1
or al, dl
mov dl, ch
and dl, al
xor al, 1
and cl, al
or cl, dl
mov dl, ch
and dl, al
xor al, ch
or al, dl
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0x7b109bd0
cmovne ebp, eax
test cl, 1
not dl
cmove ebp, eax
test dl, 1
mov eax, 0x32a10bcb
cmovne ebp, eax
cmp dword [esp + 0x88], 0xf
mov eax, 0x23e4193d
cmova edi, eax
mov eax, 0x181c710e
nop word [eax + eax]
cmp eax, 0xe630968e
je 0x40e8c9
cmp eax, 0x23e4193d
je 0x40e6fb
cmp eax, 0x181c710e
jne 0x40e6d0
mov ecx, dword [esp + 0x5c]
mov eax, edi
cmp eax, 0xe630968e
jne 0x40e6db
jmp 0x40e8c9
mov eax, 0xffffffff
test eax, esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
sete byte [esp + 0x54]
cmp dword [esp + 0x18], 0xa
mov eax, 0x73294793
setl byte [esp + 0x58]
nop dword [eax]
cmp eax, 0x73294792
jg 0x40e750
cmp eax, 0x1ed28c08
je 0x40e73a
cmp eax, 0x32a10bcb
jne 0x40e720
jmp 0x40e8b9
mov eax, ebp
cmp eax, 0x73294792
jle 0x40e727
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x7b109bd0
je 0x40e8a4
cmp eax, 0x73294793
jne 0x40e720
mov dword [esp + 0x10], ecx
movzx ecx, byte [esp + 0x54]
mov ah, byte [esp + 0x58]
mov dl, ah
xor dl, 1
mov al, dl
mov ch, dl
xor dl, ah
and al, ah
and dl, ah
xor ch, al
xor al, 1
or al, ah
xor al, 1
or al, ch
mov ch, cl
mov dh, al
xor ch, 1
xor dh, cl
and dh, al
or al, ch
xor al, 1
mov bl, dh
and bl, al
xor al, dh
or al, bl
xor al, 1
mov dh, al
xor dh, cl
or cl, ch
xor dh, 1
or dh, al
mov eax, ecx
xor cl, ch
or al, ch
mov bh, dh
mov ch, dh
xor al, 1
xor bh, 1
mov ah, al
and ch, bh
and ah, cl
xor cl, al
mov al, dh
and al, ch
xor ch, dh
or cl, ah
or ch, al
xor cl, dl
mov ah, ch
mov al, cl
xor ah, 1
xor al, 1
or ch, ah
mov dl, al
mov bl, ch
or dl, cl
and bh, ch
or ch, dh
xor bl, 1
xor dl, 1
and bl, dh
mov dh, ch
xor al, dl
or bl, bh
and dl, al
xor dh, bl
xor bl, 1
or bl, ch
mov ch, al
xor dh, 1
xor ch, dl
xor dl, 1
xor bl, 1
or dl, al
xor ch, 1
or bl, dh
xor dl, 1
or dl, ch
mov al, dl
xor al, 1
or al, bl
xor bl, 1
or bl, dl
mov edx, eax
xor dl, bl
or bl, al
mov al, ah
xor ah, cl
or al, cl
xor bl, 1
xor al, 1
or bl, dl
mov ecx, eax
and cl, ah
xor ah, al
or ah, cl
mov al, ah
xor al, 1
and ah, al
mov ecx, eax
and cl, ah
xor ah, al
or ah, cl
mov al, ah
mov cl, ah
or ah, bl
xor al, 1
xor ah, 1
and cl, al
xor cl, 1
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
or cl, dl
mov edx, 0x1ed28c08
xor cl, bl
xor bl, al
xor bl, 1
or ah, bl
mov ebx, 0x7b109bd0
mov al, ah
xor al, cl
test al, 1
cmovne edx, ebx
test ah, 1
mov eax, 0x1ed28c08
cmovne eax, edx
test cl, 1
mov ecx, dword [esp + 0x10]
cmove eax, edx
cmp eax, 0x73294792
jle 0x40e727
jmp 0x40e750
mov eax, 0x1ed28c08
cmp eax, 0x73294792
jle 0x40e727
jmp 0x40e750
mov eax, 0xe630968e
cmp eax, 0xe630968e
jne 0x40e6db
push 0x43d70f
push ecx
call fcn.0042909e
add esp, 8
mov esi, dword [esp + 0x24]
mov ebp, eax
push esi
call fcn.00429e13
add esp, 4
mov dword [esp + 0x38], eax
push ebp
push esi
push 1
push dword [esp + 0x44]
call fcn.0042928a
add esp, 0x10
push ebp
call fcn.00428f49
add esp, 4
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], 0
movzx edx, word [ecx + eax + 6]
lea eax, [ecx + eax + 0xf8]
mov dword [esp + 0x24], eax
mov eax, 0x517c7795
mov dword [esp + 0x3c], edx
cmp eax, 0x296399b0
jg 0x40da1b
nop word [eax + eax]
cmp eax, 0x744530a
jle 0x40ee20
cmp eax, 0x744530b
je 0x40ee3e
cmp eax, 0x24b02e87
je 0x40ee53
cmp eax, 0x26664463
jne 0x40da10
mov ecx, dword [0x441f50]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
not ecx
and edx, 0xf714520
mov edi, ecx
mov esi, ecx
and edi, 0xf08ebadf
and esi, eax
or edx, edi
mov ebx, edx
xor edx, 0xf08ebadf
xor ebx, 0xd514000
mov edi, edx
and edi, 0x92a6a7b2
and ebx, 0x6d59584d
or ebx, edi
mov edi, esi
and esi, 0x6d59584d
not edi
or edx, edi
and edi, 0x92a6a7b2
or esi, edi
not edx
mov edi, eax
xor esi, ebx
and edi, 0xe38b67d7
or edx, esi
mov esi, edx
and edx, 0x41130be1
not esi
and esi, 0xbeecf41e
or edx, esi
mov esi, edx
xor edx, 0xa0403408
xor esi, 0x100be1
and edx, 0xe1433408
and esi, 0x1ebccbf7
or edx, esi
mov esi, edx
xor esi, 0x1ebccbf7
and esi, edx
mov edx, ecx
and ecx, 0x320081e6
and edx, 0x1c749828
or edi, edx
mov edx, edi
xor edi, 0x1c700028
xor edx, 0xe38b67d7
and edi, 0x3ff8062a
mov ebx, edx
and edx, 0xe1433408
and ebx, 0xc007f9d5
or ebx, edi
xor ebx, 0xdebb3222
or edx, ebx
mov ebx, esi
mov edi, edx
not ebx
not edi
and edi, ebx
or ebx, edx
and edx, esi
not ebx
or edx, edi
mov esi, ebx
and esi, edx
xor edx, ebx
or edx, esi
mov edi, edx
mov esi, edx
xor edi, 0x34bf02d5
and esi, 0x341e0210
and edi, edx
not edx
and edx, 0xa100c5
or esi, edx
xor esi, 0x341e0210
mov edx, esi
and edx, edi
xor edi, esi
mov esi, eax
or edi, edx
xor esi, 0xba66d5ee
mov edx, edi
and esi, eax
and eax, 0x88665408
and edi, 0x431513db
not edx
or eax, ecx
and edx, 0xbceaec24
xor eax, 0x88665408
or edi, edx
mov ecx, eax
mov edx, edi
xor edi, 0x41045a88
and ecx, esi
xor esi, eax
xor edx, 0x92290506
or esi, ecx
and edi, 0x45c47a89
and edx, 0xba3b8576
mov eax, esi
and esi, 0x72c30950
or edx, edi
not eax
mov edi, edx
xor edx, 0x45c47a89
and eax, 0x8d3cf6af
xor edi, 0x983a8562
or esi, eax
mov ecx, edx
and edx, 0x6641409c
mov eax, dword [0x441f54]
and edi, 0x99bebf63
or edi, edx
mov edx, esi
xor esi, 0x375a2341
xor edx, 0x88a49c22
or ecx, esi
and esi, 0x6641409c
and edx, 0x99bebf63
not ecx
or edx, esi
mov esi, ecx
xor edx, edi
and esi, edx
xor edx, ecx
or edx, esi
mov ecx, edx
xor ecx, 0x4e0ffe94
and ecx, edx
not edx
and edx, 0x4e0ffe94
mov esi, edx
and esi, ecx
xor ecx, edx
or ecx, esi
mov edx, ecx
and ecx, 0x7e2af613
not edx
and edx, 0x81d509ec
or ecx, edx
mov edx, ecx
xor ecx, 0xcfdaf778
xor edx, 0x10010882
mov esi, ecx
and esi, 0xecf40755
and edx, 0x130bf8aa
or edx, esi
xor edx, 0xecf40755
xor ecx, edx
test ecx, edx
sete byte [esp + 8]
setne ch
cmp eax, 0xa
setl cl
cmp eax, 9
setg dl
mov ebx, edx
xor bl, cl
mov ah, bl
mov dh, bl
xor ah, 1
mov bh, ah
mov al, ah
or dh, ah
and bh, bl
and al, bh
xor bh, ah
or bh, al
mov al, bh
xor al, 1
and al, dh
xor dh, 1
and bh, dh
or bh, al
mov al, bl
xor al, dh
or dh, bl
and bl, dl
xor dl, ch
xor dh, 1
or dh, al
mov al, dh
xor al, bh
xor bh, 1
or bh, dh
xor al, 1
xor bh, 1
or bh, al
mov dh, bh
xor dh, cl
and bh, dh
and dh, cl
mov al, bh
and al, dh
xor dh, bh
mov bh, ch
or dh, al
mov al, cl
xor al, ah
and ah, cl
and al, cl
or ah, bl
mov bl, al
and bl, ah
xor ah, al
or ah, bl
mov al, ah
xor al, 1
and ah, al
mov bl, al
and bl, ah
xor ah, al
mov byte [esp + 0x1c], bl
mov bl, byte [esp + 8]
or ah, byte [esp + 0x1c]
xor ch, bl
mov al, ah
or ah, dh
xor al, dh
xor ah, 1
mov dh, al
or ah, al
xor dh, 1
xor al, ah
or ah, dh
mov dh, ch
and ch, bl
xor al, 1
xor dh, 1
xor ah, 1
and bh, dh
or ah, al
xor dh, bl
or bh, ch
mov al, bh
xor al, bl
and al, bh
mov bh, bl
mov ch, al
mov bl, al
and ch, dh
xor dh, 1
xor bl, 1
and bl, dh
or bl, ch
mov ch, al
xor ch, dh
or dh, al
xor bl, 1
xor dh, 1
mov al, bl
or dh, ch
mov ch, ah
or bl, dh
xor al, dh
xor ch, 1
xor bl, 1
or bl, al
mov al, bl
mov dh, bl
xor al, 1
and dh, ch
and ah, al
or dh, ah
mov ah, dh
xor ah, al
and ah, dh
mov dh, al
and dh, bl
xor al, dh
xor dh, 1
or dh, bl
xor dh, 1
or dh, al
mov al, ah
xor dh, ch
xor al, 1
xor ch, dh
and ch, dh
mov dh, al
and dh, ah
xor al, dh
xor dh, 1
or dh, ah
xor dh, 1
or dh, al
mov al, ah
xor dh, ch
xor al, ch
or ch, ah
xor ch, 1
or ch, al
mov al, dh
xor al, ch
or ch, dh
xor ch, 1
or ch, al
mov eax, ecx
xor cl, bh
and al, bh
mov bl, ch
mov bh, ch
or cl, al
mov eax, edx
and dl, cl
xor cl, 1
xor al, 1
mov ah, cl
xor ah, al
and al, cl
and ah, cl
or al, dl
mov cl, ah
xor ah, al
xor al, 1
xor cl, 1
or al, cl
xor al, 1
or al, ah
mov cl, al
xor cl, 1
mov edx, ecx
mov ah, cl
and dl, al
and ah, dl
xor dl, cl
or cl, al
or dl, ah
mov eax, ecx
mov ah, dl
xor al, 1
xor ah, 1
and al, ah
or ah, cl
and cl, dl
or cl, al
mov al, ah
xor cl, 1
xor al, cl
or cl, ah
mov ah, ch
xor cl, 1
xor ah, 1
or cl, al
or bl, ah
mov al, cl
mov dh, bl
and bl, ah
xor al, 1
xor dh, 1
and cl, al
and bh, dh
mov dl, cl
xor cl, al
or bh, bl
mov bl, ah
and dl, al
xor bl, dh
or dh, ah
or cl, dl
xor dh, 1
mov al, cl
or dh, bl
mov bl, bh
xor al, 1
xor dh, 1
and cl, al
mov dl, al
and bl, dh
xor dh, bh
and dl, cl
xor cl, al
or dh, bl
or cl, dl
mov al, cl
mov dl, cl
mov ebx, ecx
xor al, 1
or dl, al
and ch, al
mov bh, dl
or bl, dl
and dl, al
xor bh, 1
xor bl, 1
and bh, cl
and cl, ah
or dl, bh
mov bh, bl
or ch, cl
mov cl, ah
and bh, dl
xor dl, bl
mov bl, dh
xor cl, al
or al, ah
xor al, 1
or dl, bh
xor bl, 1
or al, cl
and bl, dl
xor dl, 1
mov cl, ch
and dl, dh
xor al, 1
and cl, al
xor al, ch
or dl, bl
or al, cl
mov ecx, edx
mov ch, dl
xor cl, 1
and ch, cl
mov ah, ch
xor ch, dl
and ah, dl
mov edx, ecx
xor cl, al
or ch, ah
and dl, al
xor ch, al
or cl, dl
mov edx, 0x744530b
mov al, ch
xor al, cl
not al
test al, 1
mov eax, 0xc19e1ee4
cmovne edx, eax
test cl, 1
mov eax, 0x744530b
cmovne eax, edx
test ch, 1
cmovne eax, edx
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
cmp eax, 0xc19e1ee4
je 0x40ee75
cmp eax, 0xf08ed563
je 0x40ee8a
cmp eax, 0xcfb687bc
jne 0x40da10
jmp 0x40f2b0
mov eax, 0xcfb687bc
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
cmp dword [esp + 0x34], 0
mov eax, 0x6449c347
mov ecx, 0x315208f6
cmove eax, ecx
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
mov eax, 0x26664463
cmp eax, 0x296399b0
jg 0x40da1b
jmp 0x40e950
mov esi, dword [esp + 0x4c]
sub esp, 4
mov al, byte [esp + 0x58]
lea edi, [esp + 0x60]
mov ecx, edi
mov byte [esp], al
call fcn.00410890
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0xf
mov byte [esp + 0x5c], 0
push esi
call fcn.00429e20
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.00411ea0
mov eax, dword [0x441f48]
lea ecx, [eax - 1]
imul ecx, eax
mov esi, ecx
mov ebp, ecx
mov dword [esp + 0x14], ecx
not esi
and ebp, 0xab3da9d1
mov edi, esi
mov edx, esi
mov eax, esi
mov dword [esp + 8], esi
and edi, 0x54c2562e
and edx, ecx
or ebp, edi
and eax, edx
xor edx, esi
xor ebp, 0x54c2562f
or edx, eax
or ebp, esi
not edx
mov ebx, ebp
or edx, 1
and ebp, 0xd462bc58
not ebx
mov eax, edx
mov esi, edx
mov edi, ebx
not eax
xor esi, 0x3ae0dd3a
and ebx, 0x3ae0dd3b
and edi, 0x2b9d43a7
and esi, eax
or edi, ebp
mov ebp, edx
xor ebp, 0x3ae0dd3b
and ebp, edx
and edx, 0xb0a722c9
mov ecx, ebp
and ecx, esi
xor esi, ebp
mov ebp, edi
or esi, ecx
mov ecx, edi
xor ebp, 0x2b9d43a7
xor edi, 0xd462bc58
xor ecx, 0x117d9e9c
and ecx, ebp
and ebp, 0xb0a722c9
mov dword [esp], ecx
and dword [esp], ebx
xor ebx, ecx
mov ecx, esi
or ebx, dword [esp]
not ecx
and ecx, ebx
not ebx
and ebx, esi
or ebx, ecx
mov ecx, eax
or eax, edi
and edi, 0x4f58dd36
and ecx, 0x4f58dd36
or ebp, edi
not eax
or edx, ecx
mov ecx, ebx
xor ebp, edx
mov edx, dword [esp + 8]
or eax, ebp
not eax
and ecx, eax
xor eax, ebx
or eax, ecx
mov ecx, dword [esp + 0x14]
and edx, 0x9ff49df2
and ecx, 0x600b620d
or ecx, edx
mov edx, ecx
xor ecx, 0x88701912
mov edi, ecx
mov ecx, eax
xor edx, 0x600b620d
and eax, 0x748e4fb1
not ecx
and edi, 0xe8735b1f
mov esi, ecx
xor esi, edx
not esi
and esi, edx
and edx, 0x178ca4e0
or edx, edi
mov edi, esi
xor edx, 0xe8735b1f
or edx, ecx
and ecx, 0x8b71b04e
not edx
or eax, ecx
and edi, edx
xor edx, esi
mov ecx, eax
xor eax, 0x8b71b04e
mov esi, dword [0x441f4c]
or edx, edi
xor ecx, 0x748e4fb1
and eax, edx
not edx
and ecx, edx
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
setne cl
sete al
sete byte [esp + 0x58]
cmp esi, 0xa
mov esi, 0xc00d5b20
setl dl
setl byte [esp + 0x50]
mov ah, dl
xor cl, dl
xor ah, al
and al, dl
mov edx, ecx
mov dh, cl
or al, ah
xor ah, 1
xor dl, 1
mov ch, ah
or ah, al
xor dh, dl
xor ch, al
xor ah, 1
and dh, cl
or ah, ch
mov ch, ah
xor ch, 1
mov al, ch
and cl, ch
or al, ah
mov ebx, eax
xor bl, 1
and bl, ch
or ch, al
and al, ah
xor ch, 1
or al, bl
mov bl, ch
and bl, al
xor al, ch
mov ch, dh
or al, bl
xor ch, 1
or ch, al
xor al, 1
or al, dh
xor ch, 1
xor al, 1
mov dh, ch
and dh, al
xor al, ch
mov ch, ah
xor ch, dl
and dl, ah
or al, dh
and ch, ah
or dl, cl
mov ah, al
xor ch, 1
xor dl, 1
mov cl, ch
xor cl, dl
or dl, ch
xor dl, 1
or dl, cl
mov ecx, eax
xor cl, 1
and ah, cl
xor ah, 1
mov ch, ah
or ah, cl
xor ch, cl
xor ah, 1
or ah, ch
mov cl, ah
and ah, dl
xor dl, 1
xor cl, 1
and cl, dl
or ah, cl
mov ecx, eax
xor cl, dl
or dl, al
xor dl, 1
or dl, cl
mov ecx, 0x97ee86f5
mov al, dl
xor al, ah
test dl, 1
cmovne esi, ecx
test ah, 1
not al
cmove esi, ecx
test al, 1
mov eax, 0xc00d5b20
cmovne esi, eax
mov eax, 0x542656ab
cmp eax, 0x542656aa
jg 0x40f140
cmp eax, 0x97ee86f5
je 0x40f12a
cmp eax, 0xc00d5b20
jne 0x40f110
jmp 0x40d9c8
mov eax, 0x73a6f4c0
cmp eax, 0x542656aa
jle 0x40f117
nop word cs:[eax + eax]
cmp eax, 0x73a6f4c0
je 0x40f29e
cmp eax, 0x542656ab
jne 0x40f110
mov dh, byte [esp + 0x58]
mov ah, byte [esp + 0x50]
mov bl, ah
mov bh, ah
mov al, dh
xor bl, 1
xor al, 1
mov ecx, ebx
and cl, ah
mov ch, cl
mov dl, cl
xor cl, 1
and ch, bl
xor dl, bl
xor bh, cl
or cl, ah
or dl, ch
xor cl, 1
xor dl, dh
or cl, bh
mov ch, dl
or dl, dh
xor cl, al
xor ch, dh
xor dh, ah
xor cl, 1
xor dl, 1
xor dh, 1
or cl, al
or dl, ch
or dh, bl
mov eax, ecx
mov ch, dl
mov bh, dl
mov byte [esp + 0x14], dl
mov bl, dh
xor al, 1
mov ah, dh
xor ch, 1
xor bl, 1
and al, dh
and ah, cl
or bh, ch
mov byte [esp], ch
and bl, cl
xor cl, dh
or cl, ah
or al, bl
mov bl, bh
xor cl, 1
mov ah, al
xor bl, 1
and ah, cl
xor cl, al
and bl, byte [esp]
or cl, ah
mov ah, dl
mov dl, ah
mov dh, cl
mov ch, cl
xor dl, bh
and bh, ah
xor dh, 1
and dl, ah
or bh, bl
or ch, dh
mov bl, dl
mov al, ch
and bl, bh
xor bh, dl
mov dl, cl
xor al, 1
or bh, bl
mov bl, cl
and bl, dh
xor dl, bl
xor bl, 1
or bl, dh
xor bl, 1
or bl, dl
mov dl, bl
and bl, al
or al, dh
xor dl, 1
xor al, 1
and dl, ch
xor ch, cl
or bl, dl
or al, ch
xor bl, 1
mov dl, bl
or bl, al
xor dl, al
xor bl, 1
mov al, bh
or bl, dl
xor al, 1
mov dl, bl
and bh, al
mov ah, al
xor dl, 1
and ah, bh
xor bh, al
and bl, dl
mov al, dl
or bh, ah
and al, bl
xor bl, dl
mov dl, byte [esp]
or bl, al
xor bl, bh
and dh, dl
or dl, cl
and cl, byte [esp + 0x14]
xor dl, 1
mov eax, edx
or cl, dh
and al, cl
xor cl, dl
mov edx, 0x97ee86f5
or cl, al
mov eax, ecx
xor al, bl
xor bl, 1
or bl, cl
mov bh, al
xor bh, bl
test al, 1
mov eax, 0x73a6f4c0
cmovne eax, edx
test bl, 1
not bh
cmovne eax, edx
test bh, 1
mov edx, 0x73a6f4c0
cmove eax, edx
cmp eax, 0x542656aa
jle 0x40f117
jmp 0x40f140
mov eax, esi
cmp eax, 0x542656aa
jle 0x40f117
jmp 0x40f140
lea ecx, [esp + 0x74]
call fcn.0040f370
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.00423cc3
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret