Function at 0x12b2670
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.012a1b50
mov esi, eax
cmp esi, 0
jne 0x12b2698
xor eax, eax
jmp 0x12b459e
xor edi, edi
jmp 0x12b269c
mov dword [esp], esi
call fcn.012a1f20
cmp edi, eax
jb 0x12b26af
mov al, 1
jmp 0x12b459e
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.012a1f30
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 0x12b2714
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 0x12b26d9
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.012a1e20
cmp eax, 0
setne al
test al, 1
jne 0x12b273f
jmp 0x12b2849
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 0x12b2764
cmp eax, 3
jae 0x12b27b3
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 0x12b2764
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.012a1e20
cmp eax, 0
mov edi, dword [esp + 0x2c]
je 0x12b2849
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 0x12b280e
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 0x12b27f2
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.012a1e20
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 0x12b2843
test al, 1
jne 0x12b2849
jmp 0x12b284e
jmp 0x12b4596
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 0x12b288e
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 0x12b2868
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a1860
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 0x12b28ed
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 0x12b28c8
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.012a1960
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 0x12b298e
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 0x12b295a
lea eax, [esp + 0x3e]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.012a1960
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.012aa6d0
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.012aae40
test al, 1
mov edi, dword [esp + 0x2c]
jne 0x12b2a41
jmp 0x12b2a3c
jmp 0x12b4596
cmp ebx, 0
sete al
mov byte [esp + 0x49], al
test al, 1
jne 0x12b2a54
jmp 0x12b3bbe
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 0x12b2aa4
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 0x12b2a6e
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a1860
cmp eax, 0
je 0x12b2ca4
mov dword [esp + 0x258], eax
mov dword [esp], eax
call fcn.012b45b0
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 0x12b2b03
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
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.012aa6d0
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.012e9658]
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 0x12b2bb1
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 0x12b2b95
mov ecx, dword [esp + 0x66]
cmp eax, ecx
jne 0x12b2bdb
jmp 0x12b2bbb
mov dword [esp], ebx
call fcn.012a8000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012d9b60
xor ebx, ebx
mov eax, 4
jmp 0x12b2c96
mov dword [esp + 0x140], ebx
mov eax, dword [esp + 0x18c]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b2bff
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
mov ebx, eax
mov eax, dword [fcn.012e9658]
jmp 0x12b2c10
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 0x12b2c81
jmp 0x12b2c55
mov dword [esp], ebx
call fcn.012a8000
jmp 0x12b2c5f
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.012a8000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012d9b60
mov eax, 4
jmp 0x12b2c96
jmp 0x12b2c83
mov eax, dword [esp + 0x140]
mov dword [esp], eax
call fcn.012a8000
xor eax, eax
jmp 0x12b2c96
cmp eax, 0
je 0x12b3369
jmp 0x12b336d
call fcn.012a87c0
mov edi, eax
and edi, 0xf
add edi, 0x10
xor ebx, ebx
lea ecx, [esp + 0x3bc]
jmp 0x12b2cbc
cmp ebx, edi
jb 0x12b2ee0
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 0x12b2dc2
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 0x12b2d59
lea eax, [esp + 0x35c]
lea ecx, [esp + 0xb2]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a9c80
lea ecx, [esp + 0x3bc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a9c80
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.012e9658]
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 0x12b2eca
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 0x12b2e68
mov eax, dword [esp + 0x5e]
cmp dword [esp + 0x27c], eax
mov edi, dword [esp + 0x2c]
jne 0x12b2f50
jmp 0x12b2f68
mov dword [esp + 0x274], ecx
call fcn.012a87c0
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 0x12b2f2c
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 0x12b2f10
cdq
idiv dword [esp + 0x62]
movsx eax, byte [edx + 0x12e0b8c]
mov edx, dword [esp + 0x274]
mov ecx, edx
add ecx, 2
mov word [edx], ax
add ebx, 1
jmp 0x12b2cbc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012d9b60
xor ebx, ebx
mov eax, 4
jmp 0x12b3364
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 0x12b2fb8
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 0x12b2f93
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 0x12b2fd8
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
mov ebx, eax
mov eax, dword [fcn.012e9658]
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 0x12b304e
mov edi, dword [esp + 0x2c]
jmp 0x12b3030
mov dword [esp], ebx
call fcn.012a8000
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012d9b60
mov eax, 4
jmp 0x12b3364
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xac]
cmp ecx, 0
sete al
test al, 1
jne 0x12b3068
jmp 0x12b3150
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 0x12b3138
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 0x12b30c8
lea eax, [esp + 0xa2]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012b49b0
jmp 0x12b3360
cmp ecx, 1
jne 0x12b326b
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 0x12b3253
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 0x12b31b9
lea eax, [esp + 0x98]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012b49b0
jmp 0x12b3360
cmp ecx, 2
sete al
test al, 1
jne 0x12b327a
jmp 0x12b3360
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 0x12b334b
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 0x12b32da
lea eax, [esp + 0x8e]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012b49b0
jmp 0x12b3360
xor eax, eax
jmp 0x12b3364
cmp eax, 0
jne 0x12b336d
xor eax, eax
jmp 0x12b336d
cmp eax, 0
sete al
test al, 1
jne 0x12b337c
jmp 0x12b4596
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 0x12dd370
mov ebx, eax
cmp ebx, 0
jl 0x12b34cf
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 0x12dda80
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 0x12b3442
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 0x12b3426
mov dword [esp + 0x290], eax
mov ecx, dword [esp + 0x7a]
xor edx, edx
mov edi, dword [esp + 0x2c]
cmp edx, dword [0x12e965c]
jb 0x12b345d
jmp 0x12b34c8
mov eax, dword [0x12e9660]
cmp dword [eax + edx*8], 0xb430e561
sete bl
test bl, 1
jne 0x12b3473
jmp 0x12b34bc
mov eax, dword [eax + edx*8 + 4]
cmp eax, ecx
je 0x12b34bc
mov dword [esp + 0x270], ecx
mov ecx, dword [0x12e9664]
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 0x12db480
mov edx, dword [esp + 0x25c]
mov ecx, dword [esp + 0x270]
test bl, 1
jne 0x12b34c6
add edx, 1
jmp 0x12b3453
jmp 0x12b34c8
mov ebx, dword [esp + 0x290]
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012d9b60
mov dword [esp + 0x30], 0
cmp ebx, 0
jge 0x12b3505
mov dword [esp + 0x34], 0
mov eax, 4
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x28]
jmp 0x12b3bb0
mov ecx, dword [esp + 0xac]
cmp ecx, 1
mov ebx, dword [esp + 0x28]
jne 0x12b38a9
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 0x12b359c
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 0x12b3538
lea eax, [esp + 0x4d]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a1860
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 0x12b35fb
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 0x12b35d6
lea eax, [esp + 0x4a]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a1860
mov dword [esp + 0x144], eax
mov dword [esp], ebx
call fcn.012b4a00
mov edi, eax
cmp dword [esp + 0x148], 0
setne al
xor edx, edx
mov byte [esp + 0x47], al
test al, 1
jne 0x12b3637
jmp 0x12b364d
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.012a8100
mov edx, eax
sub edx, 0xffffffff
jmp 0x12b364d
cmp dword [esp + 0x144], 0
setne cl
xor eax, eax
mov byte [esp + 0x48], cl
test cl, 1
mov dword [esp + 0x240], edx
jne 0x12b366c
jmp 0x12b3687
mov eax, dword [esp + 0x144]
mov dword [esp], eax
call fcn.012a8100
sub eax, 0xffffffff
mov edx, dword [esp + 0x240]
jmp 0x12b3687
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 0x12b36b6
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
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 0x12b37cd
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 0x12b3762
lea eax, [esp + 0xc2]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a9c80
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.012a9c80
mov ecx, ebx
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
cmp ecx, 0
je 0x12b381c
mov dword [esp], ecx
call fcn.012a8000
test byte [esp + 0x47], 1
jne 0x12b3827
mov edi, ebx
jmp 0x12b3861
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.012aa6d0
jmp 0x12b385b
shl eax, 1
add edi, eax
jmp 0x12b3861
test byte [esp + 0x48], 1
jne 0x12b386a
jmp 0x12b389c
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.012aa6d0
xor ebx, ebx
xor ecx, ecx
mov edi, dword [esp + 0x2c]
jmp 0x12b3bae
mov dword [esp + 0x34], 0
cmp ecx, 2
je 0x12b38bb
jmp 0x12b3bae
mov dword [esp], ebx
call fcn.012b4a00
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 0x12b38e9
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
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 0x12b394b
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 0x12b3919
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 0x12b3b70
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 0x12b3b2b
lea eax, [esp + 0x106]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.012a9c80
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.012a9c80
lea ecx, [esp + 0x56]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.012a9c80
mov edi, dword [esp + 0x2c]
mov ecx, 2
jmp 0x12b3bae
xor eax, eax
cmp eax, 0
je 0x12b3ecc
jmp 0x12b4596
call fcn.012b4a30
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 0x12b3bed
jmp 0x12b3ecc
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012b45b0
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x12b3c16
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
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.012aa6d0
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 0x12b3c6f
mov ecx, eax
mov dword [esp], ecx
call fcn.012a7ff0
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 0x12b3e80
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 0x12b3e19
lea eax, [esp + 0xd4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.012a9c80
mov dword [esp], eax
mov eax, dword [esp + 0x23c]
mov dword [esp + 4], eax
call fcn.012a9c80
mov edi, dword [esp + 0x2c]
jmp 0x12b3eac
mov eax, dword [esp + 0x23c]
mov dword [esp], eax
call fcn.012a8000
jmp 0x12b3ebd
mov dword [esp + 0x34], ebx
jmp 0x12b3ec3
xor ebx, ebx
mov ecx, 2
jmp 0x12b3ecc
test ecx, ecx
je 0x12b3eed
jmp 0x12b3ed2
mov eax, ecx
sub eax, 1
je 0x12b405f
jmp 0x12b3edf
sub ecx, 2
je 0x12b4328
jmp 0x12b4556
test byte [esp + 0x49], 1
jne 0x12b3ef9
jmp 0x12b405f
lea edi, [esp + 0x318]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x318], 0x44
mov eax, dword [0x12e8650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.012dce00
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 0x12b4056
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 0x12b3fdd
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 0x12b3fc1
mov ecx, dword [esp + 0x76]
xor edi, edi
cmp edi, dword [0x12e965c]
jb 0x12b3fed
jmp 0x12b4056
mov dword [esp + 0x28], ebx
mov eax, dword [0x12e9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x12b4007
jmp 0x12b4042
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x12b4042
mov dword [esp + 0x260], ecx
mov ecx, dword [0x12e9664]
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 0x12db480
mov ecx, dword [esp + 0x260]
test bl, 1
jne 0x12b4050
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12b3fe3
mov ebx, dword [esp + 0x28]
jmp 0x12b4056
mov edi, dword [esp + 0x2c]
jmp 0x12b4556
mov eax, dword [0x12e8650]
mov dword [esp], eax
mov dword [esp + 4], 0x4e0c8565
call fcn.012dce00
test eax, eax
setne cl
mov ecx, dword [esp + 0x30]
xor edx, edx
lea edx, [0x12c2940]
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 0x12b40c7
jmp 0x12b4323
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 0x12b417a
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 0x12b411b
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 0x12b41e0
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 0x12b41c4
mov ecx, dword [esp + 0x7e]
xor edi, edi
cmp edi, dword [0x12e965c]
jb 0x12b41f0
jmp 0x12b426a
mov eax, dword [0x12e9660]
cmp dword [eax + edi*8], 0xa67d73aa
sete bl
test bl, 1
jne 0x12b4206
jmp 0x12b4256
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x12b4256
mov dword [esp + 0x278], ecx
mov ecx, dword [0x12e9664]
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 0x12db480
mov ecx, dword [esp + 0x278]
test bl, 1
jne 0x12b4264
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12b41e6
mov ebx, dword [esp + 0x28]
jmp 0x12b426a
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 0x12b42aa
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 0x12b428e
mov ecx, dword [esp + 0x72]
xor edi, edi
cmp edi, dword [0x12e965c]
jb 0x12b42ba
jmp 0x12b431f
mov eax, dword [0x12e9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x12b42d0
jmp 0x12b430b
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x12b430b
mov dword [esp + 0x264], ecx
mov ecx, dword [0x12e9664]
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 0x12db480
mov ecx, dword [esp + 0x264]
test bl, 1
jne 0x12b4319
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12b42b0
mov ebx, dword [esp + 0x28]
jmp 0x12b431f
mov edi, dword [esp + 0x2c]
jmp 0x12b4556
lea edi, [esp + 0x2d4]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x2d4], 0x44
mov eax, dword [0x12e8650]
mov dword [esp], eax
mov dword [esp + 4], 0x755f867b
call fcn.012dce00
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 0x12b4556
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 0x12b4414
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 0x12b43f8
mov ecx, dword [esp + 0x6e]
xor edi, edi
mov dword [esp + 0x28], ebx
cmp edi, dword [0x12e965c]
jb 0x12b4428
jmp 0x12b448d
mov eax, dword [0x12e9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x12b443e
jmp 0x12b4479
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x12b4479
mov dword [esp + 0x26c], ecx
mov ecx, dword [0x12e9664]
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 0x12db480
mov ecx, dword [esp + 0x26c]
test bl, 1
jne 0x12b4487
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12b441e
mov ebx, dword [esp + 0x28]
jmp 0x12b448d
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 0x12b44db
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 0x12b44bf
mov ecx, dword [esp + 0x6a]
xor edi, edi
cmp edi, dword [0x12e965c]
jb 0x12b44eb
jmp 0x12b4550
mov eax, dword [0x12e9660]
cmp dword [eax + edi*8], 0xb430e561
sete bl
test bl, 1
jne 0x12b4501
jmp 0x12b453c
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x12b453c
mov dword [esp + 0x268], ecx
mov ecx, dword [0x12e9664]
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 0x12db480
mov ecx, dword [esp + 0x268]
test bl, 1
jne 0x12b454a
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x12b44e1
mov ebx, dword [esp + 0x28]
jmp 0x12b4550
mov edi, dword [esp + 0x2c]
jmp 0x12b4556
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.012d9b60
cmp ebx, 0
sete al
test al, 1
jne 0x12b4578
jmp 0x12b456e
mov dword [esp], ebx
call fcn.012a8000
jmp 0x12b4578
mov ecx, dword [esp + 0x34]
cmp ecx, 0
sete al
test al, 1
jne 0x12b4594
jmp 0x12b4588
mov dword [esp], ecx
call fcn.012a8000
jmp 0x12b4592
jmp 0x12b4594
jmp 0x12b4596
sub edi, 0xffffffff
jmp 0x12b269c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret