Function at 0x392670
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.00381b50
mov esi, eax
cmp esi, 0
jne 0x392698
xor eax, eax
jmp 0x39459e
xor edi, edi
jmp 0x39269c
mov dword [esp], esi
call fcn.00381f20
cmp edi, eax
jb 0x3926af
mov al, 1
jmp 0x39459e
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00381f30
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 0x392714
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 0x3926d9
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.00381e20
cmp eax, 0
setne al
test al, 1
jne 0x39273f
jmp 0x392849
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 0x392764
cmp eax, 3
jae 0x3927b3
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 0x392764
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.00381e20
cmp eax, 0
mov edi, dword [esp + 0x2c]
je 0x392849
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 0x39280e
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 0x3927f2
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.00381e20
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 0x392843
test al, 1
jne 0x392849
jmp 0x39284e
jmp 0x394596
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 0x39288e
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 0x392868
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00381860
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 0x3928ed
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 0x3928c8
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00381960
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 0x39298e
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 0x39295a
lea eax, [esp + 0x3e]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00381960
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.0038a6d0
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.0038ae40
test al, 1
mov edi, dword [esp + 0x2c]
jne 0x392a41
jmp 0x392a3c
jmp 0x394596
cmp ebx, 0
sete al
mov byte [esp + 0x49], al
test al, 1
jne 0x392a54
jmp 0x393bbe
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 0x392aa4
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 0x392a6e
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00381860
cmp eax, 0
je 0x392ca4
mov dword [esp + 0x258], eax
mov dword [esp], eax
call fcn.003945b0
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 0x392b03
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
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.0038a6d0
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.003c9658]
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 0x392bb1
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 0x392b95
mov ecx, dword [esp + 0x66]
cmp eax, ecx
jne 0x392bdb
jmp 0x392bbb
mov dword [esp], ebx
call fcn.00388000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003b9b60
xor ebx, ebx
mov eax, 4
jmp 0x392c96
mov dword [esp + 0x140], ebx
mov eax, dword [esp + 0x18c]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x392bff
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
mov ebx, eax
mov eax, dword [fcn.003c9658]
jmp 0x392c10
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 0x392c81
jmp 0x392c55
mov dword [esp], ebx
call fcn.00388000
jmp 0x392c5f
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.00388000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003b9b60
mov eax, 4
jmp 0x392c96
jmp 0x392c83
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.00388000
xor eax, eax
jmp 0x392c96
cmp eax, 0
je 0x393369
jmp 0x39336d
call fcn.003887c0
mov edi, eax
and edi, 0xf
add edi, 0x10
xor ebx, ebx
lea ecx, [esp + 0x3bc]
jmp 0x392cbc
cmp ebx, edi
jb 0x392ee0
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 0x392dc2
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 0x392d59
lea eax, [esp + 0x35c]
lea ecx, [esp + 0xb2]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00389c80
lea ecx, [esp + 0x3bc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00389c80
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.003c9658]
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 0x392eca
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 0x392e68
mov eax, dword [esp + 0x5e]
cmp dword [esp + 0x27c], eax
mov edi, dword [esp + 0x2c]
jne 0x392f50
jmp 0x392f68
mov dword [esp + 0x274], ecx
call fcn.003887c0
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 0x392f2c
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 0x392f10
cdq
idiv dword [esp + 0x62]
movsx eax, byte [edx + 0x3c0b8c]
mov edx, dword [esp + 0x274]
mov ecx, edx
add ecx, 2
mov word [edx], ax
add ebx, 1
jmp 0x392cbc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003b9b60
xor ebx, ebx
mov eax, 4
jmp 0x393364
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 0x392fb8
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 0x392f93
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 0x392fd8
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
mov ebx, eax
mov eax, dword [fcn.003c9658]
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 0x39304e
mov edi, dword [esp + 0x2c]
jmp 0x393030
mov dword [esp], ebx
call fcn.00388000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003b9b60
mov eax, 4
jmp 0x393364
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xac]
cmp ecx, 0
sete al
test al, 1
jne 0x393068
jmp 0x393150
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 0x393138
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 0x3930c8
lea eax, [esp + 0xa2]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.003949b0
jmp 0x393360
cmp ecx, 1
jne 0x39326b
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 0x393253
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 0x3931b9
lea eax, [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.003949b0
jmp 0x393360
cmp ecx, 2
sete al
test al, 1
jne 0x39327a
jmp 0x393360
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 0x39334b
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 0x3932da
lea eax, [esp + 0x8e]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.003949b0
jmp 0x393360
xor eax, eax
jmp 0x393364
cmp eax, 0
jne 0x39336d
xor eax, eax
jmp 0x39336d
cmp eax, 0
sete al
test al, 1
jne 0x39337c
jmp 0x394596
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 0x3bd370
mov ebx, eax
cmp ebx, 0
jl 0x3934cf
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 0x3bda80
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 0x393442
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 0x393426
mov dword [esp + 0x290], eax
mov ecx, dword [esp + 0x7a]
xor edx, edx
mov edi, dword [esp + 0x2c]
cmp edx, dword [0x3c965c]
jb 0x39345d
jmp 0x3934c8
mov eax, dword [0x3c9660]
cmp dword [eax + edx*8], 0xb430e561
sete bl
test bl, 1
jne 0x393473
jmp 0x3934bc
mov eax, dword [eax + edx*8 + 4]
cmp eax, ecx
je 0x3934bc
mov dword [esp + 0x270], ecx
mov ecx, dword [0x3c9664]
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 0x3bb480
mov edx, dword [esp + 0x25c]
mov ecx, dword [esp + 0x270]
test bl, 1
jne 0x3934c6
add edx, 1
jmp 0x393453
jmp 0x3934c8
mov ebx, dword [esp + 0x290]
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003b9b60
mov dword [esp + 0x30], 0
cmp ebx, 0
jge 0x393505
mov dword [esp + 0x34], 0
mov eax, 4
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x28]
jmp 0x393bb0
mov ecx, dword [esp + 0xac]
cmp ecx, 1
mov ebx, dword [esp + 0x28]
jne 0x3938a9
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 0x39359c
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 0x393538
lea eax, [esp + 0x4d]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00381860
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 0x3935fb
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 0x3935d6
lea eax, [esp + 0x4a]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00381860
mov dword [esp + 0x144], eax
mov dword [esp], ebx
call fcn.00394a00
mov edi, eax
cmp dword [esp + 0x148], 0
setne al
xor edx, edx
mov byte [esp + 0x47], al
test al, 1
jne 0x393637
jmp 0x39364d
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.00388100
mov edx, eax
sub edx, 0xffffffff
jmp 0x39364d
cmp dword [esp + 0x144], 0
setne cl
xor eax, eax
mov byte [esp + 0x48], cl
test cl, 1
mov dword [esp + 0x240], edx
jne 0x39366c
jmp 0x393687
mov eax, dword [esp + 0x144]
mov dword [esp], eax
call fcn.00388100
sub eax, 0xffffffff
mov edx, dword [esp + 0x240]
jmp 0x393687
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 0x3936b6
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
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 0x3937cd
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 0x393762
lea eax, [esp + 0xc2]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00389c80
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.00389c80
mov ecx, ebx
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
cmp ecx, 0
je 0x39381c
mov dword [esp], ecx
call fcn.00388000
test byte [esp + 0x47], 1
jne 0x393827
mov edi, ebx
jmp 0x393861
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.0038a6d0
jmp 0x39385b
shl eax, 1
add edi, eax
jmp 0x393861
test byte [esp + 0x48], 1
jne 0x39386a
jmp 0x39389c
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.0038a6d0
xor ebx, ebx
xor ecx, ecx
mov edi, dword [esp + 0x2c]
jmp 0x393bae
mov dword [esp + 0x34], 0
cmp ecx, 2
je 0x3938bb
jmp 0x393bae
mov dword [esp], ebx
call fcn.00394a00
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 0x3938e9
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
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 0x39394b
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 0x393919
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 0x393b70
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 0x393b2b
lea eax, [esp + 0x106]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00389c80
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00389c80
lea ecx, [esp + 0x56]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00389c80
mov edi, dword [esp + 0x2c]
mov ecx, 2
jmp 0x393bae
xor eax, eax
cmp eax, 0
je 0x393ecc
jmp 0x394596
call fcn.00394a30
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 0x393bed
jmp 0x393ecc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003945b0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x393c16
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
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.0038a6d0
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 0x393c6f
mov ecx, eax
mov dword [esp], ecx
call fcn.00387ff0
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 0x393e80
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 0x393e19
lea eax, [esp + 0xd4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00389c80
mov dword [esp], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 4], eax
call fcn.00389c80
mov edi, dword [esp + 0x2c]
jmp 0x393eac
mov eax, dword [esp + 0x23c]
mov dword [esp], eax
call fcn.00388000
jmp 0x393ebd
mov dword [esp + 0x34], ebx
jmp 0x393ec3
xor ebx, ebx
mov ecx, 2
jmp 0x393ecc
test ecx, ecx
je 0x393eed
jmp 0x393ed2
mov eax, ecx
sub eax, 1
je 0x39405f
jmp 0x393edf
sub ecx, 2
je 0x394328
jmp 0x394556
test byte [esp + 0x49], 1
jne 0x393ef9
jmp 0x39405f
lea edi, [esp + 0x318]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x318], 0x44
mov eax, dword [0x3c8650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.003bce00
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 0x394056
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 0x393fdd
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 0x393fc1
mov ecx, dword [esp + 0x76]
xor edi, edi
cmp edi, dword [0x3c965c]
jb 0x393fed
jmp 0x394056
mov dword [esp + 0x28], ebx
mov eax, dword [0x3c9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x394007
jmp 0x394042
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x394042
mov dword [esp + 0x260], ecx
mov ecx, dword [0x3c9664]
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 0x3bb480
mov ecx, dword [esp + 0x260]
test bl, 1
jne 0x394050
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x393fe3
mov ebx, dword [esp + 0x28]
jmp 0x394056
mov edi, dword [esp + 0x2c]
jmp 0x394556
mov eax, dword [0x3c8650]
mov dword [esp], eax
mov dword [esp + 4], 0x4e0c8565
call fcn.003bce00
test eax, eax
setne cl
mov ecx, dword [esp + 0x30]
xor edx, edx
lea edx, [0x3a2940]
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 0x3940c7
jmp 0x394323
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 0x39417a
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 0x39411b
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 0x3941e0
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 0x3941c4
mov ecx, dword [esp + 0x7e]
xor edi, edi
cmp edi, dword [0x3c965c]
jb 0x3941f0
jmp 0x39426a
mov eax, dword [0x3c9660]
cmp dword [eax + edi*8], 0xa67d73aa
sete bl
test bl, 1
jne 0x394206
jmp 0x394256
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x394256
mov dword [esp + 0x278], ecx
mov ecx, dword [0x3c9664]
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 0x3bb480
mov ecx, dword [esp + 0x278]
test bl, 1
jne 0x394264
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x3941e6
mov ebx, dword [esp + 0x28]
jmp 0x39426a
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 0x3942aa
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 0x39428e
mov ecx, dword [esp + 0x72]
xor edi, edi
cmp edi, dword [0x3c965c]
jb 0x3942ba
jmp 0x39431f
mov eax, dword [0x3c9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x3942d0
jmp 0x39430b
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x39430b
mov dword [esp + 0x264], ecx
mov ecx, dword [0x3c9664]
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 0x3bb480
mov ecx, dword [esp + 0x264]
test bl, 1
jne 0x394319
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x3942b0
mov ebx, dword [esp + 0x28]
jmp 0x39431f
mov edi, dword [esp + 0x2c]
jmp 0x394556
lea edi, [esp + 0x2d4]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x2d4], 0x44
mov eax, dword [0x3c8650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.003bce00
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 0x394556
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 0x394414
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 0x3943f8
mov ecx, dword [esp + 0x6e]
xor edi, edi
mov dword [esp + 0x28], ebx
cmp edi, dword [0x3c965c]
jb 0x394428
jmp 0x39448d
mov eax, dword [0x3c9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x39443e
jmp 0x394479
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x394479
mov dword [esp + 0x26c], ecx
mov ecx, dword [0x3c9664]
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 0x3bb480
mov ecx, dword [esp + 0x26c]
test bl, 1
jne 0x394487
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x39441e
mov ebx, dword [esp + 0x28]
jmp 0x39448d
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 0x3944db
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 0x3944bf
mov ecx, dword [esp + 0x6a]
xor edi, edi
cmp edi, dword [0x3c965c]
jb 0x3944eb
jmp 0x394550
mov eax, dword [0x3c9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x394501
jmp 0x39453c
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x39453c
mov dword [esp + 0x268], ecx
mov ecx, dword [0x3c9664]
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 0x3bb480
mov ecx, dword [esp + 0x268]
test bl, 1
jne 0x39454a
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x3944e1
mov ebx, dword [esp + 0x28]
jmp 0x394550
mov edi, dword [esp + 0x2c]
jmp 0x394556
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.003b9b60
cmp ebx, 0
sete al
test al, 1
jne 0x394578
jmp 0x39456e
mov dword [esp], ebx
call fcn.00388000
jmp 0x394578
mov ecx, dword [esp + 0x34]
cmp ecx, 0
sete al
test al, 1
jne 0x394594
jmp 0x394588
mov dword [esp], ecx
call fcn.00388000
jmp 0x394592
jmp 0x394594
jmp 0x394596
sub edi, 0xffffffff
jmp 0x39269c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret