Function at 0x46804df
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x618
mov edi, dword [ebp + 8]
mov al, byte [esp + 0x14c]
mov byte [esp + 0x150], al
mov byte [esp + 0x358], 0x39
mov byte [esp + 0x359], 0x9f
mov eax, 2
mov byte [esp + eax + 0x358], 0
add eax, 1
cmp eax, 8
jne 0x467e8f5
xor eax, eax
cmp eax, 8
jae 0x467e94a
movzx edx, byte [esp + eax + 0x358]
mov ecx, eax
add ecx, 0xe5
and ecx, edx
mov esi, eax
add esi, 0xe5
or esi, edx
xor ecx, esi
add cl, 0x87
mov byte [esp + eax + 0x358], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
xor eax, 1
add eax, edx
jmp 0x467e907
lea eax, [esp + 0x358]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.04671970
mov esi, eax
cmp esi, 0
jne 0x467e96b
xor eax, eax
jmp 0x46813dc
xor ebx, ebx
jmp 0x467e96f
mov dword [esp], esi
call fcn.04671b80
cmp ebx, eax
jb 0x467e982
mov al, 1
jmp 0x46813dc
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.04671b90
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x148]
mov byte [esp + 0x154], al
mov byte [esp + 0x350], 0xec
mov byte [esp + 0x351], 0x79
mov eax, 2
mov byte [esp + eax + 0x350], 0
add eax, 1
cmp eax, 6
jne 0x467e9b5
mov dword [esp + 0x2c], ebx
xor eax, eax
cmp eax, 6
jae 0x467ea1d
mov cl, byte [esp + eax + 0x350]
mov edx, eax
and edx, 0x68
mov edi, eax
and edi, 2
xor edi, 2
mov ebx, eax
and ebx, 0x68
imul ebx, edi
mov edi, eax
and edi, 2
or edx, 2
imul edx, edi
add edx, ebx
mov edi, eax
shl edi, 1
and edi, 0xd4
mov ebx, eax
add ebx, 0x6a
sub ebx, edi
add ebx, edx
xor bl, cl
add bl, 0xee
mov byte [esp + eax + 0x350], bl
add eax, 1
jmp 0x467e9cb
lea eax, [esp + 0x350]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.04671b20
cmp eax, 0
setne al
xor al, 0xff
test al, 1
mov ebx, dword [esp + 0x2c]
jne 0x467ea4e
jmp 0x467ea53
jmp 0x46813d4
mov al, byte [esp + 0x144]
mov byte [esp + 0x158], al
mov byte [esp + 0x54], 0xb0
mov byte [esp + 0x55], 0x5b
mov eax, 2
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 4
jne 0x467ea70
xor eax, eax
cmp eax, 4
jae 0x467eac8
movzx edi, byte [esp + eax + 0x54]
mov edx, eax
add edx, 0x8f
mov ebx, edi
xor ebx, 0x7c
mov ecx, edi
or ecx, 0x83
and ecx, ebx
mov ebx, 0x70
sub ebx, eax
and ebx, 0x7c
and edx, 0x83
and edi, 0x7c
xor edi, 0x7c
or ecx, edi
or ebx, edx
xor ecx, ebx
add cl, 0x35
mov byte [esp + eax + 0x54], cl
add eax, 1
jmp 0x467ea7f
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.04671900
fnstcw word [esp + 0x62]
movzx eax, word [esp + 0x62]
or eax, 0xc00
mov word [esp + 0x20e], ax
fldcw word [esp + 0x20e]
fistp dword [esp + 0x3cc]
fldcw word [esp + 0x62]
mov eax, dword [esp + 0x3cc]
mov ecx, eax
sub ecx, 3
mov ebx, dword [esp + 0x2c]
ja 0x46813d2
mov eax, dword [eax*4 + 0x46af2bc]
jmp eax
mov al, byte [esp + 0x140]
mov byte [esp + 0x15c], al
mov byte [esp + 0x50], 0xe8
mov byte [esp + 0x51], 0x79
mov eax, 2
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 4
jne 0x467eb40
xor eax, eax
cmp eax, 4
jae 0x467eb7e
movzx edx, byte [esp + eax + 0x50]
mov ecx, 0x15
sub ecx, eax
or ecx, edx
xor edx, 0xffffffff
mov edi, eax
add edi, 0xea
or edi, edx
and ecx, edi
mov dl, 0x6d
sub dl, cl
mov byte [esp + eax + 0x50], dl
add eax, 1
jmp 0x467eb4f
lea eax, [esp + 0x50]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.04671b20
cmp eax, 0
je 0x467ef41
mov al, byte [esp + 0x134]
mov byte [esp + 0x160], al
mov byte [esp + 0x138], 0xcd
mov byte [esp + 0x139], 0xc9
mov byte [esp + 0x13a], 0xce
mov byte [esp + 0x13b], 0xcf
mov eax, 4
mov byte [esp + eax + 0x138], 0
add eax, 1
cmp eax, 6
jne 0x467ebd6
xor eax, eax
cmp eax, 6
jae 0x467ec1e
movzx edx, byte [esp + eax + 0x138]
mov ecx, eax
add ecx, 0x3dc311b2
xor ecx, edx
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, 0x92
add ecx, edx
add cl, 0xf3
mov byte [esp + eax + 0x138], cl
add eax, 1
jmp 0x467ebe8
mov eax, dword [esp + 0x138]
mov dword [esp + 0x37c], eax
mov al, byte [esp + 0x130]
mov byte [esp + 0x164], al
mov byte [esp + 0x348], 0xc5
mov byte [esp + 0x349], 0x31
mov eax, 2
mov byte [esp + eax + 0x348], 0
add eax, 1
cmp eax, 7
jne 0x467ec4f
xor ecx, ecx
cmp ecx, 7
jae 0x467ecec
mov al, byte [esp + ecx + 0x348]
mov byte [esp + 0x35], al
movzx edi, al
mov edx, ecx
add edx, 0x74
mov ebx, ecx
add ebx, 0x74
and ebx, edi
xor edi, 0xffffffff
mov eax, 0xd7a38c8b
sub eax, ecx
and eax, edi
or eax, ebx
mov ebx, 0xd7a38c8b
sub ebx, ecx
mov edi, eax
xor edi, 0xffffffff
or ebx, edi
xor eax, 0xffffffff
mov edi, 0xd7a38c8b
sub edi, ecx
or edi, eax
and edi, ebx
mov eax, edi
xor eax, 0xffffffff
mov ebx, edi
and ebx, 2
and edi, 0xfd
xor edi, 0xfd
imul edi, ebx
mov ebx, eax
and ebx, 2
or eax, 2
imul eax, ebx
add eax, edi
sub edx, eax
add dl, byte [esp + 0x35]
add dl, 0xbc
mov byte [esp + ecx + 0x348], dl
add ecx, 1
jmp 0x467ec61
lea eax, [esp + 0x348]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x37c]
mov dword [esp + 8], eax
call fcn.04671b20
cmp eax, 0
mov ebx, dword [esp + 0x2c]
je 0x467ef41
mov al, byte [esp + 0x12c]
mov byte [esp + 0x168], al
mov byte [esp + 0x340], 0xa
mov byte [esp + 0x341], 0x91
mov eax, 2
mov byte [esp + eax + 0x340], 0
add eax, 1
cmp eax, 6
jne 0x467ed3e
mov dword [esp + 0x28], esi
xor edx, edx
cmp edx, 6
jae 0x467edc1
movzx esi, byte [esp + edx + 0x340]
mov eax, edx
add eax, 0x2078c624
mov edi, 0xdb
sub edi, edx
mov ebx, 0x1f8739db
sub ebx, edx
and ebx, 0x3dd64dc4
mov ecx, eax
and ecx, 0xc229b23b
or ebx, ecx
xor ebx, 0x3b
and edi, ebx
xor edi, 0xffffffff
mov ebx, esi
and ebx, edi
mov edi, 0xdb
sub edi, edx
and edi, esi
xor eax, esi
add eax, esi
mov ecx, eax
xor ecx, 0xffffffff
mov esi, edi
add esi, ecx
xor eax, 0xffffffff
add edi, eax
and esi, edi
or ebx, esi
mov al, 0x4b
sub al, bl
mov byte [esp + edx + 0x340], al
add edx, 1
jmp 0x467ed54
lea eax, [esp + 0x340]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.04671b20
cmp eax, 0
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
je 0x467ef41
mov al, byte [esp + 0x128]
mov byte [esp + 0x16c], al
mov byte [esp + 0x338], 0x28
mov byte [esp + 0x339], 0x87
mov eax, 2
mov byte [esp + eax + 0x338], 0
add eax, 1
cmp eax, 5
jne 0x467ee14
xor eax, eax
cmp eax, 5
jae 0x467ee58
mov dl, byte [esp + eax + 0x338]
mov esi, eax
and esi, 0xdf
xor esi, 0xdf
mov ecx, eax
and ecx, 0x20
sub ecx, esi
xor cl, dl
add cl, 0x5b
mov byte [esp + eax + 0x338], cl
add eax, 1
jmp 0x467ee26
lea eax, [esp + 0x338]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.04671b20
cmp eax, 0
mov esi, dword [esp + 0x28]
je 0x467ef41
mov al, byte [esp + 0x124]
mov byte [esp + 0x170], al
mov byte [esp + 0x40], 0x1e
mov byte [esp + 0x41], 0x2e
mov byte [esp + 0x42], 0xba
mov eax, 3
mov byte [esp + eax + 0x40], 0
add eax, 1
cmp eax, 4
jne 0x467eea6
xor eax, eax
cmp eax, 4
jae 0x467ef0b
movzx esi, byte [esp + eax + 0x40]
mov edx, 0x1db1f0a0
sub edx, eax
or edx, esi
mov ecx, 0xa0
sub ecx, eax
and ecx, esi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x48
mov esi, ecx
shl esi, 1
and esi, 0x48
add esi, 0xdc
sub ecx, esi
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x40], cl
mov ecx, eax
and ecx, 1
or eax, 1
add eax, 0xfc1721a1
or eax, ecx
add eax, 0x3e8de5f
jmp 0x467eeb5
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.04671b20
cmp eax, 0
setne al
xor al, 0xff
and al, 1
or al, 0
mov esi, dword [esp + 0x28]
test al, 1
jne 0x46813d2
jmp 0x467ef46
jmp 0x46813d2
mov al, byte [esp + 0x120]
mov byte [esp + 0x174], al
mov byte [esp + 0x330], 8
mov byte [esp + 0x331], 0x99
mov eax, 2
mov byte [esp + eax + 0x330], 0
add eax, 1
cmp eax, 8
jne 0x467ef69
xor eax, eax
cmp eax, 8
jae 0x467efae
movzx esi, byte [esp + eax + 0x330]
mov ecx, 0x99
sub ecx, eax
or ecx, esi
mov edx, 0x99
sub edx, eax
and edx, esi
xor ecx, 0xffffffff
or edx, ecx
add dl, 2
mov byte [esp + eax + 0x330], dl
add eax, 1
jmp 0x467ef7b
lea eax, [esp + 0x330]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov ebx, eax
mov al, byte [esp + 0x11c]
mov byte [esp + 0x178], al
mov byte [esp + 0x328], 0xaf
mov byte [esp + 0x329], 0x1b
mov eax, 2
mov byte [esp + eax + 0x328], 0
add eax, 1
cmp eax, 5
jne 0x467efea
xor eax, eax
cmp eax, 5
jae 0x467f052
movzx edx, byte [esp + eax + 0x328]
mov esi, eax
add esi, 0x7b
and esi, edx
shl esi, 1
mov ecx, eax
add ecx, 0x2200817b
add ecx, edx
sub ecx, esi
mov edx, ecx
and edx, 0xfdd0d5b2
xor edx, 0xfdd0d5b2
and ecx, 0x22f2a4d
sub ecx, edx
add ecx, 0x55fd7898
mov edx, ecx
shl edx, 1
and edx, 0x64
xor ecx, 0x4d
sub edx, ecx
mov byte [esp + eax + 0x328], dl
add eax, 1
jmp 0x467effc
lea eax, [esp + 0x328]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.04671970
mov dword [esp + 0x290], eax
mov al, byte [esp + 0x118]
mov byte [esp + 0x17c], al
mov byte [esp + 0x320], 0x5e
mov byte [esp + 0x321], 0xc7
mov eax, 2
mov byte [esp + eax + 0x320], 0
add eax, 1
cmp eax, 7
jne 0x467f093
xor eax, eax
cmp eax, 7
jae 0x467f0f4
movzx edx, byte [esp + eax + 0x320]
mov esi, eax
add esi, 0xd4f319d1
mov ecx, 0x30ce62e
sub ecx, eax
and ecx, 0x34345a0
and esi, 0xfcbcba5f
mov edi, edx
xor edi, 0xa0
or ecx, esi
mov esi, ecx
xor esi, 0xffffffff
and edi, esi
xor edx, 0x5f
and ecx, edx
or ecx, edi
add cl, 0xeb
mov byte [esp + eax + 0x320], cl
add eax, 1
jmp 0x467f0a5
lea eax, [esp + 0x320]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x278], eax
mov al, byte [esp + 0x114]
mov byte [esp + 0x180], al
mov byte [esp + 0x318], 0xac
mov byte [esp + 0x319], 0xc9
mov eax, 2
mov byte [esp + eax + 0x318], 0
add eax, 1
cmp eax, 6
jne 0x467f135
xor eax, eax
cmp eax, 6
jae 0x467f186
movzx edx, byte [esp + eax + 0x318]
xor ecx, ecx
sub ecx, eax
mov esi, ecx
shl esi, 1
and esi, 0x82ae735c
xor ecx, 0x3ea8c651
add ecx, 1
sub ecx, esi
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
add cl, 0x66
mov byte [esp + eax + 0x318], cl
add eax, 1
jmp 0x467f147
lea eax, [esp + 0x318]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.04671900
fnstcw word [esp + 0x60]
movzx eax, word [esp + 0x60]
or eax, 0xc00
mov word [esp + 0x20c], ax
fldcw word [esp + 0x20c]
fistp dword [esp + 0x3c0]
fldcw word [esp + 0x60]
mov eax, dword [esp + 0x3c0]
mov dword [esp + 0x3a8], eax
mov al, byte [esp + 0x110]
mov byte [esp + 0x184], al
mov byte [esp + 0x3c], 6
mov byte [esp + 0x3d], 0x12
mov byte [esp + 0x3e], 0x62
mov eax, 3
mov byte [esp + eax + 0x3c], 0
add eax, 1
cmp eax, 4
jne 0x467f1f5
xor eax, eax
cmp eax, 4
jae 0x467f220
mov cl, byte [esp + eax + 0x3c]
mov dl, al
add dl, 0xe8
xor dl, cl
add dl, 0x78
mov byte [esp + eax + 0x3c], dl
add eax, 1
jmp 0x467f204
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.04671900
fnstcw word [esp + 0x5e]
movzx eax, word [esp + 0x5e]
or eax, 0xc00
mov word [esp + 0x20a], ax
fldcw word [esp + 0x20a]
fistp dword [esp + 0x3bc]
fldcw word [esp + 0x5e]
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x10c]
mov byte [esp + 0x188], al
mov byte [esp + 0x248], 0xea
mov byte [esp + 0x249], 0xe3
mov byte [esp + 0x24a], 0x4e
mov eax, 3
mov byte [esp + eax + 0x248], 0
add eax, 1
cmp eax, 7
jne 0x467f295
xor eax, eax
cmp eax, 7
jae 0x467f2e3
movzx edx, byte [esp + eax + 0x248]
mov ecx, eax
add ecx, 0x59e530ed
or ecx, edx
mov esi, eax
add esi, 0xed
and esi, edx
sub ecx, esi
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, 0x5e
add edx, ecx
mov byte [esp + eax + 0x248], dl
add eax, 1
jmp 0x467f2a7
lea eax, [esp + 0x248]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046719d0
cmp eax, 0
setg byte [esp + 0x37]
mov dword [esp + 0x3a4], ebx
mov dword [esp], ebx
call fcn.046830e0
xor ecx, ecx
mov dword [esp + 0x258], eax
sub ecx, eax
add ecx, 0xffffffff
xor ebx, ebx
sub ebx, ecx
mov esi, dword [esp + 0x28]
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x467f33f
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov edi, eax
xor eax, eax
mov dword [esp], edi
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x3a4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
xor eax, eax
lea eax, [esp + 0x108]
mov dword [esp], 0
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x258]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [sym.imp.ntdll.dll_RtlExpandEnvironmentStrings]
sub esp, 0x18
mov eax, dword [esp + 0x108]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov ebx, dword [esp + 0x2c]
jne 0x467f3c7
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov ecx, dword [sym.imp.ntdll.dll_RtlExpandEnvironmentStrings]
mov dword [esp + 0x360], ecx
mov ecx, dword [esp + 0x108]
xor edx, edx
mov dword [esp], 0
mov dword [esp + 4], edi
mov edx, dword [esp + 0x258]
mov dword [esp + 8], edx
mov dword [esp + 0x274], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x108]
mov dword [esp + 0x14], eax
call dword [esp + 0x360]
sub esp, 0x18
mov dword [esp], edi
call fcn.046782e0
mov eax, dword [esp + 0x278]
mov dword [esp], eax
call fcn.046830e0
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x467f453
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x26c], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x278]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
lea ecx, [esp + 0x588]
mov dword [esp], 1
call fcn.04679010
sub esp, 4
xor edi, edi
mov eax, dword [esp + 0x290]
mov dword [esp], eax
call fcn.04671b80
cmp edi, eax
jb 0x467f4b3
jmp 0x467f5c8
mov eax, dword [esp + 0x290]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.04671b60
mov dword [esp], eax
call fcn.046718e0
cmp eax, 0
sete cl
test cl, 1
jne 0x467f4db
jmp 0x467f4e0
jmp 0x467f5b7
mov dword [esp + 0x370], eax
mov dword [esp], eax
call fcn.046830e0
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
jmp 0x467f4fc
mov ecx, 2
mov dword [esp + 0x364], eax
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x467f519
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov ebx, eax
xor eax, eax
mov dword [esp], ebx
mov eax, dword [esp + 0x364]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x36c], ebx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x274]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 4], eax
lea eax, [esp + 0x588]
mov dword [esp], eax
xor eax, eax
mov cl, byte [esp + 0x37]
mov al, cl
and eax, 1
mov dword [esp + 0x18], eax
call fcn.0468d8a0
mov ebx, dword [esp + 0x2c]
jmp 0x467f5a6
mov eax, dword [esp + 0x36c]
mov dword [esp], eax
call fcn.046782e0
jmp 0x467f5b7
mov eax, edi
and eax, 1
shl eax, 1
xor edi, 1
add edi, eax
jmp 0x467f49b
mov eax, dword [esp + 0x26c]
mov dword [esp], eax
call fcn.046782e0
jmp 0x467f5d9
mov eax, dword [esp + 0x274]
mov dword [esp], eax
call fcn.046782e0
lea ecx, [esp + 0x588]
call fcn.04679a50
lea ecx, [esp + 0x588]
call fcn.046790f0
jmp 0x46813d2
mov al, byte [esp + 0x104]
mov byte [esp + 0x18c], al
mov byte [esp + 0x4c], 0xdf
mov byte [esp + 0x4d], 0x71
mov eax, 2
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 4
jne 0x467f622
mov dword [esp + 0x28], esi
xor eax, eax
cmp eax, 4
jae 0x467f670
movzx edx, byte [esp + eax + 0x4c]
mov esi, eax
shl esi, 1
and esi, 0x82490428
mov ecx, eax
xor ecx, 0xc1248214
add ecx, esi
xor ecx, edx
add ecx, 0x3a49759b
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x4c], cl
add eax, 1
jmp 0x467f635
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.04671b20
cmp eax, 0
mov esi, dword [esp + 0x28]
je 0x467f9cb
mov al, byte [esp + 0x100]
mov byte [esp + 0x190], al
mov byte [esp + 0x310], 0xc8
mov byte [esp + 0x311], 0x79
mov eax, 2
mov byte [esp + eax + 0x310], 0
add eax, 1
cmp eax, 8
jne 0x467f6bc
xor eax, eax
cmp eax, 8
jae 0x467f6fd
movzx ecx, byte [esp + eax + 0x310]
mov edx, eax
add edx, 0xacc13916
xor edx, ecx
mov ecx, edx
shl ecx, 1
and ecx, 0x22
xor edx, 0x6e
sub ecx, edx
mov byte [esp + eax + 0x310], cl
add eax, 1
jmp 0x467f6ce
lea eax, [esp + 0x310]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.04671b20
cmp eax, 0
je 0x467f9cb
mov al, byte [esp + 0xfc]
mov byte [esp + 0x194], al
mov byte [esp + 0x308], 0x8d
mov byte [esp + 0x309], 0x19
mov eax, 2
mov byte [esp + eax + 0x308], 0
add eax, 1
cmp eax, 7
jne 0x467f748
xor eax, eax
cmp eax, 7
jae 0x467f79b
movzx edx, byte [esp + eax + 0x308]
mov ecx, eax
add ecx, 0xaf813b46
xor ecx, edx
add ecx, 0x9279d7a1
mov edx, ecx
shl edx, 1
and edx, 2
mov esi, ecx
shl esi, 1
and esi, 2
add esi, 0xff
sub ecx, esi
add ecx, edx
mov byte [esp + eax + 0x308], cl
add eax, 1
jmp 0x467f75a
lea eax, [esp + 0x308]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call fcn.04671b20
cmp eax, 0
mov esi, dword [esp + 0x28]
je 0x467f9cb
mov al, byte [esp + 0xf8]
mov byte [esp + 0x198], al
mov byte [esp + 0x300], 0x8e
mov byte [esp + 0x301], 9
mov eax, 2
mov byte [esp + eax + 0x300], 0
add eax, 1
cmp eax, 8
jne 0x467f7ea
xor eax, eax
cmp eax, 8
jae 0x467f857
movzx edi, byte [esp + eax + 0x300]
mov edx, 0x992370c1
sub edx, eax
or edx, edi
mov ecx, 0xc1
sub ecx, eax
mov esi, 0xc1
sub esi, eax
or ecx, esi
mov esi, edi
xor esi, 0xffffffff
or ecx, esi
add ecx, edi
add ecx, 1
mov esi, edx
shl esi, 1
xor esi, 0xffffffff
add edx, esi
or ecx, edx
add ecx, 0xfdb133c9
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x300], cl
add eax, 1
jmp 0x467f7fc
lea eax, [esp + 0x300]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.04671b20
cmp eax, 0
mov esi, dword [esp + 0x28]
je 0x467f9cb
mov al, byte [esp + 0xf4]
mov byte [esp + 0x19c], al
mov byte [esp + 0x2f8], 0x38
mov byte [esp + 0x2f9], 0x9f
mov eax, 2
mov byte [esp + eax + 0x2f8], 0
add eax, 1
cmp eax, 7
jne 0x467f8a6
xor eax, eax
cmp eax, 7
jae 0x467f8f5
movzx ecx, byte [esp + eax + 0x2f8]
mov edx, eax
add edx, 0x13b6e5e5
xor edx, ecx
mov ecx, edx
and ecx, 0x86
mov ebx, edx
add ebx, ecx
or edx, 0x79
sub ebx, edx
mov byte [esp + eax + 0x2f8], bl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x467f8b8
lea eax, [esp + 0x2f8]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.04671b20
cmp eax, 0
mov ebx, dword [esp + 0x2c]
je 0x467f9cb
mov al, byte [esp + 0xf0]
mov byte [esp + 0x1a0], al
mov byte [esp + 0x240], 0xee
mov byte [esp + 0x241], 0xe2
mov byte [esp + 0x242], 0x72
mov eax, 3
mov byte [esp + eax + 0x240], 0
add eax, 1
cmp eax, 8
jne 0x467f94c
xor eax, eax
cmp eax, 8
jae 0x467f999
mov dl, byte [esp + eax + 0x240]
mov esi, eax
and esi, 0x38
xor esi, 0x38
mov ecx, eax
and ecx, 0xc7
sub ecx, esi
add cl, 0xa4
xor cl, dl
add cl, 0xe4
mov byte [esp + eax + 0x240], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x467f95e
lea eax, [esp + 0x240]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.04671b20
test eax, eax
sete al
test al, 1
mov esi, dword [esp + 0x28]
jne 0x46813d2
jmp 0x467f9d0
jmp 0x46813d2
mov al, byte [esp + 0xec]
mov byte [esp + 0x1a4], al
mov byte [esp + 0x2f0], 0xe3
mov byte [esp + 0x2f1], 0x89
mov eax, 2
mov byte [esp + eax + 0x2f0], 0
add eax, 1
cmp eax, 5
jne 0x467f9f3
xor eax, eax
cmp eax, 5
jae 0x467fa27
mov cl, byte [esp + eax + 0x2f0]
mov dl, al
add dl, 0x9e
xor dl, cl
add dl, 0xea
mov byte [esp + eax + 0x2f0], dl
add eax, 1
jmp 0x467fa05
lea eax, [esp + 0x2f0]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x284], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0x1a8], al
mov byte [esp + 0x2e8], 0x80
mov byte [esp + 0x2e9], 0x11
mov eax, 2
mov byte [esp + eax + 0x2e8], 0
add eax, 1
cmp eax, 8
jne 0x467fa68
xor eax, eax
cmp eax, 8
jae 0x467faf8
movzx ecx, byte [esp + eax + 0x2e8]
mov edi, eax
add edi, 0x1aec0d44
mov edx, edi
and edx, ecx
mov esi, edx
and esi, 0xfd
mov ebx, edx
and ebx, 2
xor ebx, 2
imul ebx, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
add edx, ebx
mov esi, edx
xor esi, edi
mov edi, 0x6513f2bb
sub edi, eax
and edx, edi
shl edx, 1
sub edx, esi
mov esi, ecx
xor esi, 0xffffffff
mov edi, edx
and edi, esi
xor edx, 0xffffffff
and ecx, edx
sub ecx, edi
add ecx, 0x7963bdab
mov esi, ecx
shl esi, 1
and esi, 2
mov edx, ecx
and edx, esi
or ecx, esi
xor ecx, 1
add edx, ecx
mov byte [esp + eax + 0x2e8], dl
add eax, 1
jmp 0x467fa7a
lea eax, [esp + 0x2e8]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov cl, byte [esp + 0xe4]
mov byte [esp + 0x1ac], cl
mov byte [esp + 0x2e0], 0xa5
mov byte [esp + 0x2e1], 0x11
mov ecx, 2
mov byte [esp + ecx + 0x2e0], 0
add ecx, 1
cmp ecx, 7
jne 0x467fb32
mov dword [esp + 0x3ac], eax
xor eax, eax
cmp eax, 7
jae 0x467fb8d
movzx edx, byte [esp + eax + 0x2e0]
mov ecx, eax
add ecx, 0x2609d37c
mov esi, edx
xor esi, 0xffffffff
and ecx, esi
mov esi, 0x83
sub esi, eax
and esi, edx
or ecx, esi
mov edx, ecx
xor edx, 0x6d
shl ecx, 1
and ecx, 0x24
sub ecx, edx
add cl, 1
mov byte [esp + eax + 0x2e0], cl
add eax, 1
jmp 0x467fb4b
lea eax, [esp + 0x2e0]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.04671970
mov dword [esp + 0x29c], eax
mov al, byte [esp + 0xe0]
mov byte [esp + 0x1b0], al
mov byte [esp + 0x2d8], 0x4e
mov byte [esp + 0x2d9], 0xc9
mov eax, 2
mov byte [esp + eax + 0x2d8], 0
add eax, 1
cmp eax, 7
jne 0x467fbce
xor eax, eax
cmp eax, 7
jae 0x467fc37
movzx edx, byte [esp + eax + 0x2d8]
mov ecx, 0xb1
sub ecx, eax
mov esi, 0xb1
sub esi, eax
and ecx, esi
mov esi, edx
xor esi, 0xffffffff
or ecx, esi
and ecx, 0xff
xor ecx, 0xff
mov esi, eax
add esi, 0xe5d2ee4e
or esi, edx
xor esi, 0xffffffff
or ecx, esi
mov edx, ecx
shl edx, 1
xor edx, 0xffffffff
add ecx, edx
add cl, 0x7a
mov byte [esp + eax + 0x2d8], cl
add eax, 1
jmp 0x467fbe0
lea eax, [esp + 0x2d8]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov cl, byte [esp + 0xdc]
mov byte [esp + 0x1b4], cl
mov byte [esp + 0x2d0], 0x84
mov byte [esp + 0x2d1], 0x21
mov ecx, 2
mov byte [esp + ecx + 0x2d0], 0
add ecx, 1
cmp ecx, 5
jne 0x467fc71
mov dword [esp + 0x3b4], eax
xor eax, eax
cmp eax, 5
jae 0x467fcb6
movzx edx, byte [esp + eax + 0x2d0]
mov esi, eax
add esi, 0x48
mov ecx, eax
add ecx, 0x48
and ecx, edx
or esi, edx
xor ecx, esi
add cl, 0x98
mov byte [esp + eax + 0x2d0], cl
add eax, 1
jmp 0x467fc8a
lea eax, [esp + 0x2d0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.04671900
fnstcw word [esp + 0x5c]
movzx eax, word [esp + 0x5c]
or eax, 0xc00
mov word [esp + 0x208], ax
fldcw word [esp + 0x208]
fistp dword [esp + 0x3c8]
fldcw word [esp + 0x5c]
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3b8], eax
mov al, byte [esp + 0xd8]
mov byte [esp + 0x1b8], al
mov byte [esp + 0x238], 0xba
mov byte [esp + 0x239], 0xaa
mov byte [esp + 0x23a], 0x26
mov eax, 3
mov byte [esp + eax + 0x238], 0
add eax, 1
cmp eax, 6
jne 0x467fd2e
xor eax, eax
cmp eax, 6
jae 0x467fd93
movzx edx, byte [esp + eax + 0x238]
mov ecx, eax
add ecx, 0x241db379
mov esi, eax
add esi, 0x79
and esi, edx
mov edi, ecx
and edi, esi
mov esi, edi
and esi, 2
xor esi, 2
mov ebx, edi
and ebx, 0xfd
imul ebx, esi
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
add edi, ebx
add ecx, edx
sub ecx, edi
add cl, 0xa3
mov byte [esp + eax + 0x238], cl
add eax, 1
jmp 0x467fd40
lea eax, [esp + 0x238]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.04671900
fnstcw word [esp + 0x5a]
movzx eax, word [esp + 0x5a]
or eax, 0xc00
mov word [esp + 0x206], ax
fldcw word [esp + 0x206]
fistp dword [esp + 0x3c4]
fldcw word [esp + 0x5a]
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x284]
mov dword [esp], eax
call fcn.046830e0
mov edi, eax
add edi, 0x4910b4f0
add edi, 1
sub edi, 0x4910b4f0
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov esi, dword [esp + 0x28]
jne 0x467fe1c
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov ebx, eax
xor eax, eax
mov dword [esp], ebx
mov dword [esp + 4], edi
mov eax, dword [esp + 0x284]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
lea ecx, [esp + 0x3e0]
mov dword [esp], ebx
call fcn.04683150
sub esp, 4
jmp 0x467fe5b
mov dword [esp], ebx
call fcn.046782e0
mov ebx, dword [esp + 0x2c]
jmp 0x467fe69
lea ecx, [esp + 0x3e0]
mov dword [esp], 0x1000
call fcn.046a63c0
sub esp, 4
cmp eax, 0
jge 0x467fe89
jmp 0x46804ce
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x384], eax
mov al, byte [esp + 0x1bc]
mov byte [esp + 0x204], al
mov byte [esp + 0x44], 0x1d
mov byte [esp + 0x45], 0x1e
mov byte [esp + 0x46], 0x1f
mov byte [esp + 0x47], 0x10
xor eax, eax
cmp eax, 4
jae 0x467fef1
movzx edx, byte [esp + eax + 0x44]
mov esi, eax
add esi, 0x45
and esi, edx
shl esi, 1
mov ecx, eax
add ecx, 0xc5
add ecx, edx
sub ecx, esi
add cl, 0x27
mov byte [esp + eax + 0x44], cl
add eax, 1
jmp 0x467fec6
mov edi, dword [esp + 0x44]
xor esi, esi
mov ecx, 2
cmp esi, dword [0x46b91f4]
jb 0x467ff09
jmp 0x467ff92
mov edx, dword [0x46b91f8]
cmp dword [edx + esi*8], 0xae6e2b0b
sete bl
xor ecx, ecx
mov byte [esp + 0x34], bl
test bl, 1
jne 0x467ff26
jmp 0x467ff81
mov edx, dword [edx + esi*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x467ff81
mov eax, dword [0x46b91fc]
xor ecx, ecx
lea ecx, [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov eax, dword [esp + 0x384]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
call fcn.046a8f20
mov ecx, 1
test byte [esp + 0x34], 1
je 0x467ff8a
jmp 0x467ff92
add esi, 1
jmp 0x467fef7
cmp ecx, 2
je 0x467ff99
mov edi, eax
mov al, byte [esp + 0xc8]
mov byte [esp + 0x1c0], al
mov byte [esp + 0xcc], 0x3c
mov byte [esp + 0xcd], 0x31
mov byte [esp + 0xce], 0x32
mov byte [esp + 0xcf], 0xf3
mov eax, 4
mov byte [esp + eax + 0xcc], 0
add eax, 1
cmp eax, 8
jne 0x467ffcc
xor eax, eax
cmp eax, 8
jae 0x468004e
movzx ecx, byte [esp + eax + 0xcc]
mov edx, 0xc314aacb
sub edx, eax
mov esi, edx
and esi, ecx
mov ebx, edx
xor ebx, ecx
sub ebx, edx
add ebx, esi
xor ebx, 0xffffffff
mov edx, eax
add edx, 0x3ceb5534
or edx, ecx
and edx, ebx
mov ecx, edx
add ecx, 0x7b
mov esi, 0x3098aa04
sub esi, edx
or esi, 1
mov ebx, edx
add ebx, esi
shl ebx, 1
add ebx, 0xf8
mov esi, 4
sub esi, edx
and esi, 0x8b
and ecx, 0x74
or esi, ecx
xor esi, 0x8a
add ebx, esi
mov byte [esp + eax + 0xcc], bl
add eax, 1
jmp 0x467ffde
mov eax, dword [esp + 0xcc]
cmp edi, eax
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
jne 0x46804ce
mov eax, dword [esp + 0xd4]
mov ecx, eax
and ecx, 2
or eax, 2
add ecx, eax
mov dword [esp], ecx
call fcn.046a5ff0
mov dword [esp + 0x7c], eax
mov edi, dword [esp + 0xd4]
sub edi, 0xcf013281
add edi, 2
add edi, 0xcf013281
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0x380], eax
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x200], al
mov byte [esp + 0x48], 0x1d
mov byte [esp + 0x49], 0x1e
mov byte [esp + 0x4a], 0x1f
mov byte [esp + 0x4b], 0x10
xor eax, eax
cmp eax, 4
jae 0x46800f9
movzx edx, byte [esp + eax + 0x48]
mov esi, eax
add esi, 0x45
and esi, edx
shl esi, 1
mov ecx, eax
add ecx, 0xc5
add ecx, edx
sub ecx, esi
mov esi, dword [esp + 0x28]
add cl, 0x27
mov byte [esp + eax + 0x48], cl
add eax, 1
jmp 0x46800ca
mov edx, dword [esp + 0x48]
xor ebx, ebx
mov ecx, 2
cmp ebx, dword [0x46b91f4]
jb 0x4680111
jmp 0x46801ad
mov dword [esp + 0x78], edx
mov edx, dword [0x46b91f8]
mov esi, ebx
cmp dword [edx + ebx*8], 0xae6e2b0b
sete bl
xor ecx, ecx
mov byte [esp + 0x33], bl
test bl, 1
jne 0x4680134
jmp 0x468018a
mov edx, dword [edx + esi*8 + 4]
mov ecx, 2
cmp edx, dword [esp + 0x78]
je 0x468018a
mov eax, dword [0x46b91fc]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov eax, dword [esp + 0x380]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0
call fcn.046a8f20
mov ecx, 1
test byte [esp + 0x33], 1
je 0x468019b
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x78]
jmp 0x46801ad
mov ebx, esi
add ebx, 1
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x78]
jmp 0x46800ff
cmp ecx, 2
je 0x46801b4
mov edx, eax
cmp edx, 0
jl 0x46804bc
mov esi, dword [esp + 0x3ac]
mov dword [esp], esi
call fcn.046830e0
mov ebx, eax
mov dword [esp + 0x378], ebx
add ebx, 1
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x46801f0
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x388], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov ecx, dword [esp + 0x7c]
mov esi, ecx
add esi, 4
mov eax, dword [ecx + 4]
movzx ecx, word [ecx]
shr ecx, 1
mov edx, ecx
xor edx, 0xffffffff
and edx, 1
and ecx, 0xfffffffe
sub ecx, edx
shl ecx, 1
add eax, ecx
mov edi, eax
cmp edi, dword [esi]
jb 0x4680250
movzx ecx, word [edi]
cmp ecx, 0x5c
jne 0x468024b
jmp 0x4680254
add edi, 0xfffffffe
jmp 0x468023d
mov edi, eax
jmp 0x4680254
mov eax, dword [esi]
sub edi, eax
sar edi, 1
mov ecx, edi
mov edx, dword [esp + 0x378]
and ecx, edx
shl ecx, 1
mov eax, edi
xor eax, edx
add eax, ecx
add eax, 0xf200457b
add eax, 1
sub eax, 0xf200457b
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4680290
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov ebx, eax
mov eax, dword [esi]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.04683180
mov dword [esp], eax
mov esi, dword [esp + 0x388]
mov dword [esp + 4], esi
call fcn.04679f20
mov edi, eax
mov dword [esp], esi
call fcn.046782e0
sub edi, ebx
sar edi, 1
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x46802e8
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov dword [esp], ebx
mov dword [esp + 0x270], eax
mov dword [esp + 4], eax
call fcn.046a4550
mov dword [esp], ebx
call fcn.046782e0
mov esi, dword [esp + 0x3b4]
mov dword [esp], esi
call fcn.046830e0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4680337
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x260], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
call fcn.0467acb0
lea ecx, [esp + 0x500]
mov dword [esp], 1
call fcn.04679010
sub esp, 4
xor ebx, ebx
mov eax, dword [esp + 0x29c]
mov dword [esp], eax
call fcn.04671b80
cmp ebx, eax
jb 0x4680390
jmp 0x468047e
mov eax, dword [esp + 0x29c]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.04671b60
mov dword [esp], eax
call fcn.046718e0
mov dword [esp + 0x254], eax
cmp eax, 0
sete al
test al, 1
jne 0x46803be
jmp 0x46803c3
jmp 0x468046f
mov eax, dword [esp + 0x254]
mov dword [esp], eax
call fcn.046830e0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x46803ef
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
mov esi, eax
xor eax, eax
mov dword [esp], esi
mov dword [esp + 4], edi
mov eax, dword [esp + 0x254]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
lea eax, [esp + 0x500]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x260]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 8], eax
mov edi, esi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x3b0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
call fcn.0468d8a0
mov dword [esp], edi
call fcn.046782e0
jmp 0x468046f
mov eax, ebx
and eax, 1
or ebx, 1
add ebx, eax
jmp 0x4680378
mov eax, dword [esp + 0x260]
mov dword [esp], eax
call fcn.046782e0
jmp 0x468048f
mov eax, dword [esp + 0x270]
mov dword [esp], eax
call fcn.046782e0
jmp 0x46804a0
lea ecx, [esp + 0x500]
call fcn.04679a50
lea ecx, [esp + 0x500]
call fcn.046790f0
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.046a6140
mov ebx, dword [esp + 0x2c]
jmp 0x46804ce
lea ecx, [esp + 0x3e0]
call fcn.04683240
jmp 0x46813d2
mov al, byte [esp + 0xc4]
mov byte [esp + 0x1c8], al
mov byte [esp + 0x2c8], 0xf8
mov byte [esp + 0x2c9], 9
mov eax, 2
mov byte [esp + eax + 0x2c8], 0
add eax, 1
cmp eax, 5
jne 0x4680502
mov dword [esp + 0x28], esi
xor eax, eax
cmp eax, 5
jae 0x468054e
movzx edx, byte [esp + eax + 0x2c8]
mov ecx, eax
add ecx, 0xc2
mov esi, edx
xor esi, 0xffffffff
and ecx, esi
mov esi, 0x3d
sub esi, eax
and esi, edx
or ecx, esi
add cl, 0x36
mov byte [esp + eax + 0x2c8], cl
add eax, 1
jmp 0x4680518
lea eax, [esp + 0x2c8]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x264], eax
mov al, byte [esp + 0xc0]
mov byte [esp + 0x1cc], al
mov byte [esp + 0x2c0], 0x1a
mov byte [esp + 0x2c1], 0x91
mov eax, 2
mov byte [esp + eax + 0x2c0], 0
add eax, 1
cmp eax, 8
jne 0x468058f
xor eax, eax
cmp eax, 8
jae 0x4680614
movzx edx, byte [esp + eax + 0x2c0]
mov ecx, eax
add ecx, 0xf6f6e31c
mov edi, ecx
and edi, edx
mov esi, edi
and esi, 0xfd
mov ebx, edi
and ebx, 2
xor ebx, 2
imul ebx, esi
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
add edi, ebx
add ecx, edx
sub ecx, edi
mov edx, ecx
and edx, 0x71
mov esi, ecx
and esi, 0x71
mov edi, ecx
and edi, 2
xor edi, 2
imul edi, esi
mov esi, ecx
and esi, 2
or edx, 2
imul edx, esi
add edx, edi
xor ecx, 0x73
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x2c0], cl
add eax, 1
jmp 0x46805a1
lea eax, [esp + 0x2c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.046718a0
mov ebx, eax
mov edx, dword [esp + 0x264]
test edx, edx
sete al
test ebx, ebx
sete cl
or al, cl
test al, 1
mov esi, dword [esp + 0x28]
jne 0x468064a
jmp 0x4680653
mov ebx, dword [esp + 0x2c]
jmp 0x4680de9
mov dword [esp], edx
call fcn.046830e0
mov edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4680678
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x298], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x264]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov dword [esp], ebx
call fcn.046830e0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x46806cd
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x294], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov al, byte [esp + 0xbc]
mov byte [esp + 0x1d0], al
mov byte [esp + 0x2b8], 0x96
mov byte [esp + 0x2b9], 0x3b
mov eax, 2
mov byte [esp + eax + 0x2b8], 0
add eax, 1
cmp eax, 6
jne 0x4680719
xor eax, eax
cmp eax, 6
jae 0x468078a
movzx edx, byte [esp + eax + 0x2b8]
mov ecx, eax
add ecx, 0x914bae0b
mov esi, 0xf4
sub esi, eax
and esi, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, esi
mov esi, dword [esp + 0x28]
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, 0xc8
add ecx, edx
mov byte [esp + eax + 0x2b8], cl
mov ecx, eax
add ecx, 1
mov edx, eax
xor edx, 0xffffffff
or edx, 1
add edx, ecx
or eax, 0xd5a1ecc1
add eax, edx
add eax, 0x2a5e1340
jmp 0x468072b
lea eax, [esp + 0x2b8]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov ebx, eax
mov dword [esp + 0x74], 0
cmp ebx, 0
je 0x46807fd
mov dword [esp], ebx
call fcn.046830e0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x46807d5
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x74], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
call fcn.0467acb0
jmp 0x46807fd
mov al, byte [esp + 0xb8]
mov byte [esp + 0x1d4], al
mov byte [esp + 0x2b0], 0xbe
mov byte [esp + 0x2b1], 0x21
mov eax, 2
mov byte [esp + eax + 0x2b0], 0
add eax, 1
cmp eax, 5
jne 0x4680820
xor eax, eax
cmp eax, 5
jae 0x4680864
movzx edx, byte [esp + eax + 0x2b0]
mov ecx, eax
add ecx, 0xab256b38
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
mov esi, dword [esp + 0x28]
add cl, 0xe8
mov byte [esp + eax + 0x2b0], cl
add eax, 1
jmp 0x4680832
lea eax, [esp + 0x2b0]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov edi, eax
mov dword [esp + 0x70], 0
cmp edi, 0
je 0x46808d5
mov dword [esp], edi
call fcn.046830e0
mov ebx, eax
add ebx, 1
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x46808af
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov al, byte [esp + 0xb4]
mov byte [esp + 0x1d8], al
mov byte [esp + 0x230], 0xcf
mov byte [esp + 0x231], 0xf3
mov byte [esp + 0x232], 0x6a
mov eax, 3
mov ebx, dword [ebp + 8]
mov byte [esp + eax + 0x230], 0
add eax, 1
cmp eax, 8
jne 0x4680903
xor eax, eax
cmp eax, 8
jae 0x4680982
movzx edi, byte [esp + eax + 0x230]
mov ecx, eax
shl ecx, 1
and ecx, 0x86a4292e
mov edx, eax
xor edx, 0xc3521497
add edx, ecx
mov ecx, edi
and ecx, 0x5a
xor ecx, 0x5a
mov esi, edi
and esi, 0x5a
xor esi, 0x168f595a
or ecx, esi
and edi, 0xa5
or ecx, edi
xor edx, 0x168f595a
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
mov esi, dword [esp + 0x28]
mov edx, ecx
shl edx, 1
and edx, 0x18
xor ecx, 0xc
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x230], cl
add eax, 1
jmp 0x4680915
lea eax, [esp + 0x230]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.04671970
xor ebx, ebx
cmp eax, 0
mov edi, 0
je 0x4680cd4
mov dword [esp + 0x27c], eax
mov dword [esp], eax
call fcn.04671b80
mov ebx, eax
mov ecx, 0xc
mov eax, ebx
mul ecx
seto cl
add eax, 4
setb dl
or cl, dl
mov edx, 0xffffffff
test cl, 1
jne 0x46809d6
mov edx, eax
mov dword [esp], edx
call fcn.046782d0
mov dword [eax], ebx
add eax, 4
cmp ebx, 0
sete cl
jmp 0x46809eb
test cl, 1
mov dword [esp + 0x6c], eax
mov dword [esp + 0x280], ebx
jne 0x4680a1d
jmp 0x46809fd
imul ecx, ebx, 0xc
mov ebx, eax
mov edi, ebx
add edi, ecx
mov ecx, ebx
call fcn.04683250
add ebx, 0xc
cmp ebx, edi
jne 0x4680a06
mov ebx, dword [esp + 0x280]
jmp 0x4680a1d
mov eax, dword [esp + 0x27c]
xor edi, edi
jmp 0x4680a28
cmp edi, ebx
jb 0x4680a35
mov edi, dword [esp + 0x6c]
jmp 0x4680cd4
mov dword [esp], eax
mov dword [esp + 0x39c], edi
mov dword [esp + 4], edi
call fcn.04671b90
mov ebx, eax
mov al, byte [esp + 0xb0]
mov byte [esp + 0x1dc], al
mov byte [esp + 0x228], 0x5b
mov byte [esp + 0x229], 0x41
mov byte [esp + 0x22a], 0xfe
mov eax, 3
mov byte [esp + eax + 0x228], 0
add eax, 1
cmp eax, 6
jne 0x4680a75
xor eax, eax
cmp eax, 6
jae 0x4680aa9
mov cl, byte [esp + eax + 0x228]
mov dl, al
add dl, 0xd5
xor dl, cl
add dl, 0xd7
mov byte [esp + eax + 0x228], dl
add eax, 1
jmp 0x4680a87
lea eax, [esp + 0x228]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x394], eax
mov al, byte [esp + 0xac]
mov byte [esp + 0x1e0], al
mov byte [esp + 0x220], 0x2d
mov byte [esp + 0x221], 7
mov byte [esp + 0x222], 0x8e
mov eax, 3
mov byte [esp + eax + 0x220], 0
add eax, 1
cmp eax, 5
jne 0x4680aee
xor eax, eax
cmp eax, 5
jae 0x4680b22
mov cl, byte [esp + eax + 0x220]
mov dl, al
add dl, 0x62
xor dl, cl
add dl, 0x16
mov byte [esp + eax + 0x220], dl
add eax, 1
jmp 0x4680b00
lea eax, [esp + 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x38c], eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0x1e4], al
mov byte [esp + 0xa4], 0x18
mov byte [esp + 0xa5], 0x5f
mov byte [esp + 0xa6], 0x5c
mov byte [esp + 0xa7], 0xb9
mov eax, 4
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 8
jne 0x4680b6f
xor eax, eax
cmp eax, 8
jae 0x4680bb5
mov dl, byte [esp + eax + 0xa4]
movzx esi, dl
mov ecx, eax
add ecx, 0x951febdf
mov edi, ecx
and edi, esi
mov esi, dword [esp + 0x28]
shl edi, 1
sub ecx, edi
add cl, dl
add cl, 0xa5
mov byte [esp + eax + 0xa4], cl
add eax, 1
jmp 0x4680b81
lea eax, [esp + 0xa4]
mov edi, ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.046719d0
xor ebx, ebx
cmp eax, 0
setg byte [esp + 0x36]
mov al, byte [esp + 0x94]
mov byte [esp + 0x1e8], al
mov byte [esp + 0x98], 0x41
mov byte [esp + 0x99], 0x50
mov byte [esp + 0x9a], 0x47
mov byte [esp + 0x9b], 0xc9
mov eax, 4
mov byte [esp + eax + 0x98], 0
add eax, 1
cmp eax, 8
jne 0x4680c07
xor eax, eax
cmp eax, 8
jae 0x4680c62
movzx edx, byte [esp + eax + 0x98]
mov ecx, edx
shl ecx, 1
xor ecx, 0xffffffff
add ecx, edx
mov esi, edx
shl esi, 1
xor esi, 0xffffffff
add esi, edx
and ecx, esi
mov esi, 0x2c
sub esi, eax
or ecx, esi
mov esi, eax
add esi, 0xd3
or esi, edx
and ecx, esi
mov esi, dword [esp + 0x28]
add cl, 0xe1
mov byte [esp + eax + 0x98], cl
add eax, 1
jmp 0x4680c19
lea eax, [esp + 0x98]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.046719d0
xor edx, edx
cmp eax, 0
setg dl
mov edi, dword [esp + 0x39c]
imul eax, edi, 0xc
mov ecx, dword [esp + 0x6c]
add ecx, eax
mov eax, dword [esp + 0x394]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38c]
mov dword [esp], eax
and edx, 1
mov dword [esp + 0xc], edx
mov al, byte [esp + 0x36]
mov bl, al
and ebx, 1
mov dword [esp + 8], ebx
call fcn.04683270
sub esp, 0x10
sub edi, 0xffffffff
mov ebx, dword [esp + 0x280]
mov eax, dword [esp + 0x27c]
jmp 0x4680a28
mov eax, dword [esp + 0x294]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3dc], eax
lea ecx, [esp + 0x478]
mov dword [esp], 2
call fcn.04679010
sub esp, 4
lea eax, [esp + 0x478]
lea ecx, [esp + 0x3d0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
call fcn.046838f0
lea ecx, [esp + 0x478]
call fcn.04679a50
cmp edi, 0
je 0x4680d89
mov ebx, edi
add ebx, 0xfffffffc
imul eax, dword [edi - 4], 0xc
mov ecx, edi
mov edi, ecx
add edi, eax
mov dword [esp + 0x6c], ecx
cmp ecx, edi
je 0x4680d81
jmp 0x4680d68
add edi, 0xfffffff4
mov ecx, edi
call fcn.046833e0
cmp edi, dword [esp + 0x6c]
sete al
test al, 1
jne 0x4680d7f
jmp 0x4680d68
jmp 0x4680d81
mov dword [esp], ebx
call fcn.046782e0
mov ebx, dword [esp + 0x2c]
jmp 0x4680d8f
mov eax, dword [esp + 0x294]
mov dword [esp], eax
call fcn.046782e0
jmp 0x4680da0
mov eax, dword [esp + 0x298]
mov dword [esp], eax
call fcn.046782e0
cmp dword [esp + 0x74], 0
mov eax, dword [esp + 0x70]
je 0x4680dcc
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.046782e0
mov eax, dword [esp + 0x70]
jmp 0x4680dcc
cmp eax, 0
je 0x4680ddb
mov dword [esp], eax
call fcn.046782e0
jmp 0x4680ddb
lea ecx, [esp + 0x478]
call fcn.046790f0
jmp 0x4680de9
jmp 0x46813d2
mov al, byte [esp + 0x90]
mov byte [esp + 0x1ec], al
mov byte [esp + 0x2a8], 0x74
mov byte [esp + 0x2a9], 0xe7
mov eax, 2
mov byte [esp + eax + 0x2a8], 0
add eax, 1
cmp eax, 6
jne 0x4680e11
mov dword [esp + 0x28], esi
xor eax, eax
cmp eax, 6
jae 0x4680e84
movzx edi, byte [esp + eax + 0x2a8]
mov edx, eax
add edx, 0x393686d9
mov esi, edi
xor esi, 0xffffffff
mov ecx, edx
and ecx, esi
mov esi, eax
shl esi, 1
add esi, 0xb3
sub edx, esi
and edx, edi
or ecx, edx
add ecx, 0xcee9e29c
mov edx, ecx
shl edx, 1
and edx, 0x4e
xor ecx, 0x27
add ecx, edx
mov byte [esp + eax + 0x2a8], cl
mov ecx, eax
xor ecx, 0x2d0734cb
shl eax, 1
and eax, 8
sub eax, ecx
add eax, 0x2d0734cc
jmp 0x4680e27
lea eax, [esp + 0x2a8]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x25c], eax
mov al, byte [esp + 0x8c]
mov byte [esp + 0x1f0], al
mov byte [esp + 0x2a0], 0x9a
mov byte [esp + 0x2a1], 0x1b
mov eax, 2
mov byte [esp + eax + 0x2a0], 0
add eax, 1
cmp eax, 8
jne 0x4680ec5
xor eax, eax
cmp eax, 8
jae 0x4680f05
movzx edx, byte [esp + eax + 0x2a0]
mov ecx, eax
add ecx, 0xc5e8f4fb
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
sub ecx, esi
add cl, 0x19
mov byte [esp + eax + 0x2a0], cl
add eax, 1
jmp 0x4680ed7
lea eax, [esp + 0x2a0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.046718a0
mov edi, eax
mov edx, dword [esp + 0x25c]
test edx, edx
sete al
test edi, edi
sete cl
or al, cl
test al, 1
mov esi, dword [esp + 0x28]
jne 0x4680f3b
jmp 0x4680f40
jmp 0x46813d0
mov dword [esp], edx
call fcn.046830e0
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor ebx, ebx
sub ebx, ecx
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4680f6b
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x28c], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x25c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov dword [esp], edi
call fcn.046830e0
mov ebx, eax
add ebx, 1
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4680fc0
mov ecx, eax
mov dword [esp], ecx
call fcn.046782d0
xor ecx, ecx
mov dword [esp + 0x288], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
call fcn.0467acb0
mov al, byte [esp + 0x88]
mov byte [esp + 0x1f4], al
mov byte [esp + 0x218], 0xbd
mov byte [esp + 0x219], 0xa9
mov byte [esp + 0x21a], 0x22
mov eax, 3
mov byte [esp + eax + 0x218], 0
add eax, 1
cmp eax, 7
jne 0x4681014
xor eax, eax
mov ebx, dword [ebp + 8]
cmp eax, 7
jae 0x4681078
movzx edx, byte [esp + eax + 0x218]
mov ecx, 0xc7
sub ecx, eax
or ecx, edx
mov edi, 0x9b8918c7
sub edi, eax
mov esi, 0xc7
sub esi, eax
mov ebx, edi
xor ebx, esi
add edi, ebx
mov ebx, dword [ebp + 8]
mov esi, edx
xor esi, 0xffffffff
or edi, esi
add edi, edx
mov edx, 0xfe
sub edx, edi
and ecx, edx
mov dl, 0xe7
sub dl, cl
mov byte [esp + eax + 0x218], dl
add eax, 1
jmp 0x4681029
lea eax, [esp + 0x218]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.04671970
xor edi, edi
cmp eax, 0
mov ecx, 0
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
je 0x468130a
mov dword [esp + 0x398], eax
mov dword [esp], eax
call fcn.04671b80
mov ecx, 8
mov edi, eax
mul ecx
seto dl
add eax, 4
setb ch
mov cl, dl
xor cl, 0xff
xor dl, 0xff
or cl, dl
mov dl, ch
xor dl, 0xff
xor ch, 0xff
or dl, ch
xor cl, 0xff
xor dl, 0xff
or cl, dl
mov edx, 0xffffffff
test cl, 1
jne 0x46810ec
mov edx, eax
mov dword [esp], edx
call fcn.046782d0
mov ecx, edi
mov dword [eax], ecx
add eax, 4
cmp ecx, 0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], eax
je 0x4681129
shl ecx, 3
mov edi, eax
add edi, ecx
mov ebx, eax
mov ecx, ebx
call fcn.04683410
add ebx, 8
cmp ebx, edi
jne 0x4681111
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x68]
jmp 0x4681129
xor edi, edi
jmp 0x468112d
cmp edi, ecx
mov eax, dword [esp + 0x398]
jb 0x4681141
mov edi, dword [esp + 0x64]
jmp 0x468130a
mov dword [esp], eax
mov dword [esp + 0x390], edi
mov dword [esp + 4], edi
call fcn.04671b90
mov dword [esp + 0x268], eax
mov al, byte [esp + 0x84]
mov byte [esp + 0x1f8], al
mov byte [esp + 0x38], 0xd7
mov byte [esp + 0x39], 0xd9
mov byte [esp + 0x3a], 0x4a
mov eax, 3
mov byte [esp + eax + 0x38], 0
add eax, 1
cmp eax, 4
jne 0x468117d
xor edi, edi
cmp edi, 4
jae 0x4681228
movzx eax, byte [esp + edi + 0x38]
mov dword [esp + 0x368], eax
mov eax, edi
add eax, 0xcc1085f3
mov ebx, 0x33ef7a0c
sub ebx, edi
mov ecx, 0x33ef7a0c
sub ecx, edi
mov dword [esp + 0x250], ecx
mov edx, ebx
and edx, 0x9e
mov esi, eax
and esi, 0x61
mov ecx, dword [esp + 0x250]
and ecx, 0x9e
and eax, 0x61
or edx, esi
or ecx, eax
xor edx, ecx
or ebx, dword [esp + 0x250]
xor ebx, 0xffffffff
or edx, ebx
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x368]
and edx, eax
xor eax, 0xffffffff
mov ecx, eax
mov eax, 0x33ef7a0c
sub eax, edi
and eax, ecx
or edx, eax
mov eax, 0x3ad623f
sub eax, edx
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
mov byte [esp + edi + 0x38], al
add edi, 1
jmp 0x468118c
lea eax, [esp + 0x38]
mov ecx, dword [esp + 0x268]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov dword [esp + 0x374], eax
mov al, byte [esp + 0x80]
mov byte [esp + 0x1fc], al
mov byte [esp + 0x210], 0xa5
mov byte [esp + 0x211], 0x8f
mov byte [esp + 0x212], 0xf6
mov eax, 3
mov byte [esp + eax + 0x210], 0
add eax, 1
cmp eax, 5
jne 0x4681271
xor eax, eax
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x390]
cmp eax, 5
jae 0x46812c3
mov dl, byte [esp + eax + 0x210]
mov esi, eax
shl esi, 1
and esi, 0xfc
mov ecx, eax
xor ecx, 0xfe
add ecx, esi
mov esi, dword [esp + 0x28]
xor cl, dl
add cl, 0xa
mov byte [esp + eax + 0x210], cl
add eax, 1
jmp 0x468128e
lea eax, [esp + 0x210]
mov ecx, dword [esp + 0x268]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.046718a0
mov edx, edi
shl edx, 3
mov ecx, dword [esp + 0x64]
add ecx, edx
mov dword [esp], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 4], eax
call fcn.04683420
sub esp, 8
add edi, 1
mov ecx, dword [esp + 0x68]
jmp 0x468112d
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x3f0]
mov dword [esp], 3
call fcn.04679010
sub esp, 4
lea eax, [esp + 0x3f0]
mov dword [esp], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x288]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
call fcn.0468bb20
lea ecx, [esp + 0x3f0]
call fcn.04679a50
cmp edi, 0
mov ecx, edi
je 0x46813a0
mov ebx, ecx
add ebx, 0xfffffffc
mov eax, dword [ebx]
shl eax, 3
mov edi, ecx
add edi, eax
cmp ecx, edi
je 0x4681394
mov dword [esp + 0x64], ecx
jmp 0x4681380
add edi, 0xfffffff8
mov ecx, edi
call fcn.046834e0
mov ecx, dword [esp + 0x64]
cmp edi, ecx
jne 0x4681380
jmp 0x4681394
mov dword [esp], ebx
call fcn.046782e0
mov ebx, dword [esp + 0x2c]
jmp 0x46813a2
mov eax, dword [esp + 0x28c]
mov dword [esp], eax
call fcn.046782e0
jmp 0x46813b3
mov eax, dword [esp + 0x288]
mov dword [esp], eax
call fcn.046782e0
jmp 0x46813c4
lea ecx, [esp + 0x3f0]
call fcn.046790f0
jmp 0x46813d2
jmp 0x46813d4
sub ebx, 0xffffffff
jmp 0x467e96f
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret