Function at 0x832670
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x800
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00821b50
mov esi, eax
cmp esi, 0
jne 0x832698
xor eax, eax
jmp 0x83459e
xor edi, edi
jmp 0x83269c
mov dword [esp], esi
call fcn.00821f20
cmp edi, eax
jb 0x8326af
mov al, 1
jmp 0x83459e
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00821f30
mov dword [esp + 0x38], eax
mov al, byte [esp + 0x1a8]
mov byte [esp + 0x1c0], al
mov byte [esp + 0x44], 0xa6
mov byte [esp + 0x45], 0x34
xor eax, eax
cmp eax, 2
jae 0x832714
movzx edx, byte [esp + eax + 0x44]
mov ecx, eax
add ecx, 0x9f4dea6b
mov ebx, ecx
and ebx, edx
shl ebx, 1
add ecx, edx
sub ecx, ebx
mov edx, ecx
and edx, 0xec
xor edx, 0xec
and ecx, 0x13
sub ecx, edx
add cl, 0x94
mov byte [esp + eax + 0x44], cl
add eax, 1
jmp 0x8326d9
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00821e20
cmp eax, 0
setne al
test al, 1
jne 0x83273f
jmp 0x832849
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x1c4], al
mov byte [esp + 0x53], 0xe9
mov byte [esp + 0x54], 0xd4
mov byte [esp + 0x55], 0x41
mov dword [esp + 0x2c], edi
xor eax, eax
jmp 0x832764
cmp eax, 3
jae 0x8327b3
movzx ebx, byte [esp + eax + 0x53]
mov edx, eax
add edx, 0xe24e5ff7
mov ecx, ebx
shl ecx, 1
xor ecx, 0xffffffff
add ecx, ebx
mov edi, 0x1db1a008
sub edi, eax
or ecx, edi
or edx, ebx
and ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x8e
xor ecx, 0xb8
sub edx, ecx
mov byte [esp + eax + 0x53], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
or ecx, 0x10
xor eax, 0xfffffff1
add eax, ecx
jmp 0x832764
lea eax, [esp + 0x53]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00821e20
cmp eax, 0
mov edi, dword [esp + 0x2c]
je 0x832849
mov al, byte [esp + 0x1a0]
mov byte [esp + 0x1c8], al
mov byte [esp + 0x42], 0x33
mov byte [esp + 0x43], 0x97
xor eax, eax
cmp eax, 2
jae 0x83280e
mov cl, byte [esp + eax + 0x42]
mov dl, al
add dl, 0xa6
xor dl, cl
add dl, 0xd0
mov byte [esp + eax + 0x42], dl
add eax, 1
jmp 0x8327f2
lea eax, [esp + 0x42]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00821e20
cmp eax, 0
setne cl
mov al, cl
xor al, 0xff
xor cl, 0xff
and al, cl
or al, 0
xor al, 0xff
or al, 0
xor al, 0xff
jmp 0x832843
test al, 1
jne 0x832849
jmp 0x83284e
jmp 0x834596
mov al, byte [esp + 0x19c]
mov byte [esp + 0x1cc], al
mov byte [esp + 0x40], 0xa7
mov byte [esp + 0x41], 0x33
xor eax, eax
cmp eax, 2
jae 0x83288e
movzx edx, byte [esp + eax + 0x40]
mov ecx, eax
add ecx, 0x22
and ecx, edx
mov edi, eax
add edi, 0x22
or edi, edx
xor ecx, edi
add cl, 0xf0
mov byte [esp + eax + 0x40], cl
add eax, 1
jmp 0x832868
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00821860
mov dword [esp + 0x294], eax
mov al, byte [esp + 0x198]
mov byte [esp + 0x1d0], al
mov byte [esp + 0x50], 0x39
mov byte [esp + 0x51], 4
mov byte [esp + 0x52], 0x91
xor eax, eax
cmp eax, 3
jae 0x8328ed
mov cl, byte [esp + eax + 0x50]
mov dl, al
add dl, 0xa7
xor dl, cl
add dl, 0xc8
mov byte [esp + eax + 0x50], dl
mov ecx, eax
xor ecx, 1
shl eax, 1
and eax, 2
add eax, ecx
jmp 0x8328c8
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00821960
fnstcw word [esp + 0x84]
movzx eax, word [esp + 0x84]
or eax, 0xc00
mov word [esp + 0x236], ax
fldcw word [esp + 0x236]
fistp dword [esp + 0x2a4]
fldcw word [esp + 0x84]
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0xac], eax
mov al, byte [esp + 0x194]
mov byte [esp + 0x1d4], al
mov byte [esp + 0x3e], 0x2f
mov byte [esp + 0x3f], 0xcb
xor eax, eax
cmp eax, 2
jae 0x83298e
movzx ebx, byte [esp + eax + 0x3e]
mov edx, eax
add edx, 0x1a
mov ecx, 0xe5
sub ecx, eax
mov edi, 0xe5
sub edi, eax
and ecx, edi
or edx, ebx
xor ebx, 0xffffffff
or ecx, ebx
and ecx, edx
add cl, 0x30
mov byte [esp + eax + 0x3e], cl
add eax, 1
jmp 0x83295a
lea eax, [esp + 0x3e]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00821960
fnstcw word [esp + 0x82]
movzx eax, word [esp + 0x82]
or eax, 0xc00
mov word [esp + 0x234], ax
fldcw word [esp + 0x234]
fistp dword [esp + 0x2a0]
fldcw word [esp + 0x82]
mov ebx, dword [esp + 0x2a0]
lea eax, [esp + 0x3fc]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x400
mov eax, dword [esp + 0x294]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0082a6d0
lea eax, [esp + 0x3fc]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x24c]
xor edi, edi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0082ae40
test al, 1
mov edi, dword [esp + 0x2c]
jne 0x832a41
jmp 0x832a3c
jmp 0x834596
cmp ebx, 0
sete al
mov byte [esp + 0x49], al
test al, 1
jne 0x832a54
jmp 0x833bbe
mov al, byte [esp + 0x190]
mov byte [esp + 0x1d8], al
mov byte [esp + 0x3c], 0x79
mov byte [esp + 0x3d], 0xa
xor eax, eax
cmp eax, 2
jae 0x832aa4
movzx edx, byte [esp + eax + 0x3c]
mov edi, edx
xor edi, 0xffffffff
mov ecx, 0xfe
sub ecx, eax
mov ebx, 0xfe
sub ebx, eax
and ecx, ebx
or ecx, edi
mov edi, eax
add edi, 1
or edi, edx
and ecx, edi
add cl, 0xf8
mov byte [esp + eax + 0x3c], cl
add eax, 1
jmp 0x832a6e
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00821860
cmp eax, 0
je 0x832ca4
mov dword [esp + 0x258], eax
mov dword [esp], eax
call fcn.008345b0
xor ecx, ecx
mov dword [esp + 0x238], eax
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, 2
mov dword [esp + 0x250], eax
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov edi, dword [esp + 0x2c]
jne 0x832b03
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov ebx, eax
xor eax, eax
mov dword [esp], ebx
mov eax, dword [esp + 0x250]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0082a6d0
xor eax, eax
lea eax, [esp + 0x18c]
mov dword [esp], 0
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x238]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [fcn.00869658]
sub esp, 0x18
mov cl, byte [esp + 0x188]
mov byte [esp + 0x1dc], cl
mov byte [esp + 0x66], 0x7b
mov byte [esp + 0x67], 0x59
mov byte [esp + 0x68], 0x5a
mov byte [esp + 0x69], 0x1b
xor ecx, ecx
cmp ecx, 4
jae 0x832bb1
mov dl, byte [esp + ecx + 0x66]
mov dh, cl
add dh, 0x98
xor dh, dl
add dh, 0x40
mov byte [esp + ecx + 0x66], dh
add ecx, 1
jmp 0x832b95
mov ecx, dword [esp + 0x66]
cmp eax, ecx
jne 0x832bdb
jmp 0x832bbb
mov dword [esp], ebx
call fcn.00828000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00859b60
xor ebx, ebx
mov eax, 4
jmp 0x832c96
mov dword [esp + 0x140], ebx
mov eax, dword [esp + 0x18c]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x832bff
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov ebx, eax
mov eax, dword [fcn.00869658]
jmp 0x832c10
mov ecx, dword [esp + 0x18c]
xor edx, edx
mov dword [esp], 0
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x238]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x18c]
mov dword [esp + 0x14], ecx
call eax
sub esp, 0x18
cmp eax, 0
jge 0x832c81
jmp 0x832c55
mov dword [esp], ebx
call fcn.00828000
jmp 0x832c5f
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.00828000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00859b60
mov eax, 4
jmp 0x832c96
jmp 0x832c83
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.00828000
xor eax, eax
jmp 0x832c96
cmp eax, 0
je 0x833369
jmp 0x83336d
call fcn.008287c0
mov edi, eax
and edi, 0xf
add edi, 0x10
xor ebx, ebx
lea ecx, [esp + 0x3bc]
jmp 0x832cbc
cmp ebx, edi
jb 0x832ee0
mov word [ecx], 0
mov al, byte [esp + 0x180]
mov byte [esp + 0x1e4], al
mov byte [esp + 0xb2], 0xc
mov byte [esp + 0xb3], 0x2a
mov byte [esp + 0xb4], 0x7f
mov byte [esp + 0xb5], 0x2c
mov byte [esp + 0xb6], 0x68
mov byte [esp + 0xb7], 0x2e
mov byte [esp + 0xb8], 0x72
mov byte [esp + 0xb9], 0x20
mov byte [esp + 0xba], 0x71
mov byte [esp + 0xbb], 0x22
mov byte [esp + 0xbc], 6
mov byte [esp + 0xbd], 0x24
mov byte [esp + 0xbe], 0x49
mov byte [esp + 0xbf], 0x26
mov byte [esp + 0xc0], 0x27
mov byte [esp + 0xc1], 0x38
xor eax, eax
cmp eax, 0x10
jae 0x832dc2
movzx edx, byte [esp + eax + 0xb2]
mov ecx, 0xe8b612de
sub ecx, eax
or ecx, edx
mov ebx, 0xe8b612de
sub ebx, eax
mov edi, 0xe8b612de
sub edi, eax
and ebx, edi
mov edi, ebx
xor edi, 0xffffffff
or edi, edx
add ebx, edi
mov edx, 0xfffffffe
sub edx, ebx
and ecx, edx
mov edx, ecx
and edx, 0x45b096f7
xor edx, 0x45b096f7
and ecx, 0xba4f6908
xor ecx, 0xffffffff
add edx, ecx
mov ecx, edx
shl ecx, 1
and ecx, 2
xor edx, 1
add edx, ecx
mov byte [esp + eax + 0xb2], dl
add eax, 1
jmp 0x832d59
lea eax, [esp + 0x35c]
lea ecx, [esp + 0xb2]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00829c80
lea ecx, [esp + 0x3bc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00829c80
lea ecx, [esp + 0x35c]
sub eax, ecx
sar eax, 1
xor ecx, ecx
lea edx, [esp + 0x35c]
lea ecx, [esp + 0x17c]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 0x298], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
call dword [fcn.00869658]
sub esp, 0x18
mov dword [esp + 0x27c], eax
mov al, byte [esp + 0x178]
mov byte [esp + 0x1e8], al
mov byte [esp + 0x5e], 0x56
mov byte [esp + 0x5f], 0xb6
mov byte [esp + 0x60], 0xb7
mov byte [esp + 0x61], 0xc8
xor eax, eax
cmp eax, 4
jae 0x832eca
movzx edx, byte [esp + eax + 0x5e]
mov ebx, eax
add ebx, 0x2f3c635d
mov edi, eax
shl edi, 1
add edi, 0x5e78c6bb
mov ecx, ebx
sub ecx, edi
mov edi, edx
and edi, 0xa5
or edi, 0x4ba2412
and edx, 0x5a
xor edx, edi
and ecx, 0xea05dba5
and ebx, 0x15fa245a
or ebx, ecx
xor edx, ebx
mov ecx, edx
and ecx, 0xe9
xor ecx, 0x48
and edx, 0x16
xor edx, 0x16
sub edx, ecx
add dl, 1
mov byte [esp + eax + 0x5e], dl
add eax, 1
jmp 0x832e68
mov eax, dword [esp + 0x5e]
cmp dword [esp + 0x27c], eax
mov edi, dword [esp + 0x2c]
jne 0x832f50
jmp 0x832f68
mov dword [esp + 0x274], ecx
call fcn.008287c0
mov cl, byte [esp + 0x184]
mov byte [esp + 0x1e0], cl
mov byte [esp + 0x62], 0x6c
mov byte [esp + 0x63], 0x49
mov byte [esp + 0x64], 0x4a
mov byte [esp + 0x65], 0x4b
xor ecx, ecx
cmp ecx, 4
jae 0x832f2c
mov dl, byte [esp + ecx + 0x62]
mov dh, cl
add dh, 8
xor dh, dl
add dh, 0xc0
mov byte [esp + ecx + 0x62], dh
add ecx, 1
jmp 0x832f10
cdq
idiv dword [esp + 0x62]
movsx eax, byte [edx + 0x860b8c]
mov edx, dword [esp + 0x274]
mov ecx, edx
add ecx, 2
mov word [edx], ax
add ebx, 1
jmp 0x832cbc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00859b60
xor ebx, ebx
mov eax, 4
jmp 0x833364
mov eax, dword [esp + 0x17c]
mov cl, byte [esp + 0x174]
mov byte [esp + 0x1ec], cl
mov byte [esp + 0x5a], 0x93
mov byte [esp + 0x5b], 0x88
mov byte [esp + 0x5c], 0x89
mov byte [esp + 0x5d], 0x8a
xor ecx, ecx
cmp ecx, 4
jae 0x832fb8
mov dl, byte [esp + ecx + 0x5a]
mov dh, cl
add dh, 0xef
xor dh, dl
add dh, 0x88
mov byte [esp + ecx + 0x5a], dh
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
jmp 0x832f93
mov ecx, dword [esp + 0x5a]
xor edx, edx
sub edx, ecx
sub eax, edx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x832fd8
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov ebx, eax
mov eax, dword [fcn.00869658]
mov ecx, dword [esp + 0x17c]
xor edx, edx
lea edx, [esp + 0x35c]
lea edi, [esp + 0x17c]
mov dword [esp], 0
mov dword [esp + 4], edx
mov edx, dword [esp + 0x298]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
call eax
sub esp, 0x18
cmp eax, 0
jge 0x83304e
mov edi, dword [esp + 0x2c]
jmp 0x833030
mov dword [esp], ebx
call fcn.00828000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00859b60
mov eax, 4
jmp 0x833364
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xac]
cmp ecx, 0
sete al
test al, 1
jne 0x833068
jmp 0x833150
mov al, byte [esp + 0x170]
mov byte [esp + 0x1f0], al
mov byte [esp + 0xa2], 0x3a
mov byte [esp + 0xa3], 0x55
mov byte [esp + 0xa4], 0xf3
mov byte [esp + 0xa5], 0x57
mov byte [esp + 0xa6], 0xe0
mov byte [esp + 0xa7], 0x59
mov byte [esp + 0xa8], 0xff
mov byte [esp + 0xa9], 0x5b
mov byte [esp + 0xaa], 0x5c
mov byte [esp + 0xab], 0x5d
xor eax, eax
cmp eax, 0xa
jae 0x833138
movzx edx, byte [esp + eax + 0xa2]
mov ecx, eax
add ecx, 0xf4
and ecx, edx
xor edx, 0xffffffff
mov edi, 0xb
sub edi, eax
and edi, edx
or ecx, edi
mov dl, 0x5f
sub dl, cl
mov byte [esp + eax + 0xa2], dl
mov ecx, eax
add ecx, 1
mov edx, eax
xor edx, 0xffffffff
or edx, 1
add edx, ecx
mov ecx, edx
and ecx, 2
xor ecx, 2
mov edi, edx
and edi, 0xfffffffd
imul ecx, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
mov edi, dword [esp + 0x2c]
add ecx, edx
mov edx, eax
shl edx, 1
and edx, 2
add edx, 0xffffffff
sub eax, edx
add eax, ecx
jmp 0x8330c8
lea eax, [esp + 0xa2]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.008349b0
jmp 0x833360
cmp ecx, 1
jne 0x83326b
mov al, byte [esp + 0x16c]
mov byte [esp + 0x1f4], al
mov byte [esp + 0x98], 0
mov byte [esp + 0x99], 0xef
mov byte [esp + 0x9a], 0x74
mov byte [esp + 0x9b], 0xd1
mov byte [esp + 0x9c], 0x7e
mov byte [esp + 0x9d], 0xd3
mov byte [esp + 0x9e], pe_nt_image_headers32
mov byte [esp + 0x9f], 0xd5
mov byte [esp + 0xa0], 0xd6
mov byte [esp + 0xa1], 0xd7
xor edx, edx
cmp edx, 0xa
jae 0x833253
mov al, byte [esp + edx + 0x98]
mov byte [esp + 0x46], al
movzx ecx, al
mov eax, edx
add eax, 0x1e
mov dword [esp + 0x254], eax
mov dword [esp + 0x28], ebx
mov ebx, 0xadd21ae1
sub ebx, edx
or ebx, ecx
mov eax, 0xe1
sub eax, edx
and eax, ecx
mov ecx, 0xadd21ae1
sub ecx, edx
xor ebx, 0xffffffff
or eax, ebx
or ecx, eax
mov ebx, ecx
xor ebx, 0xffffffff
mov eax, ecx
and eax, 2
and ecx, 0xfffffffd
xor ecx, 0xfffffffd
imul ecx, eax
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
add ebx, ecx
mov ecx, ebx
xor ecx, dword [esp + 0x254]
mov eax, 0x61
sub eax, edx
and ebx, eax
shl ebx, 1
xor ebx, 0xffffffff
add ecx, ebx
mov ebx, dword [esp + 0x28]
add cl, byte [esp + 0x46]
add cl, 0x11
mov byte [esp + edx + 0x98], cl
add edx, 1
jmp 0x8331b9
lea eax, [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.008349b0
jmp 0x833360
cmp ecx, 2
sete al
test al, 1
jne 0x83327a
jmp 0x833360
mov al, byte [esp + 0x168]
mov byte [esp + 0x1f8], al
mov byte [esp + 0x8e], 0x36
mov byte [esp + 0x8f], 0x19
mov byte [esp + 0x90], 0xea
mov byte [esp + 0x91], 0x1b
mov byte [esp + 0x92], 0xef
mov byte [esp + 0x93], 0x1d
mov byte [esp + 0x94], 0x2f
mov byte [esp + 0x95], 0x1f
mov byte [esp + 0x96], 0x20
mov byte [esp + 0x97], 0x21
xor eax, eax
cmp eax, 0xa
jae 0x83334b
movzx edx, byte [esp + eax + 0x8e]
mov ecx, eax
add ecx, 0x85720dd8
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
mov edx, ecx
and edx, 0xd46f913d
mov edi, ecx
and edi, 0xd46f913d
mov dword [esp + 0x28], ebx
mov ebx, ecx
and ebx, 2
xor ebx, 2
imul ebx, edi
mov edi, ecx
and edi, 2
or edx, 2
imul edx, edi
mov edi, dword [esp + 0x2c]
add edx, ebx
xor ecx, 0xd46f913f
mov ebx, ecx
add ebx, edx
and ecx, 1
or ebx, 1
add ebx, ecx
mov byte [esp + eax + 0x8e], bl
mov ebx, dword [esp + 0x28]
add eax, 1
jmp 0x8332da
lea eax, [esp + 0x8e]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.008349b0
jmp 0x833360
xor eax, eax
jmp 0x833364
cmp eax, 0
jne 0x83336d
xor eax, eax
jmp 0x83336d
cmp eax, 0
sete al
test al, 1
jne 0x83337c
jmp 0x834596
lea eax, [esp + 0x248]
xor ecx, ecx
mov dword [esp + 0x28], ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call 0x85d370
mov ebx, eax
cmp ebx, 0
jl 0x8334cf
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x248]
xor edi, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call 0x85da80
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x28c], ecx
mov cl, byte [esp + 0x1bc]
mov byte [esp + 0x220], cl
mov byte [esp + 0x7a], 0x63
mov byte [esp + 0x7b], 0x62
mov byte [esp + 0x7c], 0x61
mov byte [esp + 0x7d], 0x60
xor ebx, ebx
cmp ebx, 4
jae 0x833442
mov cl, byte [esp + ebx + 0x7a]
mov dl, bl
add dl, 0xbc
xor dl, cl
add dl, 0x20
mov byte [esp + ebx + 0x7a], dl
add ebx, 1
jmp 0x833426
mov dword [esp + 0x290], eax
mov ecx, dword [esp + 0x7a]
xor edx, edx
mov edi, dword [esp + 0x2c]
cmp edx, dword [0x86965c]
jb 0x83345d
jmp 0x8334c8
mov eax, dword [0x869660]
cmp dword [eax + edx*8], 0xb430e561
sete bl
test bl, 1
jne 0x833473
jmp 0x8334bc
mov eax, dword [eax + edx*8 + 4]
cmp eax, ecx
je 0x8334bc
mov dword [esp + 0x270], ecx
mov ecx, dword [0x869664]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x28c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x25c], edx
call 0x85b480
mov edx, dword [esp + 0x25c]
mov ecx, dword [esp + 0x270]
test bl, 1
jne 0x8334c6
add edx, 1
jmp 0x833453
jmp 0x8334c8
mov ebx, dword [esp + 0x290]
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00859b60
mov dword [esp + 0x30], 0
cmp ebx, 0
jge 0x833505
mov dword [esp + 0x34], 0
mov eax, 4
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x28]
jmp 0x833bb0
mov ecx, dword [esp + 0xac]
cmp ecx, 1
mov ebx, dword [esp + 0x28]
jne 0x8338a9
mov al, byte [esp + 0x164]
mov byte [esp + 0x1fc], al
mov byte [esp + 0x4d], 0x38
mov byte [esp + 0x4e], 0x31
mov byte [esp + 0x4f], 0x80
xor eax, eax
cmp eax, 3
jae 0x83359c
movzx edx, byte [esp + eax + 0x4d]
mov edi, eax
add edi, 0xc8c429ee
mov ecx, 0x11
sub ecx, eax
and ecx, edx
xor edx, 0xffffffff
and edi, edx
or ecx, edi
mov edi, ecx
add edi, 0xb9deb08f
mov edx, edi
and edx, 1
and edi, 1
xor edi, 0xffffffff
add ecx, 0xb9deb091
add ecx, edi
mov edi, edx
and edi, ecx
shl edi, 1
xor edx, ecx
add edx, edi
mov byte [esp + eax + 0x4d], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
shl edx, 1
and edx, 2
xor eax, 0xffffffff
add edx, eax
sub ecx, edx
mov eax, ecx
jmp 0x833538
lea eax, [esp + 0x4d]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00821860
mov dword [esp + 0x148], eax
mov al, byte [esp + 0x160]
mov byte [esp + 0x200], al
mov byte [esp + 0x4a], 0x12
mov byte [esp + 0x4b], 0x66
mov byte [esp + 0x4c], 0xf5
xor eax, eax
cmp eax, 3
jae 0x8335fb
mov cl, byte [esp + eax + 0x4a]
mov dl, al
add dl, 0xab
xor dl, cl
add dl, 0xa8
mov byte [esp + eax + 0x4a], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x8335d6
lea eax, [esp + 0x4a]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00821860
mov dword [esp + 0x144], eax
mov dword [esp], ebx
call fcn.00834a00
mov edi, eax
cmp dword [esp + 0x148], 0
setne al
xor edx, edx
mov byte [esp + 0x47], al
test al, 1
jne 0x833637
jmp 0x83364d
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.00828100
mov edx, eax
sub edx, 0xffffffff
jmp 0x83364d
cmp dword [esp + 0x144], 0
setne cl
xor eax, eax
mov byte [esp + 0x48], cl
test cl, 1
mov dword [esp + 0x240], edx
jne 0x83366c
jmp 0x833687
mov eax, dword [esp + 0x144]
mov dword [esp], eax
call fcn.00828100
sub eax, 0xffffffff
mov edx, dword [esp + 0x240]
jmp 0x833687
add edi, 9
add edi, edx
mov dword [esp + 0x29c], eax
xor eax, 0xffffffff
sub eax, 0xffffffff
sub edi, eax
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x8336b6
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x15c]
mov byte [esp + 0x204], al
mov byte [esp + 0xc2], 0xde
mov byte [esp + 0xc3], 0x6d
mov byte [esp + 0xc4], 0xdb
mov byte [esp + 0xc5], 0x6f
mov byte [esp + 0xc6], 0xde
mov byte [esp + 0xc7], 0x71
mov byte [esp + 0xc8], 0xd6
mov byte [esp + 0xc9], 0x73
mov byte [esp + 0xca], 0xd8
mov byte [esp + 0xcb], 0x75
mov byte [esp + 0xcc], 0xda
mov byte [esp + 0xcd], 0x77
mov byte [esp + 0xce], 0x8b
mov byte [esp + 0xcf], 0x79
mov byte [esp + 0xd0], 0x88
mov byte [esp + 0xd1], 0x7b
mov byte [esp + 0xd2], 0x7c
mov byte [esp + 0xd3], 0x7d
xor eax, eax
cmp eax, 0x12
jae 0x8337cd
movzx edi, byte [esp + eax + 0xc2]
mov edx, eax
add edx, 0xb73770c
mov ecx, edi
and ecx, 0x87
xor ecx, 0x7eea5a87
mov ebx, edi
xor ebx, 0x7eea5a87
or edi, 0x78
and edi, ebx
mov ebx, 0xf48c88f3
sub ebx, eax
xor ebx, 0x8115a578
and edx, 0x8115a578
or ecx, edi
or ebx, edx
xor ecx, ebx
mov ebx, dword [esp + 0x28]
add ecx, 0xa464479f
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0xc2], cl
add eax, 1
jmp 0x833762
lea eax, [esp + 0xc2]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00829c80
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.00829c80
mov ecx, ebx
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
cmp ecx, 0
je 0x83381c
mov dword [esp], ecx
call fcn.00828000
test byte [esp + 0x47], 1
jne 0x833827
mov edi, ebx
jmp 0x833861
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
xor eax, eax
mov dword [esp], edi
mov eax, dword [esp + 0x240]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0082a6d0
jmp 0x83385b
shl eax, 1
add edi, eax
jmp 0x833861
test byte [esp + 0x48], 1
jne 0x83386a
jmp 0x83389c
mov eax, edi
add eax, 2
mov word [edi], 0x2c
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x29c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0082a6d0
xor ebx, ebx
xor ecx, ecx
mov edi, dword [esp + 0x2c]
jmp 0x833bae
mov dword [esp + 0x34], 0
cmp ecx, 2
je 0x8338bb
jmp 0x833bae
mov dword [esp], ebx
call fcn.00834a00
add eax, 0x1d
add eax, 0xdc2c1c76
add eax, 1
sub eax, 0xdc2c1c76
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x8338e9
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x208], al
mov byte [esp + 0x56], 0x61
mov byte [esp + 0x57], 0x44
mov byte [esp + 0x58], 0x45
mov byte [esp + 0x59], 0x46
xor eax, eax
cmp eax, 4
jae 0x83394b
mov dl, byte [esp + eax + 0x56]
mov edi, eax
and edi, 0x65
xor edi, 0x65
mov ecx, eax
and ecx, 0x9a
sub ecx, edi
xor cl, dl
add cl, 0x28
mov byte [esp + eax + 0x56], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x833919
mov al, byte [esp + 0x154]
mov byte [esp + 0x20c], al
mov byte [esp + 0x106], 0x17
mov byte [esp + 0x107], pe_nt_image_headers32
mov byte [esp + 0x108], 0xe6
mov byte [esp + 0x109], 0x7a
mov byte [esp + 0x10a], 0xec
mov byte [esp + 0x10b], 0x7c
mov byte [esp + 0x10c], 0xd8
mov byte [esp + 0x10d], 0x7e
mov byte [esp + 0x10e], 0xed
mov byte [esp + 0x10f], 0x70
mov byte [esp + 0x110], 0xe2
mov byte [esp + 0x111], 0x72
mov byte [esp + 0x112], 0xeb
mov byte [esp + 0x113], 0x74
mov byte [esp + 0x114], 0xd0
mov byte [esp + 0x115], 0x76
mov byte [esp + 0x116], 0xeb
mov byte [esp + 0x117], 0x68
mov byte [esp + 0x118], 0xf5
mov byte [esp + 0x119], 0x6a
mov byte [esp + 0x11a], 0x8b
mov byte [esp + 0x11b], 0x6c
mov byte [esp + 0x11c], 0xb0
mov byte [esp + 0x11d], 0x6e
mov byte [esp + 0x11e], 0xca
mov byte [esp + 0x11f], 0x60
mov byte [esp + 0x120], 0xe9
mov byte [esp + 0x121], 0x62
mov byte [esp + 0x122], 0xc6
mov byte [esp + 0x123], 0x64
mov byte [esp + 0x124], 0xc6
mov byte [esp + 0x125], 0x66
mov byte [esp + 0x126], 0x87
mov byte [esp + 0x127], 0x58
mov byte [esp + 0x128], 0xfb
mov byte [esp + 0x129], 0x5a
mov byte [esp + 0x12a], 0xd2
mov byte [esp + 0x12b], 0x5c
mov byte [esp + 0x12c], 0xcd
mov byte [esp + 0x12d], 0x5e
mov byte [esp + 0x12e], 0xfe
mov byte [esp + 0x12f], 0x50
mov byte [esp + 0x130], 0xc2
mov byte [esp + 0x131], 0x52
mov byte [esp + 0x132], 0xc0
mov byte [esp + 0x133], 0x54
mov byte [esp + 0x134], 0xb5
mov byte [esp + 0x135], 0x56
mov byte [esp + 0x136], 0x8a
mov byte [esp + 0x137], 0x48
mov byte [esp + 0x138], 0xef
mov byte [esp + 0x139], 0x4a
mov byte [esp + 0x13a], 0xab
mov byte [esp + 0x13b], 0x4c
mov byte [esp + 0x13c], 0xaf
mov byte [esp + 0x13d], 0x4e
mov byte [esp + 0x13e], 0x4f
mov byte [esp + 0x13f], 0x40
xor eax, eax
cmp eax, 0x3a
jae 0x833b70
movzx edx, byte [esp + eax + 0x106]
mov edi, eax
shl edi, 1
and edi, 0x6b4308fe
mov ecx, eax
xor ecx, 0x4a5e7b80
sub ecx, edi
xor ecx, edx
mov edi, ecx
shl edi, 1
xor edi, 0xffffffff
mov edx, ecx
add edx, edi
or ecx, 0xf8
or edx, 7
sub edx, ecx
mov byte [esp + eax + 0x106], dl
add eax, 1
jmp 0x833b2b
lea eax, [esp + 0x106]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00829c80
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00829c80
lea ecx, [esp + 0x56]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00829c80
mov edi, dword [esp + 0x2c]
mov ecx, 2
jmp 0x833bae
xor eax, eax
cmp eax, 0
je 0x833ecc
jmp 0x834596
call fcn.00834a30
xor ebx, 1
mov ecx, dword [esp + 0xac]
mov eax, ecx
xor eax, 2
or ebx, eax
sete al
mov dword [esp + 0x34], 0
test al, 1
mov ebx, 0
jne 0x833bed
jmp 0x833ecc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.008345b0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x833c16
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov edx, dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x23c], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0082a6d0
mov eax, dword [esp + 0x24c]
add eax, 0x18
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x833c6f
mov ecx, eax
mov dword [esp], ecx
call fcn.00827ff0
mov ebx, eax
mov al, byte [esp + 0x150]
mov byte [esp + 0x210], al
mov byte [esp + 0xd4], 0x7c
mov byte [esp + 0xd5], 0xcd
mov byte [esp + 0xd6], 0x61
mov byte [esp + 0xd7], 0xcf
mov byte [esp + 0xd8], 0x67
mov byte [esp + 0xd9], 0xd1
mov byte [esp + 0xda], 0x77
mov byte [esp + 0xdb], 0xd3
mov byte [esp + 0xdc], 0x66
mov byte [esp + 0xdd], 0xd5
mov byte [esp + 0xde], 0x65
mov byte [esp + 0xdf], 0xd7
mov byte [esp + 0xe0], 0x70
mov byte [esp + 0xe1], 0xd9
mov byte [esp + 0xe2], 0x7f
mov byte [esp + 0xe3], 0xdb
mov byte [esp + 0xe4], 0x70
mov byte [esp + 0xe5], 0xdd
mov byte [esp + 0xe6], 0x72
mov byte [esp + 0xe7], 0xdf
mov byte [esp + 0xe8], 0x40
mov byte [esp + 0xe9], 0xa1
mov byte [esp + 0xea], 0x4f
mov byte [esp + 0xeb], 0xa3
mov byte [esp + 0xec], 1
mov byte [esp + 0xed], 0xa5
mov byte [esp + 0xee], 0x1e
mov byte [esp + 0xef], 0xa7
mov byte [esp + 0xf0], 0xd
mov byte [esp + 0xf1], 0xa9
mov byte [esp + 0xf2], 9
mov byte [esp + 0xf3], 0xab
mov byte [esp + 0xf4], 0x4c
mov byte [esp + 0xf5], 0xad
mov byte [esp + 0xf6], 0xc
mov byte [esp + 0xf7], 0xaf
mov byte [esp + 0xf8], 9
mov byte [esp + 0xf9], 0xb1
mov byte [esp + 0xfa], 2
mov byte [esp + 0xfb], 0xb3
mov byte [esp + 0xfc], 0x15
mov byte [esp + 0xfd], 0xb5
mov byte [esp + 0xfe], 5
mov byte [esp + 0xff], 0xb7
mov byte [esp + 0x100], 0xb
mov byte [esp + 0x101], 0xb9
mov byte [esp + 0x102], 0x5a
mov byte [esp + 0x103], 0xbb
mov byte [esp + 0x104], 0xbc
mov byte [esp + 0x105], 0xbd
xor eax, eax
cmp eax, 0x32
jae 0x833e80
movzx edx, byte [esp + eax + 0xd4]
mov ecx, eax
xor ecx, 0x15dbc453
mov edi, eax
or edi, 0x6a243bac
and edi, ecx
shl edi, 1
mov ecx, eax
xor ecx, 0x6a243bac
add ecx, edi
mov edi, ecx
xor edi, edx
xor ecx, edx
shl ecx, 1
sub ecx, edi
mov edx, ecx
add edx, 1
mov edi, ecx
xor edi, 0xffffffff
or edi, 0x2ede229f
add edi, edx
shl edi, 1
xor ecx, 0xaede229f
mov edx, ecx
add edx, edi
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0xd4], dl
add eax, 1
jmp 0x833e19
lea eax, [esp + 0xd4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00829c80
mov dword [esp], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 4], eax
call fcn.00829c80
mov edi, dword [esp + 0x2c]
jmp 0x833eac
mov eax, dword [esp + 0x23c]
mov dword [esp], eax
call fcn.00828000
jmp 0x833ebd
mov dword [esp + 0x34], ebx
jmp 0x833ec3
xor ebx, ebx
mov ecx, 2
jmp 0x833ecc
test ecx, ecx
je 0x833eed
jmp 0x833ed2
mov eax, ecx
sub eax, 1
je 0x83405f
jmp 0x833edf
sub ecx, 2
je 0x834328
jmp 0x834556
test byte [esp + 0x49], 1
jne 0x833ef9
jmp 0x83405f
lea edi, [esp + 0x318]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x318], 0x44
mov eax, dword [0x868650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.0085ce00
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x318]
lea edx, [esp + 0x2c4]
mov dword [esp], ebx
mov edi, dword [esp + 0x34]
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
je 0x834056
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x280], eax
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x224], al
mov byte [esp + 0x76], 0x63
mov byte [esp + 0x77], 0x62
mov byte [esp + 0x78], 0x61
mov byte [esp + 0x79], 0x60
xor eax, eax
cmp eax, 4
jae 0x833fdd
mov cl, byte [esp + eax + 0x76]
mov dl, al
add dl, 0xbc
xor dl, cl
add dl, 0x20
mov byte [esp + eax + 0x76], dl
add eax, 1
jmp 0x833fc1
mov ecx, dword [esp + 0x76]
xor edi, edi
cmp edi, dword [0x86965c]
jb 0x833fed
jmp 0x834056
mov dword [esp + 0x28], ebx
mov eax, dword [0x869660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x834007
jmp 0x834042
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x834042
mov dword [esp + 0x260], ecx
mov ecx, dword [0x869664]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x280]
mov dword [esp + 0xc], eax
call 0x85b480
mov ecx, dword [esp + 0x260]
test bl, 1
jne 0x834050
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x833fe3
mov ebx, dword [esp + 0x28]
jmp 0x834056
mov edi, dword [esp + 0x2c]
jmp 0x834556
mov eax, dword [0x868650]
mov dword [esp], eax
mov dword [esp + 4], 0x4e0c8565
call fcn.0085ce00
test eax, eax
setne cl
mov ecx, dword [esp + 0x30]
xor edx, edx
lea edx, [0x842940]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call eax
sub esp, 0x18
mov dword [esp + 0x244], eax
cmp eax, 0
setne al
test al, 1
jne 0x8340c7
jmp 0x834323
mov dword [esp + 0x28], ebx
mov al, byte [esp + 0x14c]
mov byte [esp + 0x214], al
mov byte [esp + 0x86], 0xf
mov byte [esp + 0x87], 0xca
mov byte [esp + 0x88], 0x4d
mov byte [esp + 0x89], 0x2e
mov byte [esp + 0x8a], 0xc
mov byte [esp + 0x8b], 0xb
mov byte [esp + 0x8c], 0xa
mov byte [esp + 0x8d], 9
xor edi, edi
cmp edi, 8
jae 0x83417a
movzx eax, byte [esp + edi + 0x86]
mov ebx, edi
add ebx, 0x235fb4b7
mov ecx, eax
xor ecx, 0xffffffff
mov edx, ebx
and edx, ecx
mov ecx, 0x1ca04b48
sub ecx, edi
and ecx, 0x178f329a
and ebx, 0xe870cd65
or ecx, ebx
mov ebx, ecx
xor ebx, 0x65
xor ecx, 0x65
or ebx, ecx
and ebx, eax
or edx, ebx
add edx, 0xe5025a47
mov eax, edx
shl eax, 1
and eax, 2
xor edx, 1
add edx, eax
mov byte [esp + edi + 0x86], dl
add edi, 1
jmp 0x83411b
mov eax, dword [esp + 0x86]
mov ecx, dword [esp + 0x8a]
mov dword [esp + 0x2ac], ecx
mov dword [esp + 0x2a8], eax
mov al, byte [esp + 0x218]
mov byte [esp + 0x21c], al
mov byte [esp + 0x7e], 0x63
mov byte [esp + 0x7f], 0x62
mov byte [esp + 0x80], 0x61
mov byte [esp + 0x81], 0x60
xor ecx, ecx
mov ebx, dword [esp + 0x28]
cmp ecx, 4
jae 0x8341e0
mov al, byte [esp + ecx + 0x7e]
mov dl, cl
add dl, 0xbc
xor dl, al
add dl, 0x20
mov byte [esp + ecx + 0x7e], dl
add ecx, 1
jmp 0x8341c4
mov ecx, dword [esp + 0x7e]
xor edi, edi
cmp edi, dword [0x86965c]
jb 0x8341f0
jmp 0x83426a
mov eax, dword [0x869660]
cmp dword [eax + edi*8], 0xa67d73aa
sete bl
test bl, 1
jne 0x834206
jmp 0x834256
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x834256
mov dword [esp + 0x278], ecx
mov ecx, dword [0x869664]
xor edx, edx
lea edx, [esp + 0x2a8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov eax, dword [esp + 0x244]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call 0x85b480
mov ecx, dword [esp + 0x278]
test bl, 1
jne 0x834264
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x8341e6
mov ebx, dword [esp + 0x28]
jmp 0x83426a
mov al, byte [esp + 0x1b4]
mov byte [esp + 0x228], al
mov byte [esp + 0x72], 0x63
mov byte [esp + 0x73], 0x62
mov byte [esp + 0x74], 0x61
mov byte [esp + 0x75], 0x60
xor ecx, ecx
cmp ecx, 4
jae 0x8342aa
mov al, byte [esp + ecx + 0x72]
mov dl, cl
add dl, 0xbc
xor dl, al
add dl, 0x20
mov byte [esp + ecx + 0x72], dl
add ecx, 1
jmp 0x83428e
mov ecx, dword [esp + 0x72]
xor edi, edi
cmp edi, dword [0x86965c]
jb 0x8342ba
jmp 0x83431f
mov eax, dword [0x869660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x8342d0
jmp 0x83430b
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x83430b
mov dword [esp + 0x264], ecx
mov ecx, dword [0x869664]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x244]
mov dword [esp + 0xc], eax
call 0x85b480
mov ecx, dword [esp + 0x264]
test bl, 1
jne 0x834319
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x8342b0
mov ebx, dword [esp + 0x28]
jmp 0x83431f
mov edi, dword [esp + 0x2c]
jmp 0x834556
lea edi, [esp + 0x2d4]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x2d4], 0x44
mov eax, dword [0x868650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.0085ce00
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x2d4]
lea edx, [esp + 0x2b4]
mov dword [esp], 0
mov edi, dword [esp + 0x34]
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
mov edi, dword [esp + 0x2c]
je 0x834556
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x288], eax
mov al, byte [esp + 0x1b0]
mov byte [esp + 0x22c], al
mov byte [esp + 0x6e], 0x63
mov byte [esp + 0x6f], 0x62
mov byte [esp + 0x70], 0x61
mov byte [esp + 0x71], 0x60
xor eax, eax
cmp eax, 4
jae 0x834414
mov cl, byte [esp + eax + 0x6e]
mov dl, al
add dl, 0xbc
xor dl, cl
add dl, 0x20
mov byte [esp + eax + 0x6e], dl
add eax, 1
jmp 0x8343f8
mov ecx, dword [esp + 0x6e]
xor edi, edi
mov dword [esp + 0x28], ebx
cmp edi, dword [0x86965c]
jb 0x834428
jmp 0x83448d
mov eax, dword [0x869660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x83443e
jmp 0x834479
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x834479
mov dword [esp + 0x26c], ecx
mov ecx, dword [0x869664]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x288]
mov dword [esp + 0xc], eax
call 0x85b480
mov ecx, dword [esp + 0x26c]
test bl, 1
jne 0x834487
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x83441e
mov ebx, dword [esp + 0x28]
jmp 0x83448d
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x284], eax
mov al, byte [esp + 0x1ac]
mov byte [esp + 0x230], al
mov byte [esp + 0x6a], 0x63
mov byte [esp + 0x6b], 0x62
mov byte [esp + 0x6c], 0x61
mov byte [esp + 0x6d], 0x60
xor eax, eax
cmp eax, 4
jae 0x8344db
mov cl, byte [esp + eax + 0x6a]
mov dl, al
add dl, 0xbc
xor dl, cl
add dl, 0x20
mov byte [esp + eax + 0x6a], dl
add eax, 1
jmp 0x8344bf
mov ecx, dword [esp + 0x6a]
xor edi, edi
cmp edi, dword [0x86965c]
jb 0x8344eb
jmp 0x834550
mov eax, dword [0x869660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x834501
jmp 0x83453c
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x83453c
mov dword [esp + 0x268], ecx
mov ecx, dword [0x869664]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x284]
mov dword [esp + 0xc], eax
call 0x85b480
mov ecx, dword [esp + 0x268]
test bl, 1
jne 0x83454a
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x8344e1
mov ebx, dword [esp + 0x28]
jmp 0x834550
mov edi, dword [esp + 0x2c]
jmp 0x834556
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00859b60
cmp ebx, 0
sete al
test al, 1
jne 0x834578
jmp 0x83456e
mov dword [esp], ebx
call fcn.00828000
jmp 0x834578
mov ecx, dword [esp + 0x34]
cmp ecx, 0
sete al
test al, 1
jne 0x834594
jmp 0x834588
mov dword [esp], ecx
call fcn.00828000
jmp 0x834592
jmp 0x834594
jmp 0x834596
sub edi, 0xffffffff
jmp 0x83269c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret