Function at 0x1202670
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.011f1b50
mov esi, eax
cmp esi, 0
jne 0x1202698
xor eax, eax
jmp 0x120459e
xor edi, edi
jmp 0x120269c
mov dword [esp], esi
call fcn.011f1f20
cmp edi, eax
jb 0x12026af
mov al, 1
jmp 0x120459e
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.011f1f30
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 0x1202714
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 0x12026d9
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.011f1e20
cmp eax, 0
setne al
test al, 1
jne 0x120273f
jmp 0x1202849
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 0x1202764
cmp eax, 3
jae 0x12027b3
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 0x1202764
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.011f1e20
cmp eax, 0
mov edi, dword [esp + 0x2c]
je 0x1202849
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 0x120280e
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 0x12027f2
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.011f1e20
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 0x1202843
test al, 1
jne 0x1202849
jmp 0x120284e
jmp 0x1204596
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 0x120288e
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 0x1202868
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.011f1860
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 0x12028ed
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 0x12028c8
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.011f1960
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 0x120298e
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 0x120295a
lea eax, [esp + 0x3e]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.011f1960
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.011fa6d0
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.011fae40
test al, 1
mov edi, dword [esp + 0x2c]
jne 0x1202a41
jmp 0x1202a3c
jmp 0x1204596
cmp ebx, 0
sete al
mov byte [esp + 0x49], al
test al, 1
jne 0x1202a54
jmp 0x1203bbe
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 0x1202aa4
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 0x1202a6e
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.011f1860
cmp eax, 0
je 0x1202ca4
mov dword [esp + 0x258], eax
mov dword [esp], eax
call fcn.012045b0
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 0x1202b03
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
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.011fa6d0
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.01239658]
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 0x1202bb1
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 0x1202b95
mov ecx, dword [esp + 0x66]
cmp eax, ecx
jne 0x1202bdb
jmp 0x1202bbb
mov dword [esp], ebx
call fcn.011f8000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.01229b60
xor ebx, ebx
mov eax, 4
jmp 0x1202c96
mov dword [esp + 0x140], ebx
mov eax, dword [esp + 0x18c]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1202bff
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
mov ebx, eax
mov eax, dword [fcn.01239658]
jmp 0x1202c10
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 0x1202c81
jmp 0x1202c55
mov dword [esp], ebx
call fcn.011f8000
jmp 0x1202c5f
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.011f8000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.01229b60
mov eax, 4
jmp 0x1202c96
jmp 0x1202c83
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.011f8000
xor eax, eax
jmp 0x1202c96
cmp eax, 0
je 0x1203369
jmp 0x120336d
call fcn.011f87c0
mov edi, eax
and edi, 0xf
add edi, 0x10
xor ebx, ebx
lea ecx, [esp + 0x3bc]
jmp 0x1202cbc
cmp ebx, edi
jb 0x1202ee0
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 0x1202dc2
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 0x1202d59
lea eax, [esp + 0x35c]
lea ecx, [esp + 0xb2]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.011f9c80
lea ecx, [esp + 0x3bc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.011f9c80
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.01239658]
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 0x1202eca
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 0x1202e68
mov eax, dword [esp + 0x5e]
cmp dword [esp + 0x27c], eax
mov edi, dword [esp + 0x2c]
jne 0x1202f50
jmp 0x1202f68
mov dword [esp + 0x274], ecx
call fcn.011f87c0
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 0x1202f2c
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 0x1202f10
cdq
idiv dword [esp + 0x62]
movsx eax, byte [edx + 0x1230b8c]
mov edx, dword [esp + 0x274]
mov ecx, edx
add ecx, 2
mov word [edx], ax
add ebx, 1
jmp 0x1202cbc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.01229b60
xor ebx, ebx
mov eax, 4
jmp 0x1203364
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 0x1202fb8
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 0x1202f93
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 0x1202fd8
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
mov ebx, eax
mov eax, dword [fcn.01239658]
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 0x120304e
mov edi, dword [esp + 0x2c]
jmp 0x1203030
mov dword [esp], ebx
call fcn.011f8000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.01229b60
mov eax, 4
jmp 0x1203364
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xac]
cmp ecx, 0
sete al
test al, 1
jne 0x1203068
jmp 0x1203150
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 0x1203138
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 0x12030c8
lea eax, [esp + 0xa2]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012049b0
jmp 0x1203360
cmp ecx, 1
jne 0x120326b
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 0x1203253
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 0x12031b9
lea eax, [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012049b0
jmp 0x1203360
cmp ecx, 2
sete al
test al, 1
jne 0x120327a
jmp 0x1203360
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 0x120334b
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 0x12032da
lea eax, [esp + 0x8e]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012049b0
jmp 0x1203360
xor eax, eax
jmp 0x1203364
cmp eax, 0
jne 0x120336d
xor eax, eax
jmp 0x120336d
cmp eax, 0
sete al
test al, 1
jne 0x120337c
jmp 0x1204596
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 0x122d370
mov ebx, eax
cmp ebx, 0
jl 0x12034cf
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 0x122da80
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 0x1203442
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 0x1203426
mov dword [esp + 0x290], eax
mov ecx, dword [esp + 0x7a]
xor edx, edx
mov edi, dword [esp + 0x2c]
cmp edx, dword [0x123965c]
jb 0x120345d
jmp 0x12034c8
mov eax, dword [0x1239660]
cmp dword [eax + edx*8], 0xb430e561
sete bl
test bl, 1
jne 0x1203473
jmp 0x12034bc
mov eax, dword [eax + edx*8 + 4]
cmp eax, ecx
je 0x12034bc
mov dword [esp + 0x270], ecx
mov ecx, dword [0x1239664]
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 0x122b480
mov edx, dword [esp + 0x25c]
mov ecx, dword [esp + 0x270]
test bl, 1
jne 0x12034c6
add edx, 1
jmp 0x1203453
jmp 0x12034c8
mov ebx, dword [esp + 0x290]
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.01229b60
mov dword [esp + 0x30], 0
cmp ebx, 0
jge 0x1203505
mov dword [esp + 0x34], 0
mov eax, 4
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x28]
jmp 0x1203bb0
mov ecx, dword [esp + 0xac]
cmp ecx, 1
mov ebx, dword [esp + 0x28]
jne 0x12038a9
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 0x120359c
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 0x1203538
lea eax, [esp + 0x4d]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.011f1860
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 0x12035fb
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 0x12035d6
lea eax, [esp + 0x4a]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.011f1860
mov dword [esp + 0x144], eax
mov dword [esp], ebx
call fcn.01204a00
mov edi, eax
cmp dword [esp + 0x148], 0
setne al
xor edx, edx
mov byte [esp + 0x47], al
test al, 1
jne 0x1203637
jmp 0x120364d
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.011f8100
mov edx, eax
sub edx, 0xffffffff
jmp 0x120364d
cmp dword [esp + 0x144], 0
setne cl
xor eax, eax
mov byte [esp + 0x48], cl
test cl, 1
mov dword [esp + 0x240], edx
jne 0x120366c
jmp 0x1203687
mov eax, dword [esp + 0x144]
mov dword [esp], eax
call fcn.011f8100
sub eax, 0xffffffff
mov edx, dword [esp + 0x240]
jmp 0x1203687
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 0x12036b6
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
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 0x12037cd
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 0x1203762
lea eax, [esp + 0xc2]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.011f9c80
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.011f9c80
mov ecx, ebx
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
cmp ecx, 0
je 0x120381c
mov dword [esp], ecx
call fcn.011f8000
test byte [esp + 0x47], 1
jne 0x1203827
mov edi, ebx
jmp 0x1203861
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.011fa6d0
jmp 0x120385b
shl eax, 1
add edi, eax
jmp 0x1203861
test byte [esp + 0x48], 1
jne 0x120386a
jmp 0x120389c
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.011fa6d0
xor ebx, ebx
xor ecx, ecx
mov edi, dword [esp + 0x2c]
jmp 0x1203bae
mov dword [esp + 0x34], 0
cmp ecx, 2
je 0x12038bb
jmp 0x1203bae
mov dword [esp], ebx
call fcn.01204a00
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 0x12038e9
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
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 0x120394b
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 0x1203919
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 0x1203b70
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 0x1203b2b
lea eax, [esp + 0x106]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.011f9c80
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.011f9c80
lea ecx, [esp + 0x56]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.011f9c80
mov edi, dword [esp + 0x2c]
mov ecx, 2
jmp 0x1203bae
xor eax, eax
cmp eax, 0
je 0x1203ecc
jmp 0x1204596
call fcn.01204a30
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 0x1203bed
jmp 0x1203ecc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012045b0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1203c16
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
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.011fa6d0
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 0x1203c6f
mov ecx, eax
mov dword [esp], ecx
call fcn.011f7ff0
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 0x1203e80
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 0x1203e19
lea eax, [esp + 0xd4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.011f9c80
mov dword [esp], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 4], eax
call fcn.011f9c80
mov edi, dword [esp + 0x2c]
jmp 0x1203eac
mov eax, dword [esp + 0x23c]
mov dword [esp], eax
call fcn.011f8000
jmp 0x1203ebd
mov dword [esp + 0x34], ebx
jmp 0x1203ec3
xor ebx, ebx
mov ecx, 2
jmp 0x1203ecc
test ecx, ecx
je 0x1203eed
jmp 0x1203ed2
mov eax, ecx
sub eax, 1
je 0x120405f
jmp 0x1203edf
sub ecx, 2
je 0x1204328
jmp 0x1204556
test byte [esp + 0x49], 1
jne 0x1203ef9
jmp 0x120405f
lea edi, [esp + 0x318]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x318], 0x44
mov eax, dword [0x1238650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.0122ce00
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 0x1204056
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 0x1203fdd
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 0x1203fc1
mov ecx, dword [esp + 0x76]
xor edi, edi
cmp edi, dword [0x123965c]
jb 0x1203fed
jmp 0x1204056
mov dword [esp + 0x28], ebx
mov eax, dword [0x1239660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x1204007
jmp 0x1204042
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x1204042
mov dword [esp + 0x260], ecx
mov ecx, dword [0x1239664]
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 0x122b480
mov ecx, dword [esp + 0x260]
test bl, 1
jne 0x1204050
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x1203fe3
mov ebx, dword [esp + 0x28]
jmp 0x1204056
mov edi, dword [esp + 0x2c]
jmp 0x1204556
mov eax, dword [0x1238650]
mov dword [esp], eax
mov dword [esp + 4], 0x4e0c8565
call fcn.0122ce00
test eax, eax
setne cl
mov ecx, dword [esp + 0x30]
xor edx, edx
lea edx, [0x1212940]
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 0x12040c7
jmp 0x1204323
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 0x120417a
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 0x120411b
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 0x12041e0
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 0x12041c4
mov ecx, dword [esp + 0x7e]
xor edi, edi
cmp edi, dword [0x123965c]
jb 0x12041f0
jmp 0x120426a
mov eax, dword [0x1239660]
cmp dword [eax + edi*8], 0xa67d73aa
sete bl
test bl, 1
jne 0x1204206
jmp 0x1204256
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x1204256
mov dword [esp + 0x278], ecx
mov ecx, dword [0x1239664]
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 0x122b480
mov ecx, dword [esp + 0x278]
test bl, 1
jne 0x1204264
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12041e6
mov ebx, dword [esp + 0x28]
jmp 0x120426a
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 0x12042aa
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 0x120428e
mov ecx, dword [esp + 0x72]
xor edi, edi
cmp edi, dword [0x123965c]
jb 0x12042ba
jmp 0x120431f
mov eax, dword [0x1239660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x12042d0
jmp 0x120430b
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x120430b
mov dword [esp + 0x264], ecx
mov ecx, dword [0x1239664]
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 0x122b480
mov ecx, dword [esp + 0x264]
test bl, 1
jne 0x1204319
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12042b0
mov ebx, dword [esp + 0x28]
jmp 0x120431f
mov edi, dword [esp + 0x2c]
jmp 0x1204556
lea edi, [esp + 0x2d4]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x2d4], 0x44
mov eax, dword [0x1238650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.0122ce00
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 0x1204556
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 0x1204414
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 0x12043f8
mov ecx, dword [esp + 0x6e]
xor edi, edi
mov dword [esp + 0x28], ebx
cmp edi, dword [0x123965c]
jb 0x1204428
jmp 0x120448d
mov eax, dword [0x1239660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x120443e
jmp 0x1204479
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x1204479
mov dword [esp + 0x26c], ecx
mov ecx, dword [0x1239664]
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 0x122b480
mov ecx, dword [esp + 0x26c]
test bl, 1
jne 0x1204487
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x120441e
mov ebx, dword [esp + 0x28]
jmp 0x120448d
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 0x12044db
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 0x12044bf
mov ecx, dword [esp + 0x6a]
xor edi, edi
cmp edi, dword [0x123965c]
jb 0x12044eb
jmp 0x1204550
mov eax, dword [0x1239660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x1204501
jmp 0x120453c
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x120453c
mov dword [esp + 0x268], ecx
mov ecx, dword [0x1239664]
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 0x122b480
mov ecx, dword [esp + 0x268]
test bl, 1
jne 0x120454a
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12044e1
mov ebx, dword [esp + 0x28]
jmp 0x1204550
mov edi, dword [esp + 0x2c]
jmp 0x1204556
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.01229b60
cmp ebx, 0
sete al
test al, 1
jne 0x1204578
jmp 0x120456e
mov dword [esp], ebx
call fcn.011f8000
jmp 0x1204578
mov ecx, dword [esp + 0x34]
cmp ecx, 0
sete al
test al, 1
jne 0x1204594
jmp 0x1204588
mov dword [esp], ecx
call fcn.011f8000
jmp 0x1204592
jmp 0x1204594
jmp 0x1204596
sub edi, 0xffffffff
jmp 0x120269c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret