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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [0x4c9838]
xor eax, ebp
mov dword [esp + 0xa8], eax
push dword [ebp + 0xc]
call fcn.004aa546
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [ecx + eax + 0x20]
mov ecx, 0x4b5ed4d1
mov eax, 0xce091a85
add ecx, 0xdcb42f54
mov dword [esp + 0x3c], ecx
mov ecx, 0x4384defe
add ecx, 0x1c2f1593
mov dword [esp + 0x38], ecx
movsd qword [esp + 0x58], xmm0
nop dword [eax]
cmp eax, 0xfc586b3a
jg 0x40a060
cmp eax, 0xce091a84
jg 0x409fc0
cmp eax, 0xa1ef7f03
jg 0x40a4ad
cmp eax, 0x8f51a1a5
jg 0x40a9e4
cmp eax, 0x804f7529
je 0x40af7b
cmp eax, 0x83f16fe4
je 0x40af92
cmp eax, 0x8ded109f
jne 0x409e30
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
xor edx, 0x7575881b
mov esi, eax
and edx, ecx
and ecx, 0x4c72396e
and eax, 0xb38dc691
and esi, 0x7575881b
or eax, ecx
mov edi, esi
and edi, edx
xor edx, esi
or edx, edi
mov esi, edx
and edx, 0x33509563
not esi
and esi, 0xccaf6a9c
or edx, esi
mov esi, edx
xor edx, 0xb9dae286
xor esi, 0x2050411
mov edi, edx
and edi, 0x4c72396e
and esi, 0xb38dc691
or esi, edi
xor eax, esi
mov esi, dword [0x4ca694]
xor edx, eax
test edx, eax
sete ch
setne ah
cmp esi, 9
mov cl, ch
setg al
cmp esi, 0xa
mov esi, 0xf80a384f
setl dl
xor cl, ah
and al, ch
and cl, ch
and ah, dl
mov dh, cl
or al, ah
xor dh, 1
xor al, 1
or cl, dh
mov bl, dh
xor bl, cl
or cl, dh
xor cl, 1
or cl, bl
xor cl, 1
mov dh, cl
xor cl, dl
not cl
or dh, dl
and cl, dl
or dl, ch
xor dh, 1
mov ah, dl
mov bl, dh
xor ah, al
or al, dl
and bl, cl
xor cl, dh
xor al, 1
or cl, bl
or al, ah
mov edx, eax
xor dl, 1
and al, dl
mov ah, dl
and ah, al
xor al, dl
or al, ah
mov ah, cl
xor ah, 1
mov edx, eax
mov ch, ah
xor dl, 1
and ch, cl
and dl, al
xor ah, ch
xor ch, 1
xor dl, 1
or ch, cl
xor ch, 1
or ch, ah
mov ah, al
xor ah, dl
or dl, al
xor dl, 1
or dl, ah
mov ah, ch
xor ah, 1
and ah, dl
xor dl, 1
and dl, ch
or dl, ah
mov ah, cl
xor ah, al
or al, cl
xor al, 1
or al, ah
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x12d188ff
cmovne eax, esi
test dl, 1
mov edx, 0x12d188ff
cmove eax, esi
test cl, 1
jmp 0x40bf8b
cmp eax, 0xe3c8ecbc
jg 0x40a8a3
cmp eax, 0xd9f0db36
jg 0x40abe5
cmp eax, 0xce091a85
je 0x40b069
cmp eax, 0xd105dd65
je 0x40b0a4
cmp eax, 0xd94d6fdf
jne 0x409e30
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov eax, 0xa2faec1a
add ecx, eax
mov eax, 0x981533cc
adc edx, eax
sub ecx, 0xe332f1f1
mov eax, 0xe5f1ca41
sbb edx, 0xa9a8258a
sub ecx, 0xa2faec1a
sbb edx, 0x981533cc
add ecx, 0xe332f1f1
adc edx, 0xa9a8258a
add ecx, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
cmp eax, 0xfc586b3a
jle 0x409e3b
nop word cs:[eax + eax]
nop
cmp eax, 0x25e574cb
jg 0x40a2f0
cmp eax, 0xc524da6
jg 0x40a655
cmp eax, 0x25123c9
jg 0x40acc7
cmp eax, 0xfc586b3b
je 0x40b22e
cmp eax, 0xfd94165f
je 0x40b26b
cmp eax, 0x21e6a6e
jne 0x409e30
lea ecx, [esp + 0x40]
push dword [esp + 0x24]
call fcn.00426010
mov ecx, dword [0x4ca698]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0x90087e92
not ecx
and edx, 0x2e920029
and ecx, 0x41658144
or edx, ecx
xor edx, 0x2e920029
or eax, edx
mov ecx, eax
and eax, 0x6ff7816d
not ecx
and ecx, 0x90087e92
or eax, ecx
mov ecx, eax
mov edx, eax
xor ecx, 0xbced9b6a
and edx, 0x9e933fb
and ecx, eax
not eax
and eax, 0xf616cc04
or edx, eax
mov eax, edx
mov esi, edx
xor edx, 0xe414c000
xor eax, 0x9e933fb
xor esi, 0x4afb576e
and edx, 0xe59cd2a8
and esi, eax
mov edi, esi
and edi, ecx
xor ecx, esi
or ecx, edi
mov esi, ecx
and ecx, 0xbced9b6b
not esi
and esi, 0x43126494
or ecx, esi
mov esi, eax
and eax, 1
and esi, 0x1a632d57
or esi, edx
mov edx, ecx
xor esi, 0xe59cd2a9
or eax, esi
mov esi, 0x334cd611
not eax
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
mov edx, eax
and eax, 0x533a8263
not ecx
and edx, 0xa4c52c10
and ecx, 0x800518c
or edx, ecx
xor edx, 0xa4c52c10
or eax, edx
mov ecx, eax
and eax, 0xacc57d9c
not ecx
and ecx, 0x533a8263
or eax, ecx
mov ecx, eax
and eax, 0x43865cf4
not ecx
and ecx, 0xbc79a30b
or ecx, eax
mov eax, dword [0x4ca69c]
xor ecx, 0xbc79a30b
sete cl
setne dl
sete byte [esp + 0xa5]
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
mov ah, ch
setl byte [esp + 0xa6]
and cl, ch
and ch, dl
xor ah, dl
and al, dl
or cl, al
or ah, ch
mov al, cl
and cl, ah
xor ah, 1
xor al, 1
mov dl, ah
xor dl, al
and al, ah
and dl, ah
or al, cl
mov ecx, edx
xor cl, al
test al, al
mov eax, 0xe4a1dede
cmovne eax, esi
test dl, dl
mov edx, 0xe4a1dede
cmove eax, edx
test cl, 1
mov cl, byte [esp + 0x44]
mov edx, 0x1895b36a
cmovne eax, esi
nop dword [eax + eax]
cmp edx, 0x334cd610
jg 0x40a2a0
cmp edx, 0xe4a1dede
je 0x40a2d2
cmp edx, 0x1895b36a
jne 0x40a220
movzx edx, byte [esp + 0xa5]
mov ch, byte [esp + 0xa6]
mov edi, 0x5204713d
mov esi, 0xe4a1dede
mov dh, dl
mov bh, dl
xor dh, 1
mov bl, dh
xor bl, ch
xor bl, 1
or bl, dh
and dh, dl
xor dh, 1
xor bh, dh
or dh, dl
xor dh, 1
or dh, bh
xor dh, ch
mov ch, bl
or ch, dh
xor dh, bl
mov bl, dh
xor bl, ch
test dh, 1
mov edx, 0xe4a1dede
cmovne edx, edi
test ch, 1
cmovne edx, esi
test bl, 1
cmove edx, edi
cmp edx, 0x334cd610
jle 0x40a228
nop
cmp edx, 0x334cd611
je 0x40b339
cmp edx, 0x5204713d
jne 0x40a220
test cl, cl
mov edx, eax
setne byte [esp + 0xa7]
cmp edx, 0x334cd610
jle 0x40a228
jmp 0x40a2a0
mov edx, 0x5204713d
cmp edx, 0x334cd610
jle 0x40a228
jmp 0x40a2a0
cmp eax, 0x406abe1b
jg 0x40a792
cmp eax, 0x2cab5be3
jg 0x40ad1b
cmp eax, 0x25e574cc
je 0x40b355
cmp eax, 0x25fe341a
je 0x40b397
cmp eax, 0x289f71f1
jne 0x409e30
mov eax, dword [esp + 0x54]
mov eax, dword [ebp + 8]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
and ecx, 0xfffffffe
not eax
xor edx, 0xfffffffe
and edx, eax
and eax, 1
or eax, ecx
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
or eax, 0xc841c1c0
not ecx
and eax, 0xcdd5d1c2
mov edx, ecx
and ecx, 0x22a2201
or edx, 0x7be3203
or ecx, eax
mov eax, dword [0x4ca694]
mov esi, edx
and edx, 0xcdd5d1c2
not esi
and esi, 0x30000c3c
or esi, edx
xor esi, ecx
mov ecx, esi
and esi, 0x9d59d665
not ecx
and ecx, 0x62a6299a
or esi, ecx
mov ecx, esi
xor esi, 0x64080181
xor ecx, 0x18a24446
and esi, 0xe64da1a1
and ecx, 0x19b25e5e
or ecx, esi
mov esi, 0x2cab5be4
mov edx, ecx
xor ecx, 0x44080a0
xor edx, 0x8924056
and ecx, 0x15609ea8
and edx, 0xea9f6157
or edx, ecx
xor edx, 0x15609ea8
cmp edx, 0xffffffff
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg ah
mov al, ch
or ch, dl
and dl, ah
and al, cl
xor ah, cl
mov cl, ch
xor cl, ah
or al, dl
xor ah, 1
or ah, ch
mov edx, eax
xor cl, 1
xor ah, 1
xor dl, 1
or ah, cl
mov ch, dl
mov dh, dl
mov cl, ah
and ch, al
and dh, ch
xor ch, dl
xor cl, 1
mov dl, ah
or ch, dh
and dl, cl
mov dh, ah
and dh, dl
xor dl, ah
mov ah, al
xor ah, cl
or cl, al
or dl, dh
xor cl, 1
xor dl, ch
or cl, ah
mov eax, 0xaf261149
mov ch, cl
xor ch, dl
test cl, 1
cmovne eax, esi
test dl, 1
mov edx, 0xaf261149
jmp 0x40b501
cmp eax, 0xc1b1d8d9
jg 0x40ad5c
cmp eax, 0xa1ef7f04
je 0x40b3bb
cmp eax, 0xac6a631f
je 0x40b509
cmp eax, 0xaf261149
jne 0x409e30
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x9d0bf63d
not eax
and eax, 0x62f409c2
or ecx, eax
mov eax, ecx
and ecx, 0x3d36c63d
not eax
and eax, 0xc2c939c2
or ecx, eax
mov edx, ecx
mov eax, ecx
xor ecx, 0x200d0000
xor edx, 0x5fc2cfff
xor eax, 0x5fc2cffe
and ecx, 0x36cd87ff
and eax, edx
and edx, 0xc9327800
or edx, ecx
mov ecx, eax
and eax, 0xd01f55d2
not ecx
mov esi, ecx
and esi, 0x2fe0aa2d
or eax, esi
mov esi, edx
xor edx, 0x36cd87fe
xor esi, 0xc0125000
or ecx, edx
and edx, 0x2fe0aa2d
and esi, 0xd01f55d2
not ecx
or esi, edx
xor esi, eax
or ecx, esi
mov edx, ecx
mov eax, ecx
xor edx, 0xfb34f77e
and eax, 0xed656d1f
and edx, ecx
not ecx
and ecx, 0x129a92e0
or eax, ecx
mov ecx, eax
xor eax, 0x12109260
or eax, 0x4cb0881
xor ecx, 0xa9246404
mov esi, eax
and ecx, 0xa924e624
and esi, 0x52da19db
or ecx, esi
mov esi, edx
and edx, 0xad25e624
not esi
or eax, esi
and esi, 0x52da19db
or edx, esi
not eax
mov esi, 0x15a8fc7d
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x4769c12b
not ecx
and ecx, 0xb8963ed4
or eax, ecx
xor eax, 0xbc5d3655
sete dl
setne ah
cmp dword [0x4ca694], 0xa
setl cl
mov al, cl
xor ah, cl
xor cl, dl
or al, dl
xor ah, 1
mov edx, ecx
xor al, 1
xor dl, 1
or al, ah
and cl, dl
mov ebx, edx
mov ah, al
mov ch, al
and bl, cl
xor cl, dl
xor ah, 1
or cl, bl
and ah, al
and ch, ah
xor ah, al
or ah, ch
mov dh, ah
xor dh, 1
and dh, cl
xor cl, 1
and cl, ah
mov ah, al
and ah, dl
xor dl, al
or cl, dh
or dl, ah
mov eax, edx
xor al, cl
test al, 1
mov eax, 0x339acba0
cmovne esi, eax
test dl, dl
mov eax, 0x15a8fc7d
cmovne eax, esi
test cl, 1
cmove eax, esi
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp eax, 0x15a8fc7c
jg 0x40adb5
cmp eax, 0xc524da7
je 0x40b60f
cmp eax, 0xc773a02
je 0x40b624
cmp eax, 0x12d188ff
jne 0x409e30
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
or ecx, 0xee94352f
not edx
mov esi, ecx
and ecx, 0xaca11e84
or edx, 0x116bcad0
not esi
mov eax, edx
and esi, 0x114ac050
and edx, 0xaca11e84
not eax
or esi, ecx
and eax, 0x4214212b
or eax, edx
xor eax, esi
mov ecx, eax
and eax, 0x116bcad0
not ecx
and ecx, 0xee94352f
or eax, ecx
mov edx, eax
and eax, 1
not edx
mov ecx, edx
and edx, 0xfffffffe
or ecx, 1
or eax, edx
mov esi, ecx
mov edx, ecx
not esi
and edx, 0xd2ea4088
and esi, 0x2d15bf76
or esi, edx
mov edx, eax
and eax, 0x2d15bf77
not edx
or ecx, edx
and edx, 0xd2ea4088
or eax, edx
not ecx
xor eax, esi
mov esi, 0x21e6a6e
or ecx, eax
mov eax, ecx
and ecx, 0xcf01e4ca
not eax
and eax, 0x30fe1b35
or eax, ecx
mov ecx, dword [0x4ca694]
xor eax, 0xcf01e4ca
sete dl
setne ah
cmp ecx, 0xa
setl dh
cmp ecx, 9
setg al
and dh, ah
mov ecx, eax
and dl, al
xor al, ah
and cl, ah
or dh, dl
or al, cl
mov cl, dh
xor cl, 1
and cl, dh
mov dl, cl
xor cl, dh
and dl, dh
or cl, dl
mov dl, cl
xor cl, 1
and dl, al
xor al, 1
and cl, al
or cl, dl
mov dl, al
or al, dh
xor dl, dh
xor al, 1
or al, dl
mov edx, eax
xor dl, cl
test dl, 1
mov edx, 0x9a1dbf3d
cmovne edx, esi
test al, 1
mov eax, 0x9a1dbf3d
jmp 0x40af04
cmp eax, 0x64bfa6a6
jg 0x40adf3
cmp eax, 0x406abe1c
je 0x40b6e4
cmp eax, 0x57387d4b
je 0x40b701
cmp eax, 0x59ee6666
jne 0x409e30
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
and esi, 0xc797cf94
mov edx, eax
and edx, 0x3868306a
or esi, edx
mov edx, esi
xor esi, 0x20002041
xor edx, 0x84810810
and esi, 0x6316e7c5
and edx, 0x9ce9183a
or edx, esi
mov esi, eax
or esi, 0x6316e7c4
and esi, 0x6316e7c5
xor esi, edx
mov edx, esi
and esi, ecx
not edx
and eax, edx
or esi, eax
mov eax, dword [0x4ca694]
not esi
or esi, edx
cmp esi, 0xffffffff
mov esi, 0xf80a384f
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
mov ah, dl
setg cl
or ah, ch
mov al, cl
xor cl, dl
xor ah, 1
and al, dl
xor dl, ch
mov bl, ah
not dl
or cl, al
and dl, ch
mov al, cl
and bl, dl
xor dl, ah
xor al, 1
or dl, bl
mov ah, dl
and dl, cl
xor ah, 1
or cl, ah
and ah, al
or ah, dl
mov al, cl
mov edx, 0x8ded109f
xor al, ah
test al, 1
cmovne edx, esi
test ah, ah
mov esi, 0x8ded109f
mov eax, edx
cmovne eax, esi
test cl, 1
mov esi, dword [esp + 0x20]
cmovne eax, edx
mov edx, dword [esp + 4]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp eax, 0xe6dd9e99
jle 0x40af0e
cmp eax, 0xe6dd9e9a
je 0x40b71d
cmp eax, 0xf80a384f
je 0x40b742
cmp eax, 0xf902d56f
jne 0x409e30
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
or ecx, 1
mov ebx, edx
mov edi, ecx
and edx, 0x703d5da5
and edi, 0x885c1886
and ebx, 0x77a3e778
or ebx, edi
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
and eax, 0x8fc2a25a
mov esi, edi
and edi, 0x77a3e779
or eax, edx
not esi
xor eax, 0x8fc2a25a
or ecx, esi
and esi, 0x885c1886
or edi, esi
not ecx
mov esi, 0x25fe341a
xor edi, ebx
or ecx, edi
mov edi, 0x25123ca
not ecx
mov edx, ecx
and edx, eax
xor eax, ecx
mov ecx, dword [0x4ca694]
or eax, edx
mov edx, eax
and eax, 0xf6d8b347
not edx
and edx, 0x9274cb8
or eax, edx
xor eax, 0xf6d8b347
sete ah
setne dh
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg al
and bl, dh
mov ch, al
mov cl, al
xor ch, ah
xor cl, dh
and ch, al
and al, ah
mov edx, ecx
or al, bl
xor ch, 1
xor dl, 1
xor al, 1
mov ah, ch
xor ah, al
or al, ch
xor al, 1
or al, ah
mov ah, al
xor ah, 1
and al, ah
mov ch, ah
and ch, al
xor al, ah
or al, ch
mov ch, cl
and ch, dl
mov ah, al
mov dh, ch
xor ch, cl
xor ah, 1
xor dh, 1
or dh, dl
xor dh, 1
or dh, ch
mov ch, dh
and dh, ah
xor ah, dl
xor ch, 1
and ch, al
or al, cl
xor al, 1
or dh, ch
or al, ah
mov ecx, eax
xor cl, dh
test cl, 1
cmovne edi, esi
test al, 1
mov eax, 0x25123ca
cmovne eax, edi
test dh, 1
jmp 0x40c442
cmp eax, 0x8f51a1a6
je 0x40b757
cmp eax, 0x9555eb62
je 0x40b9d5
cmp eax, 0x9a1dbf3d
jne 0x409e30
lea ecx, [esp + 0x40]
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x70]
push dword [esp + 0x24]
call fcn.00426010
mov eax, dword [0x4ca698]
mov ecx, dword [0x4ca69c]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x92c6879f
not eax
mov esi, eax
and esi, 0x6d397860
or edx, esi
mov esi, edx
and edx, 0x6d397861
not esi
and esi, 0x92c6879e
or edx, esi
not edx
mov esi, edx
xor edx, eax
and esi, eax
or edx, esi
mov esi, 0x334cd611
cmp edx, 0xffffffff
setne dl
sete ah
sete byte [esp + 0xa5]
cmp ecx, 9
setg al
cmp ecx, 0xa
mov cl, ah
setl ch
setl byte [esp + 0xa6]
xor cl, ch
and dl, ch
mov dh, cl
and cl, ch
and dh, ah
mov bl, dh
and bl, cl
xor cl, dh
mov dh, al
xor dh, ah
or cl, bl
and dh, al
and al, ah
or al, dl
mov dl, dh
xor dh, al
xor dl, 1
xor al, 1
or al, dl
xor al, 1
or al, dh
mov edx, eax
xor dl, 1
mov ah, dl
and ah, al
xor dl, ah
xor ah, 1
or ah, al
xor ah, 1
or ah, dl
mov edx, ecx
mov al, ah
xor dl, 1
xor al, 1
and ah, dl
and cl, al
or cl, ah
mov ah, dl
xor dl, al
and ah, al
or dl, ah
mov eax, edx
xor al, cl
test al, 1
mov eax, 0xe4a1dede
cmovne esi, eax
test dl, 1
mov eax, 0x334cd611
mov edx, 0x1895b36a
cmovne eax, esi
test cl, 1
mov cl, byte [esp + 0x44]
cmove eax, esi
nop word cs:[eax + eax]
cmp edx, 0x334cd610
jg 0x40aba0
cmp edx, 0xe4a1dede
je 0x40abd2
cmp edx, 0x1895b36a
jne 0x40ab10
movzx edx, byte [esp + 0xa5]
mov ch, byte [esp + 0xa6]
mov esi, 0x5204713d
mov edi, 0xe4a1dede
mov bl, ch
mov bh, dl
xor bl, 1
and bh, ch
mov dh, bl
and bl, dl
xor dl, 1
and dh, dl
or bh, dh
mov dh, bh
xor dh, dl
and dl, ch
and dh, bh
or bl, dl
mov dl, dh
xor dh, bl
xor bl, 1
xor dl, 1
or bl, dl
mov dl, bl
xor dl, dh
test dl, 1
cmovne esi, edi
test dh, 1
mov edi, 0x5204713d
mov edx, esi
cmovne edx, edi
test bl, 1
cmovne edx, esi
cmp edx, 0x334cd610
jle 0x40ab1c
nop dword [eax + eax]
cmp edx, 0x334cd611
je 0x40ba27
cmp edx, 0x5204713d
jne 0x40ab10
test cl, cl
mov edx, eax
setne byte [esp + 0xa7]
cmp edx, 0x334cd610
jle 0x40ab1c
jmp 0x40aba0
mov edx, 0x5204713d
cmp edx, 0x334cd610
jle 0x40ab1c
jmp 0x40aba0
cmp eax, 0xd9f0db37
je 0x40bb99
cmp eax, 0xdd276e04
je 0x40be15
cmp eax, 0xdfd90bbe
jne 0x409e30
mov eax, dword [0x4ca690]
mov esi, 0x6ea9aa10
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
or eax, 1
mov edx, eax
and eax, 0x18cfece4
not edx
and edx, 0xe730131a
or edx, eax
mov eax, ecx
or eax, 0x18cfece4
and eax, 0x18cfece5
xor eax, edx
mov edx, eax
and eax, ecx
not ecx
not edx
and ecx, edx
or eax, ecx
mov ecx, dword [0x4ca694]
not eax
or eax, edx
cmp eax, 0xffffffff
setne dl
sete ah
cmp ecx, 0xa
setl dh
cmp ecx, 9
setg al
or dh, dl
mov ch, al
mov dl, dh
xor ch, ah
mov cl, ch
xor cl, al
or al, ah
xor dl, al
or al, dh
and cl, ch
xor al, 1
mov ch, cl
or al, dl
mov edx, ecx
xor dl, 1
mov ah, al
and ch, dl
xor ah, 1
xor ch, 1
mov dh, ch
or ch, dl
xor dh, dl
xor ch, 1
or ch, dh
mov dh, ch
and ch, ah
xor ah, dl
xor dh, 1
and dh, al
or al, cl
xor al, 1
or ch, dh
mov edx, 0xc1b1d8da
or al, ah
mov cl, al
xor cl, ch
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0xc1b1d8da
jmp 0x40bb8e
cmp eax, 0x25123ca
je 0x40be46
cmp eax, 0x86647dd
je 0x40bf9e
cmp eax, 0x8c33da6
jne 0x409e30
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], eax
mov eax, 0xc7d9087a
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp eax, 0x2cab5be4
je 0x40bfb3
cmp eax, 0x339acba0
je 0x40c247
cmp eax, 0x3a87a199
jne 0x409e30
mov ecx, dword [esp + 0xa0]
mov eax, 0xe3c8ecbd
mov dword [esp + 0xc], ecx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp eax, 0xc1b1d8da
je 0x40c25c
cmp eax, 0xc684dd20
je 0x40c455
cmp eax, 0xc7d9087a
jne 0x409e30
mov eax, dword [esp + 0x14]
mov ecx, 0x9555eb62
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov eax, 0xd105dd65
cmp dword [esp + 0x90], 0
jmp 0x40ba09
cmp eax, 0x15a8fc7d
je 0x40c471
cmp eax, 0x19166394
je 0x40c59c
cmp eax, 0x25188a28
jne 0x409e30
mov eax, 0xe3c8ecbd
mov dword [esp + 0xc], 4
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp eax, 0x64bfa6a7
je 0x40c5b0
cmp eax, 0x6ea9aa10
je 0x40c641
cmp eax, 0x74157615
jne 0x409e30
cmp dword [esp + 0x94], 0
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
sete byte [esp + 0x77]
imul eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0x6be8bafb
not ecx
or edx, 1
mov esi, ecx
and edx, 0x4e15d70d
and esi, 0xb1ea28f2
or esi, edx
mov edx, ecx
and ecx, 0x94174504
or edx, 0x4e15d70c
or eax, ecx
and edx, 0x4e15d70d
xor edx, esi
mov ecx, edx
and edx, 0xabeda337
not ecx
mov esi, ecx
and esi, 0x54125cc8
or edx, esi
mov esi, eax
xor eax, 0x14124400
xor esi, 0x2be8a233
and eax, 0x54125cc8
and esi, 0xabeda337
or esi, eax
mov eax, dword [0x4ca694]
xor esi, edx
xor ecx, esi
test ecx, esi
mov esi, 0x57387d4b
setne dl
sete ch
cmp eax, 9
setg dh
cmp eax, 0xa
setl al
mov ah, al
xor ah, dh
and ah, al
mov cl, ah
mov bl, ah
xor cl, 1
or cl, ah
xor cl, 1
and bl, cl
xor cl, ah
or cl, bl
mov ah, cl
and cl, dl
xor dl, dh
xor ah, 1
and ah, ch
or cl, ah
mov ah, al
xor al, ch
and ah, ch
or al, ah
mov ah, dl
xor al, 1
and ah, al
xor al, dl
or al, ah
xor al, cl
and cl, al
mov edx, eax
xor dl, cl
test dl, 1
mov edx, 0x25e574cc
cmovne edx, esi
test al, 1
mov eax, 0x25e574cc
cmovne eax, edx
test cl, cl
jmp 0x40bf8b
cmp eax, 0xe3c8ecbd
je 0x40c7df
cmp eax, 0xe5f1ca41
jne 0x409e30
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], 0
mov ecx, 0x8f51a1a6
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x84], eax
xor eax, eax
cmp eax, dword [esp + 0x80]
mov eax, 0
sbb eax, dword [esp + 0x84]
mov eax, 0xc7d9087a
cmovl eax, ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x84]
jmp 0x40b6d0
cmp byte [esp + 0x67], 0
mov eax, 0xdfd90bbe
mov ecx, 0x59ee6666
cmovne eax, ecx
jmp 0x40b084
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
xor ecx, 0xfffffffe
mov esi, edx
and ecx, eax
and edx, 0xc3643a19
and eax, 0x3c9bc5e6
and esi, 0xfffffffe
or eax, edx
mov edi, esi
and edi, ecx
xor ecx, esi
or ecx, edi
mov edx, ecx
and ecx, 0x1632041d
not edx
mov esi, edx
and esi, 0xe9cdfbe2
or ecx, esi
mov esi, eax
xor eax, 0xc1443a00
xor esi, 0x14120404
and eax, 0xe9cdfbe2
and esi, 0x1632041d
or esi, eax
mov eax, dword [0x4ca694]
xor esi, ecx
not esi
or esi, edx
cmp esi, 0xffffffff
mov esi, 0xdd276e04
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
xor ch, dl
and al, dl
mov edx, eax
and dl, ch
xor ch, al
mov eax, 0x3a87a199
or ch, dl
xor ch, cl
and cl, ch
mov dl, ch
xor dl, cl
test ch, ch
cmovne eax, esi
test cl, cl
mov ecx, 0x3a87a199
cmove eax, esi
test dl, dl
jmp 0x40c589
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
cmp eax, 1
mov eax, 0xf902d56f
sbb ecx, 0
mov ecx, 0x59ee6666
cmovl eax, ecx
mov dword [esp + 0x20], 0
mov dword [esp + 4], 0
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
and esi, 0xef471765
mov edx, eax
and eax, 0x10b8e89a
and edx, ecx
or eax, esi
mov esi, edx
and edx, 0x10b8e89a
not esi
or ecx, esi
and esi, 0xef471765
or edx, esi
not ecx
xor edx, eax
or ecx, edx
mov edx, ecx
mov eax, ecx
xor edx, 1
not eax
and edx, ecx
and eax, 0xe295523f
and ecx, 0x1d6aadc0
or ecx, eax
mov eax, edx
and edx, 0x1a84409b
not eax
mov esi, eax
and esi, 0xe57bbf64
or edx, esi
mov esi, ecx
xor ecx, 0xe295523e
xor esi, 0x18000081
or eax, ecx
and ecx, 0xe57bbf64
and esi, 0x1a84409b
not eax
or esi, ecx
xor esi, edx
or eax, esi
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0x636d7ada
and edx, 0x9c928525
or eax, edx
mov edx, eax
xor eax, 0x9c928525
xor edx, 0x234c3048
mov esi, eax
and esi, 0x5833cf93
and edx, 0xa7cc306c
or edx, esi
mov esi, ecx
and ecx, 0xa7cc306c
not esi
or eax, esi
and esi, 0x5833cf93
or ecx, esi
not eax
mov esi, 0x74157615
xor ecx, edx
or eax, ecx
mov ecx, eax
and eax, 0x7c4fbdbb
not ecx
mov edx, ecx
and edx, 0x83b04244
or eax, edx
mov edx, dword [0x4ca694]
xor eax, 0x7c4fbdbb
or eax, ecx
cmp eax, 0xffffffff
setne al
sete ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
and al, cl
and dl, ah
or al, dl
mov edx, ecx
xor cl, ah
and dl, ah
mov ch, al
or dl, cl
xor cl, 1
xor ch, 1
mov ah, cl
or cl, dl
xor ah, dl
xor cl, 1
or cl, ah
mov edx, ecx
xor dl, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov edx, ecx
and cl, ch
xor dl, 1
or ch, dl
and dl, al
or dl, cl
mov al, ch
xor al, dl
test al, 1
mov eax, 0x57387d4b
cmovne esi, eax
test dl, dl
mov edx, 0x74157615
mov eax, esi
cmovne eax, edx
mov edx, dword [esp + 0x1c]
test ch, 1
cmovne eax, esi
mov dword [esp + 0x94], edx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x34]
mov ecx, 0xd9f0db37
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
xor eax, eax
cmp eax, dword [esp + 0x98]
mov eax, 0
sbb eax, dword [esp + 0x9c]
mov eax, 0xac6a631f
cmovl eax, ecx
jmp 0x40b37d
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0x38ba5676
mov edx, ecx
and ecx, 0xbb25dfe5
and edx, 0xc745a988
or esi, edx
mov edx, eax
and eax, 0x44da201a
xor esi, 0x38ba5676
and edx, 1
or eax, ecx
or edx, esi
xor eax, 0x44da201a
mov esi, 0x86647dd
not edx
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, dword [0x4ca694]
cmp eax, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, al
and dl, cl
or ah, dl
mov dl, ah
xor dl, cl
and dl, ah
mov ah, cl
or cl, al
xor ah, al
xor cl, 1
mov ch, dl
not ah
xor ch, 1
and ah, al
mov al, ah
and al, cl
xor cl, ah
or cl, al
mov eax, ecx
and cl, ch
xor al, 1
or ch, al
and al, dl
or al, cl
mov dl, ch
xor dl, al
test dl, 1
mov edx, 0xa1ef7f04
cmovne edx, esi
test al, 1
mov esi, 0xa1ef7f04
mov eax, edx
cmovne eax, esi
test ch, 1
cmovne eax, edx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov al, byte [esp + 0xa7]
mov eax, 0x9a1dbf3d
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp byte [esp + 0x77], 0
mov eax, 0xac6a631f
mov ecx, 0xfc586b3b
cmovne eax, ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov eax, dword [ebp + 8]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, 0x25123ca
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
and ecx, 0xbc20c9c0
mov esi, edx
and edx, 0x5ddf15d0
and esi, 0x43df363e
or ecx, esi
mov esi, ecx
xor ecx, 0x43df363f
xor esi, 0xac00c040
mov edi, ecx
and edi, 0x50fe2fb2
and esi, 0xaf01d04c
or esi, edi
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
and eax, 0xa220ea2f
mov ebx, edi
and edi, 0xaf01d04d
or eax, edx
not ebx
mov edx, eax
xor eax, 0x5ddf15d0
or ecx, ebx
and ebx, 0x50fe2fb2
xor edx, 0xa220ea2f
or edi, ebx
not ecx
xor edi, esi
mov esi, dword [0x4ca694]
or ecx, edi
and eax, ecx
not ecx
and edx, ecx
or eax, edx
not eax
or eax, ecx
cmp eax, 0xffffffff
sete dl
setne ah
cmp esi, 9
setg ch
cmp esi, 0xa
mov esi, 0x86647dd
setl cl
xor ch, cl
and ch, cl
mov al, ch
mov dh, ch
xor al, 1
and dh, al
mov bl, dh
xor dh, ch
xor bl, 1
or bl, al
or al, ch
xor bl, 1
xor al, 1
or bl, dh
mov ch, bl
and ch, al
xor al, bl
or al, ch
or ah, al
xor al, 1
or al, dl
mov ch, al
or al, ah
xor ch, ah
mov ah, dl
xor al, 1
xor ah, cl
and cl, dl
or al, ch
mov ch, ah
or cl, ah
xor ch, 1
xor ah, cl
or cl, ch
xor ah, 1
mov ch, al
xor cl, 1
or cl, ah
mov edx, ecx
xor dl, 1
mov ah, dl
and ah, cl
xor dl, ah
xor ah, 1
or ah, cl
mov cl, al
xor ah, 1
xor cl, 1
or ah, dl
mov edx, ecx
and dl, al
xor ah, 1
xor dl, 1
xor ch, dl
or dl, al
mov al, cl
xor cl, ah
xor dl, 1
and al, ah
or dl, ch
or cl, al
xor dl, ah
mov ch, cl
mov eax, 0x25188a28
xor ch, dl
test cl, 1
cmovne eax, esi
test dl, 1
mov edx, 0x25188a28
cmove eax, esi
jmp 0x40bb91
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
or edx, 0x21c24022
not ecx
mov esi, edx
mov edi, ecx
and edx, 0xd7597793
not esi
or edi, 0xde3dbfdd
and esi, 0x824884c
or esi, edx
mov edx, edi
and edi, 0xd7597793
not edx
and edx, 0x20820020
or edx, edi
xor edx, esi
mov esi, edx
and edx, 0x6d591419
not esi
and esi, 0x92a6ebe6
or edx, esi
mov esi, edx
xor edx, 0x4c9b543a
xor esi, 0xb364abc5
and ecx, edx
and esi, eax
or esi, ecx
mov ecx, dword [0x4ca694]
xor edx, esi
test edx, esi
mov esi, 0x83f16fe4
setne dl
sete ah
cmp ecx, 0xa
setl al
cmp ecx, 9
setg ch
xor dl, ah
and dl, ah
mov cl, dl
and dl, ch
xor cl, 1
and cl, al
xor al, ah
or cl, dl
mov dl, ch
xor dl, ah
and dl, ch
mov ch, cl
mov ah, dl
and ah, al
xor al, dl
or al, ah
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 dl, 1
and dl, al
xor al, 1
xor ch, al
and al, cl
and ch, cl
or al, dl
mov edx, 0xdd276e04
mov cl, ch
xor cl, al
test al, al
mov eax, 0xdd276e04
cmovne eax, esi
test ch, ch
cmove eax, edx
mov edx, dword [esp]
test cl, 1
cmovne eax, esi
mov dword [esp + 0xa0], edx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, 0xc1b1d8da
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax + 0x14]
mov edx, eax
mov ecx, eax
xor edx, 0xc2184a18
and ecx, 0x42084800
and edx, eax
not eax
mov esi, eax
and esi, 0x80100218
or ecx, esi
xor ecx, 0x42084800
mov esi, ecx
and esi, edx
xor edx, ecx
or edx, esi
mov ecx, edx
and edx, 0x79de2ae6
not ecx
and ecx, 0x8621d519
or edx, ecx
mov ecx, edx
xor edx, 0x99240
xor ecx, 0x29c2602e
and edx, 0x920d9350
and ecx, 0x6df26caf
or ecx, edx
xor ecx, 0x6df26caf
mov edx, ecx
xor ecx, eax
and edx, eax
mov eax, 0xe5f1ca41
or ecx, edx
cmp ecx, 0xffffffbf
mov ecx, 0xc7d9087a
cmove eax, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, 0xd105dd65
mov dword [esp + 0x1c], 4
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x94]
mov eax, 0x74157615
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, 0x59ee6666
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, 0x8ded109f
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 0x40]
push eax
call fcn.00426c80
mov ecx, dword [0x4ca6a0]
mov word [esp + 8], ax
lea esi, [ecx - 1]
imul esi, ecx
mov ecx, esi
and esi, 0xa87d4009
not ecx
and ecx, 0x5782bff6
or esi, ecx
mov edx, esi
xor esi, 0x5782bff6
mov ecx, esi
not edx
and esi, 0xfffffffe
or ecx, 1
and edx, 1
mov edi, ecx
or edx, esi
mov esi, ecx
not edi
and esi, 0xfac448d5
and edi, 0x53bb72a
or edi, esi
mov esi, edx
and edx, 0x53bb72a
not esi
or ecx, esi
and esi, 0xfac448d5
or edx, esi
not ecx
xor edx, edi
or ecx, edx
mov esi, ecx
mov edx, ecx
xor esi, 0xf08e9a09
and edx, 0x53d23a67
and esi, ecx
not ecx
and ecx, 0xac2dc598
or edx, ecx
mov ecx, edx
xor edx, 0xa00c8008
or edx, 0xf7165f6
xor ecx, 0x10800201
mov edi, edx
and ecx, 0xb08c8209
and edi, 0x4d031cc2
or ecx, edi
mov edi, esi
and esi, 0xb2fce33d
not edi
or edx, edi
and edi, 0x4d031cc2
or esi, edi
not edx
mov edi, 0xfa62748
xor esi, ecx
mov ecx, dword [0x4ca6a4]
or edx, esi
mov esi, edx
and edx, 0x5e4aae77
not esi
and esi, 0xa1b55188
or edx, esi
mov esi, 0xa5ecd910
xor edx, 0xaec4347e
sete dl
setne dh
sete byte [esp + 0xa5]
cmp ecx, 9
setg bl
cmp ecx, 0xa
mov cl, dh
setl ch
setl byte [esp + 0xa6]
mov bh, bl
or bl, dh
xor cl, ch
xor bh, dh
or dh, ch
xor dl, ch
xor bl, 1
not cl
or bl, dl
xor dh, 1
mov dl, bl
and cl, ch
mov al, dh
xor dl, bh
xor bh, 1
and al, cl
xor cl, dh
or cl, al
or bh, bl
xor dl, 1
xor bh, 1
xor cl, 1
or bh, dl
mov dh, cl
or dh, bh
xor cl, bh
mov dl, dh
xor dl, cl
test cl, 1
mov ecx, 0xfa62748
cmovne ecx, esi
test dh, 1
cmovne ecx, edi
test dl, 1
mov edx, 0x97080d08
cmove ecx, esi
nop word cs:[eax + eax]
cmp edx, 0xebb72cc3
jg 0x40b990
cmp edx, 0x97080d08
je 0x40b911
cmp edx, 0xa5ecd910
jne 0x40b8f0
jmp 0x40c7a6
movzx eax, byte [esp + 0xa5]
mov ah, byte [esp + 0xa6]
mov edi, 0xebb72cc4
mov esi, 0xfa62748
mov dh, ah
mov ebx, eax
xor dh, 1
xor bl, 1
mov bh, dh
mov dl, bl
and dl, al
and bh, bl
and al, ah
or al, bh
mov bh, al
xor bh, bl
and bh, al
mov al, bl
and al, dl
xor dl, bl
or dl, al
mov al, dh
and al, ah
xor dl, bh
xor dh, al
xor al, 1
or al, ah
xor al, 1
or al, dh
xor dl, al
mov eax, edx
xor al, 1
and bh, al
xor al, bh
test al, 1
cmovne edi, esi
test dl, 1
mov esi, 0xebb72cc4
mov edx, edi
cmovne edx, esi
test bh, 1
cmove edx, edi
cmp edx, 0xebb72cc3
jle 0x40b8fc
nop dword [eax]
cmp edx, 0xebb72cc4
je 0x40b9b7
cmp edx, 0xfa62748
jne 0x40b8f0
mov edx, 0xebb72cc4
cmp edx, 0xebb72cc3
jle 0x40b8fc
jmp 0x40b990
cmp word [esp + 8], 0xffff
mov edx, ecx
sete byte [esp + 0xa7]
cmp edx, 0xebb72cc3
jle 0x40b8fc
jmp 0x40b990
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [ecx]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [ebp + 0xc]
call dword [eax + 0x24]
xor edx, dword [esp + 0x4c]
xor eax, dword [esp + 0x48]
mov ecx, 0xd105dd65
or eax, edx
mov eax, 0x406abe1c
mov edx, dword [esp + 0x90]
cmove eax, ecx
mov dword [esp + 0x1c], edx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov cl, byte [esp + 0xa7]
mov edx, dword [0x4ca690]
lea eax, [edx - 1]
mov byte [esp + 0x76], cl
imul eax, edx
mov edi, eax
mov esi, eax
and eax, 0xbdf7286c
not edi
and esi, 0x860c0c61
mov edx, edi
and edx, 0x28b00000
or esi, edx
mov ebx, esi
xor esi, 0x59d3818c
xor ebx, 0x6080c21
and esi, 0xd9d781cc
and ebx, 0x26280c21
or ebx, esi
mov esi, edi
and edi, 0x4208d793
or esi, 0xaebc0c61
or eax, edi
mov edx, esi
and esi, 0xd9d781cc
not edx
and edx, 0x7212
or edx, esi
xor edx, ebx
mov esi, edx
and edx, 0xaebc0c60
not esi
and esi, 0x5143f39f
or edx, esi
mov esi, edx
mov edi, edx
not esi
and edi, 0xfacc5c9b
and esi, 0x533a364
or esi, edi
mov edi, eax
xor eax, 0x4208d793
xor edi, 0x5332064
or edx, eax
and eax, 0xfacc5c9b
and edi, 0x533a364
not edx
or edi, eax
xor edi, esi
mov esi, dword [0x4ca694]
or edx, edi
cmp edx, 0xffffffff
sete ch
setne ah
cmp esi, 9
setg al
cmp esi, 0xa
mov esi, 0x21e6a6e
setl dl
xor al, dl
and al, dl
mov dh, al
xor dh, 1
or al, dh
mov bl, dh
xor bl, al
or al, dh
mov dh, ah
xor ah, dl
xor al, 1
xor ah, 1
or al, bl
or dh, al
xor al, 1
or al, ch
xor dh, 1
xor al, 1
mov bl, dh
and bl, al
xor al, dh
mov dh, dl
xor dl, ch
and dh, ch
mov ch, ah
or al, bl
or dl, dh
xor dl, 1
and ch, dl
xor dl, ah
or dl, ch
mov ah, dl
xor ah, 1
and dl, ah
mov ch, ah
and ch, dl
xor dl, ah
or dl, ch
mov ah, dl
mov ch, dl
xor ah, 1
and ch, ah
mov dh, ch
xor ch, dl
and dh, dl
or ch, dh
mov dl, ch
xor ch, 1
and ch, al
xor al, 1
and dl, al
or ch, dl
mov edx, eax
and dl, ah
xor ah, al
or ah, dl
mov edx, 0x19166394
mov al, ah
xor al, ch
test al, 1
cmovne edx, esi
test ah, 1
mov eax, 0x19166394
cmovne eax, edx
test ch, 1
jmp 0x40bf8b
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 0x40]
push eax
call fcn.00426c80
mov edx, dword [0x4ca6a0]
mov word [esp + 8], ax
mov eax, 0xfa62748
lea ecx, [edx - 1]
imul ecx, edx
mov edx, ecx
mov edi, ecx
and ecx, 0xf85a2316
not edx
and edi, 0x2204000
mov esi, edx
and esi, 0x5859ce9
or edi, esi
xor edi, 0x2204000
or ecx, edi
mov edi, 0xa5ecd910
mov esi, ecx
and ecx, 0x7a5dce8
not esi
and esi, 0xf85a2317
or ecx, esi
mov esi, ecx
and ecx, 0x485f6d1d
not esi
and esi, 0xb7a092e2
or ecx, esi
xor ecx, 0x485f6d1d
mov esi, ecx
xor ecx, edx
and esi, edx
or ecx, esi
mov esi, 0xa5ecd910
mov edx, ecx
and ecx, 0x165de693
not edx
and edx, 0xe9a2196c
or ecx, edx
mov edx, dword [0x4ca6a4]
xor ecx, 0x165de693
setne cl
sete byte [esp + 0xa5]
cmp edx, 9
setg ch
cmp edx, 0xa
mov dl, ch
setl byte [esp + 0xa6]
xor ch, cl
and dl, cl
or dl, ch
mov cl, dl
mov dh, dl
mov ebx, edx
xor cl, 1
and dh, cl
or cl, ch
xor ch, 1
and bl, dh
xor dh, dl
xor cl, 1
or dh, bl
xor dh, ch
xor ch, dl
or cl, ch
mov dl, cl
xor dl, dh
test dl, 1
cmovne esi, eax
test cl, 1
mov ecx, 0x97080d08
cmovne edi, esi
test dh, 1
cmove edi, esi
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0xebb72cc3
jg 0x40bdd0
cmp ecx, 0x97080d08
je 0x40bce1
cmp ecx, 0xa5ecd910
jne 0x40bcc0
jmp 0x40c7ba
mov dh, byte [esp + 0xa5]
movzx ebx, byte [esp + 0xa6]
mov esi, 0xebb72cc4
mov al, dh
mov bh, bl
mov byte [esp + 0xa], bl
xor al, 1
xor bh, 1
mov ecx, eax
xor cl, dh
and cl, al
mov dl, cl
mov byte [esp + 0xb], cl
mov ecx, eax
and cl, dh
mov ch, cl
xor cl, al
or al, dh
xor ch, 1
xor al, dl
mov dl, bh
or ch, dh
and dl, bl
xor ch, 1
mov ah, dl
xor dl, bh
or ch, cl
and ah, bh
xor ch, bh
or bh, bl
mov bl, byte [esp + 0xb]
or dl, ah
and bl, al
xor al, 1
mov cl, bl
and cl, al
xor al, bl
mov bl, bh
xor bl, 1
or al, cl
mov cl, bl
and cl, bh
mov ah, cl
xor cl, bl
and ah, bl
mov bl, byte [esp + 0xa]
or cl, ah
xor cl, dl
mov ah, bl
and ah, bh
xor bh, bl
or bh, ah
mov ah, cl
xor bh, 1
and ah, bh
xor bh, cl
or bh, ah
mov ah, bh
xor ah, 1
and ah, bh
mov cl, ah
xor ah, bh
and cl, bh
or ah, cl
mov cl, al
xor cl, 1
and cl, ah
xor ah, 1
and ah, al
mov al, dh
xor dh, bl
and al, bl
or ah, cl
or dh, al
mov al, ch
xor dh, 1
and al, dh
xor dh, ch
mov ecx, 0xfa62748
or dh, al
xor dh, ah
and ah, dh
mov al, dh
xor al, ah
test al, 1
cmovne esi, ecx
test dh, 1
mov ecx, 0xebb72cc4
cmovne ecx, esi
test ah, 1
cmove ecx, esi
cmp ecx, 0xebb72cc3
jle 0x40bccc
nop dword [eax]
cmp ecx, 0xebb72cc4
je 0x40bdf7
cmp ecx, 0xfa62748
jne 0x40bcc0
mov ecx, 0xebb72cc4
cmp ecx, 0xebb72cc3
jle 0x40bccc
jmp 0x40bdd0
cmp word [esp + 8], 0xffff
mov ecx, edi
sete byte [esp + 0xa7]
cmp ecx, 0xebb72cc3
jle 0x40bccc
jmp 0x40bdd0
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
mov eax, 0x83f16fe4
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
cmp edx, dword [ecx + eax + 0x20]
sbb esi, dword [ecx + eax + 0x24]
mov eax, dword [0x4ca690]
lea ecx, [eax - 1]
setge byte [esp + 0x67]
imul ecx, eax
mov eax, ecx
and ecx, 0x6edd1beb
not eax
and eax, 0x9122e414
or ecx, eax
mov edx, ecx
xor ecx, 0x11226404
xor edx, 0x249c1801
and ecx, 0x5b6367ee
and edx, 0xa49c9811
or edx, ecx
mov eax, edx
xor edx, 0xa49c9810
xor eax, 0x5b6367ee
and edx, 0xfffffffe
mov ecx, eax
and eax, 1
and ecx, 0xfffffffe
or eax, edx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0x9c8ae0e2
and edx, 0x63751f1d
or eax, edx
xor eax, 0x9c8ae0e2
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov edx, dword [0x4ca694]
mov ecx, eax
and eax, 0xbb99823e
not ecx
and ecx, 0x44667dc1
or eax, ecx
mov ecx, eax
xor eax, 0x44246901
xor ecx, 0xa908002e
and eax, 0x56b5eb11
and ecx, 0xa94a14ee
or ecx, eax
xor ecx, 0x56b5eb11
cmp ecx, 0xffffffff
setne al
cmp edx, 0xa
setl ah
cmp edx, 9
mov ch, al
setg cl
or ch, ah
mov edx, ecx
xor cl, al
and dl, al
xor al, ah
or cl, dl
not al
mov edx, ecx
and al, ah
mov ah, ch
xor ah, al
xor al, 1
xor dl, 1
or al, ch
mov ch, dl
xor ah, 1
xor al, 1
and ch, cl
or al, ah
mov ah, ch
xor ch, dl
and ah, dl
mov edx, ecx
or ch, ah
xor ch, al
xor al, 1
and dl, al
xor al, cl
or al, dl
mov edx, 0x25fe341a
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x804f7529
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0x804f7529
cmove eax, edx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, 0xa1ef7f04
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov eax, dword [ebp + 8]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov eax, 0x289f71f1
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, 0x15a8fc7d
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov esi, 0x5c43ccbd
mov edi, 0x5b2cbe14
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, 0x6d0f42a0
add eax, esi
mov esi, 0x14a3e7c
adc ecx, edx
mov edx, dword [esp + 0x48]
add edx, esi
mov esi, dword [esp + 0x4c]
adc esi, edi
mov edi, 0x909b826c
sub edi, edx
mov edx, 0x9b9ce9ea
sbb edx, esi
add edi, 0x14a3e7c
mov esi, 0x909b826c
adc edx, 0x5b2cbe14
sub esi, edi
mov edi, 0x9b9ce9ea
sbb edi, edx
add esi, 0x5c43ccbd
adc edi, 0x6d0f42a0
add esi, 0xecc36526
adc edi, 0xda22f465
sub eax, esi
sbb ecx, edi
add eax, 0xecc36526
mov edi, 0xe6dd9e9a
mov dword [esp + 0x68], eax
mov eax, dword [0x4ca690]
adc ecx, 0xda22f465
mov dword [esp + 0x6c], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, eax
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov edx, ecx
mov eax, ecx
xor ecx, 0xfffffffe
not edx
and eax, 0xf1c20f55
mov esi, edx
and edx, 1
and esi, 0xe3df0aa
or ecx, edx
or eax, esi
mov esi, eax
and eax, 0x8ce42126
not esi
and esi, 0x731bded9
or eax, esi
mov esi, eax
xor eax, 0x7d262e72
mov edx, eax
xor esi, 0x2199088
or eax, ecx
and edx, 0xb0c46307
and esi, 0x4f3b9cf8
not eax
or esi, edx
mov edx, ecx
and ecx, 0xb0c46307
not edx
and edx, 0x4f3b9cf8
or edx, ecx
xor edx, esi
mov esi, 0x6ea9aa10
or eax, edx
mov ecx, eax
and eax, 0x6e328d24
not ecx
and ecx, 0x91cd72db
or eax, ecx
mov ecx, eax
xor eax, 0x1455003
xor ecx, 0x28208420
and eax, 0x47575907
and ecx, 0xb8a8a6f8
or ecx, eax
mov eax, ecx
xor ecx, 0x880c0
xor eax, 0x46505805
and ecx, 0x10f81c2
and eax, 0xfef07e3d
or eax, ecx
mov ecx, eax
xor eax, 0x1040142
xor ecx, 0x6a200c10
and eax, 0x95d4736f
and ecx, 0x6a2b8c90
or ecx, eax
mov eax, dword [0x4ca694]
xor ecx, 0x6a2b8c90
sete dl
setne cl
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
xor al, cl
mov cl, al
xor cl, ch
and cl, al
mov al, ch
or ch, dl
xor al, dl
not al
and al, dl
mov dl, ch
xor dl, al
xor al, 1
or al, ch
xor dl, 1
xor al, 1
or al, dl
mov edx, ecx
xor dl, 1
xor al, 1
and cl, dl
mov ah, dl
and ah, cl
xor cl, dl
or cl, ah
mov ah, dl
xor cl, al
and ah, al
xor al, dl
or al, ah
mov edx, eax
xor dl, cl
test dl, 1
cmovne edi, esi
test al, 1
mov eax, 0xe6dd9e9a
cmovne eax, edi
test cl, 1
cmove eax, edi
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, 0xac6a631f
mov dword [esp], 4
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
not ecx
or edx, 0x92d08dfb
mov edi, ecx
mov esi, edx
and ecx, 0x3c9b0c73
and esi, 0x548d24c7
and edi, 0x29225200
or edi, esi
mov esi, eax
xor esi, 0x6d2f7204
and esi, eax
and eax, 0xc364f38c
mov ebx, esi
and esi, 0xab72db38
or eax, ecx
not ebx
xor eax, 0xc364f38c
or edx, ebx
and ebx, 0x548d24c7
or esi, ebx
not edx
xor esi, edi
or edx, esi
mov esi, edx
and edx, 0xa68f8f17
not esi
and esi, 0x597070e8
or edx, esi
mov esi, edx
xor edx, 0x344c0044
xor esi, 0xed02
and edx, 0xffec1054
and esi, 0x13efab
or esi, edx
xor esi, 0x13efab
mov ecx, esi
and ecx, eax
xor eax, esi
mov esi, 0x339acba0
or eax, ecx
mov ecx, eax
and eax, 0x62d0bc51
not ecx
and ecx, 0x9d2f43ae
or eax, ecx
mov ecx, dword [0x4ca694]
xor eax, 0x62d0bc51
sete al
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
mov ah, cl
xor ah, al
xor cl, ah
and cl, ah
not ah
and ah, al
xor al, dl
and al, dl
mov dl, ah
and dl, al
xor al, ah
or al, dl
mov edx, ecx
mov ah, al
xor dl, 1
xor ah, 1
and al, dl
and cl, ah
or cl, al
mov al, dl
and al, ah
xor ah, dl
or ah, al
mov dl, ah
xor dl, cl
test ah, 1
mov eax, 0xc524da7
cmovne eax, esi
test cl, cl
mov ecx, 0xc524da7
cmove eax, esi
test dl, 1
cmove eax, ecx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp byte [esp + 0x76], 0
mov eax, 0xfd94165f
mov ecx, 0xc773a02
jmp 0x40c7cc
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
sub eax, 0x363cd10f
sbb ecx, 0xc874a9a2
sub eax, dword [esp + 0x38]
sbb ecx, dword [esp + 0x3c]
add eax, 0x4384defe
adc ecx, 0x4b5ed4d1
add eax, 0x363cd10f
adc ecx, 0xc874a9a2
add eax, 0xf5432a6f
adc ecx, 0x8127f07f
sub eax, 0x9c9d093d
sbb ecx, 0x38d972ce
sub eax, 0xf5432a6f
sbb ecx, 0x8127f07f
add eax, 0x9c9d093d
adc ecx, 0x38d972ce
add eax, 0x1c2f1593
adc ecx, 0xdcb42f54
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x34], eax
mov eax, 0xfc586b3b
mov dword [esp + 0x30], ecx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov ecx, dword [0x4ca690]
lea eax, [ecx - 1]
imul eax, ecx
mov edi, eax
mov edx, eax
not edi
and edx, 0x89343c00
mov ecx, edi
and edi, 0xe026e7eb
and ecx, 0x32890207
or edx, ecx
mov ecx, eax
xor ecx, 0xbbbd3e07
xor edx, 0x89343c00
and ecx, eax
mov esi, edx
and eax, 0x1fd91814
and esi, ecx
xor ecx, edx
or eax, edi
mov edi, dword [0x4ca694]
or ecx, esi
mov edx, ecx
and ecx, 0xb93c5d23
not edx
and edx, 0x46c3a2dc
or ecx, edx
mov edx, ecx
xor ecx, 0xe06c1400
xor edx, 0x2816325
and ecx, 0xe0ed3721
mov esi, edx
and esi, 0x1f12c8de
or ecx, esi
mov esi, eax
xor eax, 0xe026e7eb
xor esi, 0xc91000
or edx, eax
and eax, 0x1f12c8de
and esi, 0xe0ed3721
not edx
or esi, eax
xor esi, ecx
or edx, esi
mov esi, 0x289f71f1
mov eax, edx
and edx, 0xafc12d64
not eax
and eax, 0x503ed29b
or edx, eax
xor edx, 0xafc12d64
sete dl
setne ch
cmp edi, 0xa
setl ah
cmp edi, 9
mov dh, dl
setg al
xor dh, ch
and ah, ch
and dh, dl
mov ch, al
mov bl, dh
xor ch, dl
xor bl, 1
and ch, al
mov cl, bl
or cl, dh
xor dh, cl
or cl, bl
xor dh, 1
xor cl, 1
or cl, dh
mov dh, cl
xor dh, 1
and cl, dh
mov bl, dh
and bl, cl
xor cl, dh
or cl, bl
xor cl, al
and al, dl
mov dl, ch
or al, ah
xor dl, 1
xor ch, al
xor al, 1
or al, dl
xor al, 1
or al, ch
mov ch, cl
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 dl, 1
and dl, al
xor al, 1
xor ch, al
and al, cl
or al, dl
and ch, cl
mov edx, 0x2cab5be4
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x2cab5be4
cmovne eax, esi
test ch, 1
cmove eax, edx
test cl, 1
cmovne eax, esi
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
cmp byte [esp + 0xa7], 0
mov eax, 0xd94d6fdf
mov ecx, 0x8c33da6
jmp 0x40c7cc
cmp byte [esp + 0xa7], 0
mov eax, 0x64bfa6a7
mov ecx, 0xc684dd20
cmovne eax, ecx
cmp eax, 0xfc586b3a
jg 0x40a060
jmp 0x409e3b
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + eax + 0xc]
mov dword [esp + 0x1c], ecx
mov edi, esi
mov eax, esi
mov dword [esp + 4], esi
not edi
or eax, 0x30c372bc
mov ecx, eax
mov edx, edi
and ecx, 0x73c86efb
and edx, 0x8c348100
or edx, ecx
mov ecx, esi
xor ecx, 0xcf3c8d43
and ecx, esi
mov esi, ecx
and ecx, 0x8c379104
not esi
or eax, esi
and esi, 0x73c86efb
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
mov ecx, eax
and eax, 0xcf3c8d43
not ecx
and ecx, 0x30c372bc
or eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0xc]
mov ebx, eax
mov ecx, eax
mov edx, eax
not ebx
xor ecx, 0xda9e7977
and edx, 0x9a0e3156
mov esi, ebx
and ecx, eax
and eax, 0xaa77108d
and esi, 0x5588ef72
or eax, esi
not eax
or eax, ebx
and ebx, 0x40904821
or edx, ebx
mov dword [esp + 0xc], eax
xor edx, 0x9a0e3156
mov eax, edx
and eax, ecx
xor ecx, edx
mov edx, dword [esp]
or ecx, eax
mov eax, ecx
and ecx, 0x11deff7
not eax
mov esi, edx
and eax, 0xfee21008
and edx, 0x5588ef72
not esi
or ecx, eax
mov eax, esi
mov dword [esp + 0x18], esi
and eax, 0xaa77108d
or edx, eax
mov eax, edx
xor eax, esi
mov esi, dword [esp + 4]
and eax, edx
mov edx, edi
and edx, 0x5588ef72
and esi, 0xaa77108d
or esi, edx
mov edx, ecx
xor edi, esi
xor edx, 0x247c697f
and edi, esi
mov esi, ecx
mov ecx, edx
mov dword [esp + 0x14], edx
xor esi, 0xdb839680
and ecx, 0xbac7bcd9
mov ebx, edi
or edi, 0x36bc3d97
mov dword [esp + 4], esi
and esi, 0x45384326
not ebx
or ecx, esi
mov esi, edx
xor ecx, 0xef4f53ab
and esi, 0xaa77108d
or esi, ecx
mov ecx, eax
and eax, 0x2c9592ff
not ecx
mov edx, ecx
or ecx, 0xc943c268
and edx, 0xd36a6d00
or eax, edx
mov dword [esp + 0x10], eax
xor eax, 0xc1424000
or eax, 0x36bc3d97
mov edx, eax
and eax, 0x3ca8cbba
not edx
and edx, 0xc1430040
or edx, eax
mov eax, ecx
and ecx, 0x3ca8cbba
not eax
and eax, 0x2143405
or eax, ecx
mov ecx, ebx
xor eax, edx
mov edx, edi
and edi, 0x2ee8df3
or ecx, 0xc943c268
not edx
and edx, 0xc9014208
or edx, edi
mov edi, ecx
and ecx, 0x2ee8df3
not edi
and edi, 0x34103004
or edi, ecx
mov ecx, eax
xor edi, edx
not ecx
mov edx, dword [esp + 0xc]
and ecx, edi
not edi
and edi, eax
or edi, ecx
mov ecx, dword [esp + 0x10]
xor ecx, 0x2c9592ff
mov eax, ecx
and eax, ebx
xor ebx, ecx
mov ecx, edx
or ebx, eax
mov eax, edi
not ecx
not ebx
and ecx, esi
and eax, ebx
xor ebx, edi
or ebx, eax
mov eax, esi
or esi, edx
not eax
not esi
and edx, eax
mov eax, esi
or edx, ecx
mov ecx, ebx
and eax, edx
xor edx, esi
and ecx, 0x4208800
or edx, eax
mov eax, ebx
and ebx, 0xa31273d7
not eax
mov esi, edx
and eax, 0x58cd0428
and esi, 0x4084f310
or ecx, eax
mov eax, edx
not eax
xor ecx, 0x4208800
and eax, 0xbf7b0cef
or ebx, ecx
or esi, eax
mov eax, esi
xor esi, 0xe39680c7
xor eax, 0x4084f310
and esi, eax
mov eax, edx
mov edi, esi
xor eax, 0x5ced8c28
and esi, 0x746aac11
not edi
and eax, edx
mov edx, dword [esp + 0x14]
mov ecx, edi
and ecx, 0x8b9553ee
or esi, ecx
mov ecx, eax
and eax, 0x746aac11
not ecx
or edi, ecx
and ecx, 0x8b9553ee
or eax, ecx
not edi
mov ecx, dword [esp + 0x18]
xor eax, esi
or edi, eax
mov eax, ebx
and ebx, 0x9c683c8d
not eax
and eax, 0x6397c372
and ecx, 0x8ddea6a9
or ebx, eax
mov eax, edi
and edi, 0x9c683c8d
not eax
and eax, 0x6397c372
or edi, eax
mov eax, dword [esp]
xor edi, ebx
xor ebx, ebx
mov esi, eax
xor esi, edx
and edx, 0x8ddea6a9
and esi, eax
and eax, 0x72215956
or eax, ecx
mov ecx, edx
mov edx, dword [esp + 4]
and edx, 0x72215956
or edx, ecx
xor edx, eax
mov eax, esi
and esi, 0xb5a95726
not eax
mov ecx, eax
and ecx, 0x4a56a8d9
or esi, ecx
mov ecx, edx
and edx, 0xb5a95726
not ecx
or eax, ecx
and ecx, 0x4a56a8d9
or edx, ecx
not eax
xor edx, esi
mov esi, edi
or eax, edx
not esi
mov ecx, eax
and esi, 0xa0e2a7ef
not ecx
mov edx, ecx
and ecx, eax
and eax, 0xfeb90b2d
and edx, 0x146f4d2
or eax, edx
xor eax, 0xfeb90b2d
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov edx, edi
mov ecx, eax
and eax, 0x5f1d5810
not ecx
xor edx, ecx
and ecx, 0xa0e2a7ef
and edx, edi
and edi, 0x5f1d5810
or eax, ecx
or edi, esi
mov ecx, edx
mov esi, dword [esp + 0x20]
xor eax, edi
and ecx, eax
xor eax, edx
mov edx, dword [esp + 0x1c]
or eax, ecx
cmp dword [edx + esi + 0x38], 0
lea edi, [edx + esi]
mov esi, eax
mov dword [esp + 0xc], edi
sete bl
and esi, 0x37eb870f
shl ebx, 2
mov edx, ebx
not edx
mov ecx, edx
xor edx, eax
not edx
and ecx, 0x37eb870f
and edx, eax
not eax
mov edi, eax
and edi, 0xc81478f0
or esi, edi
xor ecx, esi
mov esi, ecx
xor esi, eax
xor eax, ebx
not eax
and esi, ecx
mov ecx, edx
and edx, 0x60fc8e13
and eax, ebx
not ecx
not eax
mov edi, eax
or eax, ecx
and ecx, 0x9f0371ec
or edx, ecx
and edi, 0x9f0371ec
not eax
xor edx, edi
or eax, edx
mov edx, esi
and esi, 0xea429f80
not edx
mov edi, eax
and eax, 0x8cf5c11
mov ecx, edx
not edi
or edx, 0x202881d7
and ecx, 0x15bd607f
mov ebx, edx
and edx, 0x95d7520d
or esi, ecx
mov ecx, edi
not ebx
or edi, 0x202881d7
mov dword [esp], esi
xor esi, 0x280057
and ecx, 0xf730a3ee
and ebx, 0x4a002c20
or esi, 0xdfd77e28
or eax, ecx
or ebx, edx
mov ecx, esi
and esi, 0x95d7520d
not ecx
and ecx, 0x202881d2
or ecx, esi
xor ebx, ecx
mov ecx, eax
xor eax, 0xd7182239
xor ecx, 0x8cf5c11
and eax, ecx
mov esi, eax
and eax, 0xdfbf91fb
not esi
mov edx, esi
or esi, edi
and edx, 0x20406e04
not esi
or eax, edx
mov edx, edi
and edi, 0x20406e04
not edx
and edx, 0xdf971028
or edx, edi
xor edx, eax
mov eax, ebx
or esi, edx
mov edx, dword [esp]
not eax
and eax, esi
not esi
and esi, ebx
or esi, eax
xor edx, 0xea429f80
mov eax, edx
and eax, ecx
xor ecx, edx
or ecx, eax
mov eax, esi
and esi, 0x14e83a69
mov edi, ecx
not eax
not edi
mov edx, eax
or eax, ecx
and ecx, 0xeb17c596
and edi, 0x14e83a69
and edx, 0xeb17c596
not eax
or edi, ecx
mov ecx, dword [esp + 0xc]
or esi, edx
xor edi, esi
or eax, edi
push 0
push eax
call fcn.00428e80
lea ecx, [esp + 0x40]
call fcn.004276d0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.00499068
mov eax, dword [esp + 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret