Function at 0xcc32b3
Capabilities:
Check os version
Encode data using xor
Execute anti-debugging instructions
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xeac
mov eax, dword [0xd08954]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
xor eax, eax
push esi
push edi
mov dword [ebp - 0xc64], ebx
inc eax
mov dword [ebp - 0xc34], ebx
mov edx, 0xd0aed4
mov dword [ebp - 0xab0], ebx
mov ecx, eax
xor eax, eax
lock cmpxchg dword [edx], ecx
push 1
test eax, eax
pop eax
jne 0xcc32e7
mov eax, dword [0xd0a150]
or esi, 0xffffffff
mov dword [ebp - 0xc00], esi
mov dword [ebp - 0xb74], 0xb2bef2
mov dword [ebp - 0xbe0], 0x67
mov dword [ebp - 0xbb0], 0x337
mov dword [ebp - 0xc48], 0x10b
mov dword [ebp - 0xc4c], 0x20b
test eax, eax
jne 0xcc396d
push 0x338
mov edi, ebx
mov dword [ebp - 0xad4], ebx
push ebx
mov dword [ebp - 0xb5c], edi
mov dword [ebp - 0xadc], ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xb04], eax
test eax, eax
je 0xcc3906
add eax, 7
mov dword [ebp - 0xc14], esi
mov cl, bl
mov dword [ebp - 0x3f8], 0xab69605e
mov dword [ebp - 0x3f4], 0x7f1137f
mov esi, 0xb2bef2
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xb50], ebx
mov dword [ebp - 0xb9c], edi
mov dword [ebp - 0xaf0], eax
mov dword [ebp - 0xaa0], 0x67
movzx edx, byte [esi - 2]
movzx eax, byte [esi - 1]
movzx ebx, byte [esi + 2]
shl edx, 8
or edx, eax
shl ebx, 8
movzx eax, byte [esi]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 3]
or ebx, eax
mov dword [ebp - 0xb60], edx
movzx eax, byte [esi + 4]
xor edi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 5]
add esi, 8
shl ebx, 8
or ebx, eax
mov dword [ebp - 0xc3c], esi
mov esi, edi
xor esi, ebx
xor esi, dword [ebp - 0xb50]
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
xor edi, edx
lea eax, [edi + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, edi
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor edi, edx
mov eax, edi
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
xor edi, eax
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
xor edi, edx
lea eax, [edi + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, edi
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor edi, eax
mov dword [ebp - 0xb10], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0xb10]
xor edi, 0xab69605e
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, edi
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [esi - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, esi
rol eax, 7
add edx, eax
xor edi, edx
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor esi, edx
mov eax, esi
mov dword [ebp - 0xb10], esi
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 7
add edx, eax
mov eax, esi
xor edi, edx
xor eax, edi
xor eax, 0xac987321
mov dword [ebp - 0xb10], eax
ror eax, 3
sub eax, 0xab69
mov esi, dword [ebp - 0xb10]
imul eax, eax, 0x137f
xor edi, eax
lea eax, [edi - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, edi
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
xor edi, edx
lea eax, [edi - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
mov dword [ebp - 0xb10], esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, edi
xor edi, dword [ebp - 0xc14]
rol eax, 2
mov dword [ebp - 0xb50], edi
mov dword [ebp - 0xc14], ebx
xor edx, eax
mov eax, esi
xor edx, dword [ebp - 0xad0]
xor eax, edx
mov esi, dword [ebp - 0xc3c]
mov edx, dword [ebp - 0xaf0]
mov dword [ebp - 0xb9c], eax
mov byte [edx - 4], al
mov al, byte [ebp - 0xb50]
ror dword [ebp - 0xb9c], 8
mov byte [edx], al
mov al, byte [ebp - 0xb9c]
ror dword [ebp - 0xb50], 8
mov byte [edx - 5], al
mov al, byte [ebp - 0xb50]
ror dword [ebp - 0xb9c], 8
mov byte [edx - 1], al
mov al, byte [ebp - 0xb9c]
ror dword [ebp - 0xb50], 8
mov byte [edx - 6], al
mov al, byte [ebp - 0xb50]
ror dword [ebp - 0xb9c], 8
mov byte [edx - 2], al
mov al, byte [ebp - 0xb9c]
ror dword [ebp - 0xb50], 8
mov byte [edx - 7], al
mov al, byte [ebp - 0xb50]
mov byte [edx - 3], al
add edx, 8
mov eax, dword [ebp - 0xb9c]
ror dword [ebp - 0xb50], 8
ror eax, 8
sub dword [ebp - 0xaa0], 1
mov dword [ebp - 0xb10], eax
mov edi, dword [ebp - 0xb10]
mov dword [ebp - 0xb9c], eax
mov eax, dword [ebp - 0xb60]
mov dword [ebp - 0xad0], eax
mov dword [ebp - 0xaf0], edx
jne 0xcc33b9
mov esi, dword [ebp - 0xb04]
xor ebx, ebx
mov eax, ebx
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xcc3715
movzx eax, cl
cdq
cmp eax, dword [0xb2c228]
jne 0xcc374a
cmp edx, dword [0xb2c22c]
jne 0xcc374a
mov edi, esi
mov dword [ebp - 0xb5c], esi
mov esi, ebx
mov dword [ebp - 0xad0], 0x337
jmp 0xcc375d
or dword [ebp - 0xad0], 0xffffffff
mov edi, ebx
mov dword [ebp - 0xadc], 0xc004d501
test esi, esi
je 0xcc3770
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
cmp dword [ebp - 0xadc], ebx
jl 0xcc3900
mov eax, dword [ebp - 0xad0]
mov esi, edi
push 0x40
push ebx
push 0xd0ae80
mov byte [eax + edi], bl
call fcn.00bc259b
add esp, 0xc
cmp byte [edi], bl
je 0xcc390d
mov edi, 0xd0ae80
mov ecx, esi
mov edx, esi
lea eax, [ecx + 2]
mov dword [ebp - 0xb60], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xcc37b1
sub ecx, dword [ebp - 0xb60]
sar ecx, 1
push edi
push edx
push ebx
lea esi, [esi + ecx*2]
add esi, 2
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xcc38f9
mov eax, dword [edi]
mov ecx, 0x5a4d
mov edx, ebx
mov dword [ebp - 0xad8], edx
cmp word [eax], cx
je 0xcc37fc
mov edx, 0xc000007b
mov dword [ebp - 0xad8], edx
jmp 0xcc3844
mov ecx, dword [eax + 0x3c]
cmp ecx, 0x10000000
jae 0xcc37ef
add ecx, dword [edi]
cmp ecx, dword [edi]
jb 0xcc37ef
cmp dword [ecx], 0x4550
jne 0xcc37ef
movzx eax, word [ecx + 0x18]
cmp ax, word [ebp - 0xc48]
je 0xcc3832
cmp ax, word [ebp - 0xc4c]
je 0xcc3832
mov edx, 0xc000000d
jmp 0xcc37f4
mov eax, dword [ecx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi]
push 4
pop ecx
add esi, ecx
mov dword [ebp - 0xaa4], eax
mov dword [ebp - 0xad0], ebx
test eax, eax
je 0xcc38e6
mov ecx, esi
mov dword [ebp - 0xc74], ebx
mov dword [ebp - 0xabc], esi
lea eax, [ecx + 1]
mov dword [ebp - 0xb60], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcc3876
sub ecx, dword [ebp - 0xb60]
inc esi
add esi, ecx
test edx, edx
js 0xcc38c0
mov ecx, dword [ebp - 0xabc]
lea eax, [ebp - 0xc74]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov edx, eax
mov dword [ebp - 0xad8], edx
test edx, edx
js 0xcc38f1
mov eax, dword [ebp - 0xad4]
mov ecx, dword [ebp - 0xc74]
mov dword [eax*4 + section..data], ecx
jmp 0xcc38c6
mov eax, dword [ebp - 0xad4]
inc eax
mov dword [ebp - 0xad4], eax
mov eax, dword [ebp - 0xad0]
inc eax
mov dword [ebp - 0xad0], eax
cmp eax, dword [ebp - 0xaa4]
jb 0xcc385f
add edi, 0x10
cmp byte [esi], bl
jne 0xcc37a4
mov esi, dword [ebp - 0xad8]
jmp 0xcc390f
mov esi, 0xc000007a
jmp 0xcc390f
mov edi, dword [ebp - 0xb5c]
mov esi, 0xc000007a
jmp 0xcc3915
mov esi, ebx
mov edi, dword [ebp - 0xb5c]
test edi, edi
je 0xcc3928
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
jns 0xcc3968
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcc393f
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcc392e
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xcc3973
mov eax, dword [0xd0a150]
inc eax
mov dword [0xd0a150], eax
xor eax, eax
mov ecx, 0xd0aed4
xchg dword [ecx], eax
mov eax, ebx
mov dword [ebp - 0xad4], ebx
mov dword [ebp - 0xa9c], eax
mov edi, ebx
mov eax, dword fs:[0x30]
cmp dword [eax + 0x1d4], ebx
je 0xcc3dcc
mov esi, dword [0xd08088]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov ecx, eax
mov dword [ebp - 0xb60], ecx
test ecx, ecx
jne 0xcc39c5
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0xcc3af1
mov eax, ebx
mov esi, ebx
mov dword [ebp - 0xa9c], eax
lea eax, [ebp - 0xc70]
push eax
push ebx
mov ebx, dword [0xd08098]
push esi
push 2
push ecx
mov ecx, ebx
call dword [0xd0cffc]
call ebx
test eax, eax
jne 0xcc3a4f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x7a
jne 0xcc3a39
test esi, esi
jne 0xcc3a32
push dword [ebp - 0xc70]
xor ebx, ebx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0xcc3a28
mov ebx, dword [ebp - 0xc70]
mov ecx, dword [ebp - 0xb60]
jmp 0xcc39cf
mov ecx, 0x8007000e
jmp 0xcc3aed
mov eax, 0x80004005
jmp 0xcc3a47
test eax, eax
je 0xcc3a32
jle 0xcc3a47
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xa9c], eax
jmp 0xcc3a57
mov dword [ebp - 0xad4], esi
xor esi, esi
test esi, esi
je 0xcc3a6b
push esi
push 0
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov ecx, dword [ebp - 0xa9c]
test ecx, ecx
js 0xcc3acc
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
mov esi, dword [0xd08094]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov ecx, eax
mov dword [ebp - 0xb60], ecx
test ecx, ecx
jne 0xcc3c1e
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
mov dword [ebp - 0xa9c], ecx
test ecx, ecx
jle 0xcc3abf
movzx ecx, cx
or ecx, 0x80070000
mov dword [ebp - 0xa9c], ecx
test ecx, ecx
js 0xcc3acc
mov ecx, 0x80004005
mov dword [ebp - 0xa9c], ecx
xor ebx, ebx
mov eax, dword [ebp - 0xad4]
test eax, eax
je 0xcc3aed
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov ecx, dword [ebp - 0xa9c]
test ecx, ecx
jns 0xcc3af7
mov dword [ebp - 0xab0], ebx
push 4
pop eax
push eax
push 0x40
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [ebp - 0xb60], eax
test eax, eax
jne 0xcc3dfc
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xa94], 0x8007000e
mov eax, dword [ebp - 0xc58]
mov dword [ebp - 0xc34], eax
mov edx, 0xd0aed4
xor eax, eax
lea ecx, [eax + 1]
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xcc3b32
mov eax, dword [0xd0a150]
test eax, eax
jle 0xcc3b8c
sub eax, 1
mov dword [0xd0a150], eax
jne 0xcc3b8c
mov edi, ebx
mov eax, dword [edi + 0xd0ae80]
test eax, eax
je 0xcc3b65
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add edi, 0x10
cmp edi, 0x40
jb 0xcc3b54
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov ecx, 0xd0aed4
xchg dword [ecx], eax
mov eax, dword [ebp - 0xad0]
test eax, eax
je 0xcc3ba6
push eax
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
mov ecx, dword [ebp - 0xa94]
mov eax, dword [ebp - 0xc64]
test ecx, ecx
jns 0xccd8a4
cmp ecx, 0xd0000034
je 0xcc3be6
cmp ecx, 0xd00000e5
je 0xccd897
cmp ecx, 0xc004d501
je 0xccd897
cmp ecx, 0xd000003e
jne 0xccd89c
mov esi, ebx
test eax, eax
je 0xcc3bf9
push eax
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
mov dword [ebp - 0xc64], ebx
test esi, esi
jne 0xcc3c06
call fcn.00cc3213
test al, al
je 0xcc3c0b
xor eax, eax
lea ebx, [eax + 1]
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00bc0ea0
mov esp, ebp
pop ebp
ret
xor esi, esi
and dword [ebp - 0xa9c], esi
xor eax, eax
mov ebx, dword [0xd08098]
lea edx, [ebp - 0xca8]
push edx
push eax
push esi
push 2
push ecx
mov ecx, ebx
call dword [0xd0cffc]
call ebx
test eax, eax
jne 0xcc3cc1
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x7a
jne 0xcc3c9d
xor ebx, ebx
test esi, esi
jne 0xcc3c91
push dword [ebp - 0xca8]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0xcc3c81
mov eax, dword [ebp - 0xca8]
mov ecx, dword [ebp - 0xb60]
jmp 0xcc3c28
mov ecx, 0x8007000e
mov dword [ebp - 0xa9c], ecx
jmp 0xcc3ace
mov dword [ebp - 0xa9c], 0x80004005
jmp 0xcc3cc7
test eax, eax
jne 0xcc3cad
mov dword [ebp - 0xa9c], 0x80004005
jmp 0xcc3cbd
jle 0xcc3cb7
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xa9c], eax
xor ebx, ebx
jmp 0xcc3cc7
xor ebx, ebx
mov edi, esi
mov esi, ebx
test esi, esi
je 0xcc3cda
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xa9c]
test eax, eax
js 0xcc3dd4
mov eax, dword [ebp - 0xad4]
test eax, eax
je 0xcc3dcc
push 4
mov ecx, 0xb2be5c
pop esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0xcc3d22
test dx, dx
je 0xcc3d1e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0xcc3d22
add eax, esi
add ecx, esi
test dx, dx
jne 0xcc3cfe
mov eax, ebx
jmp 0xcc3d27
sbb eax, eax
or eax, 1
test eax, eax
jne 0xcc3dcc
test edi, edi
je 0xcc3dcc
mov ecx, 0xb2be6c
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0xcc3d62
test dx, dx
je 0xcc3d5e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0xcc3d62
add eax, esi
add ecx, esi
test dx, dx
jne 0xcc3d3e
mov eax, ebx
jmp 0xcc3d67
sbb eax, eax
or eax, 1
test eax, eax
jne 0xcc3dcc
push esi
lea eax, [ebp - 0xca4]
mov dword [ebp - 0xca4], ebx
push eax
push 0xb
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_1.dll_GetProcessMitigationPolicy]
test eax, eax
jne 0xcc3dbe
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
mov dword [ebp - 0xa9c], ecx
test ecx, ecx
jle 0xcc3daf
movzx ecx, cx
or ecx, 0x80070000
mov dword [ebp - 0xa9c], ecx
test ecx, ecx
js 0xcc3dda
mov ecx, 0x80004005
mov dword [ebp - 0xa9c], ecx
jmp 0xcc3dda
test byte [ebp - 0xca4], 0xf
jne 0xcc3dcc
xor eax, eax
inc eax
jmp 0xcc3dce
mov eax, ebx
mov dword [ebp - 0xab0], eax
mov ecx, dword [ebp - 0xa9c]
test edi, edi
je 0xcc3ace
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov ecx, dword [ebp - 0xa9c]
jmp 0xcc3ace
mov dword [ebp - 0xad0], eax
lea edi, [ebp - 0xc0c]
xor eax, eax
mov dword [ebp - 0xaa4], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0xcc8], ebx
mov dword [ebp - 0xcc4], ebx
mov dword [ebp - 0xaa0], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, 0xa0
push edi
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0xb5c], 0x38
mov dword [ebp - 0xabc], esi
test esi, esi
jne 0xcc3e62
mov esi, 0xc0000017
mov edi, ebx
mov dword [ebp - 0xa94], esi
jmp 0xcc6ce5
push edi
push 0xd08d58
push esi
call fcn.00bc13d0
mov edi, esi
add esp, 0xc
mov dword [ebp - 0xa98], edi
push 8
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, eax
mov dword [ebp - 0xaa8], ecx
test ecx, ecx
jne 0xcc3ea6
mov esi, 0xc0000017
mov dword [ebp - 0xa94], esi
jmp 0xcc6ce5
mov eax, dword [0xd08d50]
mov dword [ecx], eax
mov eax, dword [0xd08d54]
mov dword [ecx + 4], eax
mov dword [ebp - 0xaa4], ecx
rdtsc
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xadc], edx
lea eax, [ebp - 0xd0c]
mov dword [ebp - 0xb00], ebx
push eax
push 4
pop ecx
mov edx, ecx
call fcn.00b84e9a
mov edi, dword [ebp - 0xd0c]
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
jns 0xcc3efd
mov edi, dword [ebp - 0xe38]
jmp 0xcc6cdf
lea eax, [ebp - 0xb00]
mov edx, edi
push eax
xor ecx, ecx
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
lea eax, [ebp - 0xd10]
mov edx, 0xa0
push eax
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xd10]
mov ecx, dword [ebp - 0xb00]
lea eax, [ebp - 0xb00]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
lea eax, [ebp - 0xd38]
push eax
push 8
pop edx
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xd38]
mov ecx, dword [ebp - 0xb00]
lea eax, [ebp - 0xb00]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
lea eax, [ebp - 0xd58]
push eax
push 8
pop edx
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xd58]
mov ecx, dword [ebp - 0xb00]
lea eax, [ebp - 0xb00]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
lea eax, [ebp - 0xc78]
mov edx, SysReAllocString
push eax
mov ecx, 0xb30ba8
call fcn.00b84ebc
test eax, eax
jns 0xcc403d
mov esi, 0xc000003e
jmp 0xcc6cd9
mov edx, dword [ebp - 0xc78]
lea eax, [ebp - 0xd5c]
push eax
inc edx
push 4
pop eax
mov dword [ebp - 0xc78], edx
mov ecx, eax
add edx, edx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xd5c]
mov ecx, dword [ebp - 0xb00]
lea eax, [ebp - 0xb00]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
lea eax, [ebp - 0xd74]
push eax
push 4
pop ecx
mov edx, ecx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xd74]
mov ecx, dword [ebp - 0xb00]
lea eax, [ebp - 0xb00]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
lea eax, [ebp - 0xd78]
push eax
push 4
pop eax
mov edx, eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xd78]
mov ecx, dword [ebp - 0xb00]
lea eax, [ebp - 0xb00]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc6cdf
mov edi, dword [ebp - 0xb00]
push edi
push 8
mov dword [ebp - 0xcc8], edi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, eax
mov dword [ebp - 0xac4], ecx
test ecx, ecx
jne 0xcc416d
mov esi, 0xc0000017
jmp 0xcc6cd9
mov dword [ebp - 0xcc4], ecx
mov dword [ebp - 0xa9c], ebx
mov dword [ebp - 0xe34], ebx
mov dword [ebp - 0xc18], ecx
push 4
pop edx
lea eax, [ebp - 0xde4]
mov dword [ebp - 0xde8], edx
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc41dd
mov eax, dword [ebp - 0xac4]
add ecx, edi
add eax, 8
cmp eax, ecx
jbe 0xcc41bf
mov esi, 0xc0000023
jmp 0xcc6cd9
mov ecx, dword [ebp - 0xac4]
push 4
pop eax
mov dword [ecx], eax
mov eax, dword [ebp - 0xde4]
mov dword [eax], ebx
xor eax, eax
inc eax
mov dword [ebp - 0xa9c], eax
jmp 0xcc41df
mov eax, ebx
test esi, esi
js 0xcc6cdf
mov dword [ebp - 0xac8], ebx
mov edi, ecx
mov dword [ebp - 0xc5c], edi
test eax, eax
je 0xcc426d
mov edx, dword [edi]
lea eax, [ebp - 0xd7c]
push eax
push 4
pop ecx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4224
mov eax, dword [ebp - 0xd7c]
mov dword [ebp - 0xd94], eax
jmp 0xcc422a
mov eax, dword [ebp - 0xd94]
test esi, esi
js 0xcc42db
lea ecx, [ebp - 0xc5c]
mov edx, eax
push ecx
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc42e3
mov eax, dword [ebp - 0xac8]
mov edi, dword [ebp - 0xc5c]
inc eax
mov dword [ebp - 0xac8], eax
cmp eax, dword [ebp - 0xa9c]
jb 0xcc41f9
lea eax, [ebp - 0xdcc]
mov dword [ebp - 0xdd0], 0xa0
push eax
push 4
pop eax
mov edx, eax
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc42e3
mov ecx, dword [ebp - 0xac4]
lea eax, [edi + 0xa4]
add ecx, dword [ebp - 0xb00]
cmp eax, ecx
ja 0xcc41b5
mov eax, 0xa0
push eax
push dword [ebp - 0xabc]
mov dword [edi], eax
push dword [ebp - 0xdcc]
call fcn.00bc13d0
mov eax, dword [ebp - 0xa9c]
add esp, 0xc
inc eax
mov dword [ebp - 0xa9c], eax
jmp 0xcc42e9
mov eax, dword [ebp - 0xa9c]
jmp 0xcc42ec
mov eax, dword [ebp - 0xa9c]
push 4
pop ecx
test esi, esi
js 0xcc6cdf
mov edi, dword [ebp - 0xac4]
mov dword [ebp - 0xc60], edi
mov dword [ebp - 0xac8], ebx
test eax, eax
je 0xcc4380
mov edx, dword [edi]
lea eax, [ebp - 0xcdc]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4332
mov eax, dword [ebp - 0xcdc]
mov dword [ebp - 0xce0], eax
jmp 0xcc4338
mov eax, dword [ebp - 0xce0]
test esi, esi
js 0xcc43eb
lea ecx, [ebp - 0xc60]
mov edx, eax
push ecx
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc43eb
mov eax, dword [ebp - 0xac8]
mov edi, dword [ebp - 0xc60]
inc eax
mov dword [ebp - 0xac8], eax
cmp eax, dword [ebp - 0xa9c]
jae 0xcc4380
push 4
pop ecx
jmp 0xcc430a
lea eax, [ebp - 0xdd4]
mov dword [ebp - 0xdd8], 8
push eax
push 4
pop eax
mov edx, eax
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc43eb
mov ecx, dword [ebp - 0xac4]
lea eax, [edi + 0xc]
add ecx, dword [ebp - 0xb00]
cmp eax, ecx
ja 0xcc41b5
mov edx, dword [ebp - 0xaa8]
mov ecx, dword [ebp - 0xdd4]
mov dword [edi], 8
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xa9c]
inc eax
mov dword [ebp - 0xa9c], eax
jmp 0xcc43f1
mov eax, dword [ebp - 0xa9c]
test esi, esi
js 0xcc6cdf
mov ecx, dword [ebp - 0xae8]
mov edi, dword [ebp - 0xac4]
mov dword [ebp - 0xe48], ecx
mov ecx, dword [ebp - 0xadc]
mov dword [ebp - 0xe44], ecx
mov dword [ebp - 0xac8], ebx
test eax, eax
je 0xcc449e
mov edx, dword [edi]
lea eax, [ebp - 0xce4]
push eax
push 4
pop eax
mov ecx, eax
mov dword [ebp - 0xabc], edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4454
mov eax, dword [ebp - 0xce4]
mov dword [ebp - 0xce8], eax
jmp 0xcc445a
mov eax, dword [ebp - 0xce8]
test esi, esi
js 0xcc6cdf
add eax, edi
mov ecx, edi
cmp eax, edi
jb 0xcc446e
mov edi, eax
jmp 0xcc4471
or edi, 0xffffffff
cmp eax, ecx
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp eax, dword [ebp - 0xabc]
jb 0xcc4505
mov eax, dword [ebp - 0xac8]
inc eax
mov dword [ebp - 0xac8], eax
cmp eax, dword [ebp - 0xa9c]
jb 0xcc4421
lea eax, [ebp - 0xddc]
mov dword [ebp - 0xde0], 8
push eax
push 4
pop eax
mov edx, eax
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov ecx, dword [ebp - 0xac4]
lea eax, [edi + 0xc]
add ecx, dword [ebp - 0xb00]
cmp eax, ecx
ja 0xcc41b5
mov eax, dword [ebp - 0xddc]
mov ecx, dword [ebp - 0xae8]
inc dword [ebp - 0xa9c]
mov dword [edi], 8
mov dword [eax], ecx
mov ecx, dword [ebp - 0xadc]
mov dword [eax + 4], ecx
test esi, esi
js 0xcc6cdf
lea eax, [ebp - 0xc6c]
mov edx, SysReAllocString
push eax
mov ecx, 0xb30ba8
call fcn.00b84ebc
test eax, eax
js 0xcc4033
mov ecx, dword [ebp - 0xc6c]
lea eax, [ebp - 0xc6c]
push eax
xor eax, eax
lea edx, [eax + 1]
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov eax, dword [ebp - 0xc6c]
add eax, eax
mov dword [ebp - 0xaf4], eax
je 0xcc4673
cmp dword [ebp - 0xa9c], 0
mov edi, dword [ebp - 0xac4]
mov dword [ebp - 0xac8], ebx
jbe 0xcc460a
mov edx, dword [edi]
lea eax, [ebp - 0xcec]
push eax
push 4
pop eax
mov ecx, eax
mov dword [ebp - 0xabc], edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc45b2
mov eax, dword [ebp - 0xcec]
mov dword [ebp - 0xcf0], eax
jmp 0xcc45b8
mov eax, dword [ebp - 0xcf0]
test esi, esi
js 0xcc6cdf
add eax, edi
mov ecx, edi
cmp eax, edi
jb 0xcc45cc
mov edi, eax
jmp 0xcc45cf
or edi, 0xffffffff
cmp eax, ecx
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp eax, dword [ebp - 0xabc]
jb 0xcc467e
mov eax, dword [ebp - 0xac8]
inc eax
mov dword [ebp - 0xac8], eax
cmp eax, dword [ebp - 0xa9c]
jb 0xcc457f
mov eax, dword [ebp - 0xaf4]
mov dword [ebp - 0xdb8], eax
mov ecx, edi
lea eax, [ebp - 0xdb4]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
mov edx, dword [ebp - 0xaf4]
mov ecx, dword [ebp - 0xac4]
add ecx, dword [ebp - 0xb00]
lea eax, [edx + 4]
add eax, edi
cmp eax, ecx
jbe 0xcc4655
mov esi, 0xc0000023
jmp 0xcc4678
push edx
push 0xb30ba8
push dword [ebp - 0xdb4]
mov dword [edi], edx
call fcn.00bc13d0
add esp, 0xc
inc dword [ebp - 0xa9c]
jmp 0xcc467e
mov esi, 0xc000000d
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6cdf
cmp dword [ebp - 0xa9c], 0
mov edx, ebx
mov eax, dword [ebp - 0xab0]
mov edi, dword [ebp - 0xac4]
mov dword [ebp - 0xe3c], eax
jbe 0xcc4719
mov eax, dword [edi]
push 4
add eax, 4
mov dword [ebp - 0xabc], edi
pop esi
cmp eax, esi
jb 0xcc46b9
mov ecx, eax
jmp 0xcc46bc
or ecx, 0xffffffff
cmp eax, esi
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp eax, 4
jb 0xcc46d9
mov dword [ebp - 0xcf4], ecx
jmp 0xcc46df
mov ecx, dword [ebp - 0xcf4]
cmp eax, 4
jb 0xcc4779
lea eax, [edi + ecx]
mov esi, edi
cmp eax, edi
jb 0xcc46f5
mov edi, eax
jmp 0xcc46f8
or edi, 0xffffffff
cmp eax, esi
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp eax, dword [ebp - 0xabc]
jb 0xcc4779
inc edx
cmp edx, dword [ebp - 0xa9c]
jb 0xcc46a3
push 4
pop ecx
lea eax, [ebp - 0xdbc]
mov dword [ebp - 0xdc0], ecx
mov edx, ecx
mov ecx, edi
push eax
call fcn.00b84e9a
mov edx, dword [ebp - 0xac4]
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc477f
mov ecx, dword [ebp - 0xb00]
lea eax, [edi + 8]
add ecx, edx
cmp eax, ecx
ja 0xcc41b5
mov ecx, dword [ebp - 0xab0]
push 4
pop eax
mov dword [edi], eax
mov eax, dword [ebp - 0xdbc]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa9c]
inc eax
mov dword [ebp - 0xa9c], eax
jmp 0xcc4785
mov edx, dword [ebp - 0xac4]
mov eax, dword [ebp - 0xa9c]
test esi, esi
js 0xcc6cdf
mov edi, edx
mov edx, ebx
push 4
pop esi
mov dword [ebp - 0xe90], esi
test eax, eax
je 0xcc4814
mov eax, dword [edi]
add eax, 4
mov dword [ebp - 0xabc], edi
cmp eax, esi
jb 0xcc47b1
mov ecx, eax
jmp 0xcc47b4
or ecx, 0xffffffff
cmp eax, esi
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp eax, 4
jb 0xcc47d1
mov dword [ebp - 0xcf8], ecx
jmp 0xcc47d7
mov ecx, dword [ebp - 0xcf8]
cmp eax, 4
jb 0xcc4862
lea eax, [ecx + edi]
mov esi, edi
cmp eax, edi
jb 0xcc47ed
mov edi, eax
jmp 0xcc47f0
or edi, 0xffffffff
cmp eax, esi
push 4
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp eax, dword [ebp - 0xabc]
jb 0xcc4864
inc edx
pop esi
cmp edx, dword [ebp - 0xa9c]
jb 0xcc479e
lea eax, [ebp - 0xdc4]
mov dword [ebp - 0xdc8], esi
push eax
mov edx, esi
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4862
mov ecx, dword [ebp - 0xac4]
lea eax, [edi + 8]
add ecx, dword [ebp - 0xb00]
cmp eax, ecx
ja 0xcc41b5
mov eax, dword [ebp - 0xdc4]
inc dword [ebp - 0xa9c]
push 4
pop ecx
mov dword [edi], ecx
mov dword [eax], ecx
jmp 0xcc4865
push 4
pop ecx
test esi, esi
js 0xcc6cdf
lea eax, [ebp - 0xcfc]
mov edx, ecx
push eax
call fcn.00b84e9a
mov edi, dword [ebp - 0xcfc]
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
jns 0xcc4898
mov edi, dword [ebp - 0xe40]
jmp 0xcc4a0b
lea eax, [ebp - 0xd00]
mov dword [ebp - 0xba8], edi
push eax
push 8
pop edx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
mov edi, dword [ebp - 0xd00]
mov ecx, dword [ebp - 0xba8]
lea eax, [ebp - 0xba8]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
lea eax, [ebp - 0xd04]
push eax
push 4
pop ecx
mov edx, ecx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
mov edi, dword [ebp - 0xd04]
mov ecx, dword [ebp - 0xba8]
lea eax, [ebp - 0xba8]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
lea eax, [ebp - 0xd08]
push eax
push 4
pop ecx
mov edx, ecx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
mov edi, dword [ebp - 0xd08]
mov ecx, dword [ebp - 0xba8]
lea eax, [ebp - 0xba8]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
lea eax, [ebp - 0xbfc]
push eax
push 4
pop ecx
mov edx, ecx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
mov edi, dword [ebp - 0xbfc]
mov ecx, dword [ebp - 0xba8]
lea eax, [ebp - 0xba8]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
lea eax, [ebp - 0xbf8]
push eax
push 4
pop eax
mov edx, eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc4a0b
mov edi, dword [ebp - 0xbf8]
mov ecx, dword [ebp - 0xba8]
lea eax, [ebp - 0xba8]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xba8]
mov dword [ebp - 0xa94], esi
test esi, esi
jns 0xcc4a11
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0xaac], eax
test esi, esi
js 0xcc6cdf
rdtsc
mov edi, ebx
mov dword [ebp - 0xb20], ebx
mov dword [ebp - 0xac0], edi
mov dword [ebp - 0xab8], ebx
mov dword [ebp - 0xbac], ebx
mov dword [ebp - 0xaa8], ebx
mov dword [ebp - 0xaf4], ebx
mov dword [ebp - 0xad8], ebx
mov dword [ebp - 0xac8], ebx
mov dword [ebp - 0xae0], ebx
mov dword [ebp - 0xae4], ebx
mov dword [ebp - 0xabc], eax
mov dword [ebp - 0xab4], edx
push 8
pop ecx
mov dword [ebp - 0xc54], ecx
mov edx, dword [ebp - 0xb00]
lea eax, [ebp - 0xc54]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc4b85
mov eax, dword [ebp - 0xc54]
lea ecx, [eax + 7]
and ecx, 0xfffffff8
mov dword [ebp - 0xad4], ecx
cmp ecx, eax
jae 0xcc4ab0
mov esi, 0xc0000095
jmp 0xcc4b85
mov dword [ebp - 0xc54], ecx
push ecx
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0xcc4ad8
mov esi, 0xc0000017
mov edi, ebx
jmp 0xcc4b85
mov eax, dword [ebp - 0xa9c]
mov ecx, edi
mov dword [edi], eax
lea eax, [ebp - 0xc50]
push eax
push 4
pop eax
mov edx, eax
mov dword [ebp - 0xc50], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc4b6c
mov ecx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xb00]
mov dword [ecx], eax
lea eax, [ebp - 0xc50]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc4b6c
mov eax, dword [ebp - 0xad4]
push dword [ebp - 0xb00]
mov ecx, dword [ebp - 0xabc]
push dword [ebp - 0xac4]
mov dword [edi + eax - 8], ecx
mov ecx, dword [ebp - 0xab4]
push dword [ebp - 0xc50]
mov dword [edi + eax - 4], ecx
call fcn.00bc13d0
mov eax, dword [ebp - 0xad4]
add esp, 0xc
mov dword [ebp - 0xb20], edi
mov edi, ebx
mov dword [ebp - 0xac0], eax
test edi, edi
je 0xcc4b7f
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, dword [ebp - 0xac0]
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc65bd
mov esi, dword [ebp - 0xb20]
mov dword [ebp - 0xb0c], ebx
test esi, esi
jne 0xcc4bb1
mov esi, 0xc000000d
jmp 0xcc52d0
test edi, edi
je 0xcc52cb
lea eax, [edi + 8]
push eax
push ebx
mov dword [ebp - 0xabc], eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xb4c], eax
test eax, eax
je 0xcc52cb
mov dl, bl
mov ecx, ebx
test edi, edi
je 0xcc4bef
xor dl, byte [ecx + esi]
inc ecx
cmp ecx, edi
jb 0xcc4be7
mov dword [ebp - 0xb08], esi
mov ecx, ebx
mov esi, eax
mov dword [ebp - 0x3f0], 0xb1b54a58
or eax, 0xffffffff
mov dword [ebp - 0x3ec], 0xc81ecb17
mov dword [ebp - 0xacc], esi
mov dword [ebp - 0xb3c], ecx
mov dword [ebp - 0xa94], eax
mov dword [ebp - 0xb40], eax
mov dword [ebp - 0xafc], ebx
mov dword [ebp - 0xaf8], ebx
test ebx, ebx
je 0xcc4d0d
mov esi, dword [ebp - 0xb5c]
mov eax, ebx
mov dword [ebp - 0xafc], eax
mov edi, ebx
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0xaf8], ecx
movzx eax, byte [eax]
push 4
pop ecx
cmp edi, ecx
jge 0xcc4c77
lea ecx, [esi - 0x20]
shl eax, cl
mov ecx, dword [ebp - 0xaf8]
or ecx, eax
mov dword [ebp - 0xaf8], ecx
jmp 0xcc4c87
mov ecx, esi
shl eax, cl
or dword [ebp - 0xafc], eax
mov ecx, dword [ebp - 0xaf8]
mov eax, dword [ebp - 0xb08]
inc edi
sub esi, 8
inc eax
mov dword [ebp - 0xb08], eax
cmp edi, ebx
jl 0xcc4c58
mov eax, dword [ebp - 0xafc]
xor ecx, 0xb17a307a
xor eax, 0x42f6b18d
mov dword [ebp - 0xb3c], ecx
mov esi, ebx
test ebx, ebx
je 0xcc4ce2
mov edi, dword [ebp - 0xacc]
cmp esi, 4
jge 0xcc4ccb
rol ecx, 8
mov byte [edi], cl
jmp 0xcc4cd0
rol eax, 8
mov byte [edi], al
inc esi
inc edi
cmp esi, ebx
jl 0xcc4cbf
mov ecx, dword [ebp - 0xb3c]
mov dword [ebp - 0xacc], edi
push 0xfffffffffffffffc
pop esi
mov eax, ebx
mov dword [ebp - 0xa94], eax
mov dword [ebp - 0xb40], eax
test esi, esi
jg 0xcc4d01
jns 0xcc4d01
mov ecx, ebx
mov dword [ebp - 0xb3c], ecx
mov edi, dword [ebp - 0xac0]
mov esi, dword [ebp - 0xacc]
mov eax, edi
shr eax, 3
mov dword [ebp - 0xab4], eax
test eax, eax
je 0xcc5109
mov ebx, dword [ebp - 0xa94]
add esi, 7
mov dword [ebp - 0xad4], esi
mov esi, dword [ebp - 0xb08]
add esi, 2
mov dword [ebp - 0xacc], esi
movzx edi, byte [esi - 2]
movzx eax, byte [esi - 1]
shl edi, 8
or edi, eax
movzx eax, byte [esi]
shl edi, 8
or edi, eax
movzx eax, byte [esi + 1]
movzx esi, byte [esi + 2]
shl edi, 8
or edi, eax
shl esi, 8
mov eax, dword [ebp - 0xacc]
movzx eax, byte [eax + 3]
or esi, eax
mov eax, dword [ebp - 0xacc]
shl esi, 8
movzx eax, byte [eax + 4]
or esi, eax
mov eax, dword [ebp - 0xacc]
shl esi, 8
add dword [ebp - 0xacc], 8
movzx eax, byte [eax + 5]
or esi, eax
xor ebx, esi
mov dword [ebp - 0xa94], ebx
add ebx, 0xffffb5a8
xor ebx, edi
xor ebx, ecx
mov ecx, 0xc81ecb17
xor ebx, ecx
mov eax, ebx
xor eax, ecx
ror eax, 0xf
imul ecx, eax, 0xb1b5
mov eax, ebx
ror eax, 7
add ecx, eax
mov eax, dword [ebp - 0xa94]
xor eax, ecx
mov dword [ebp - 0xa94], eax
add eax, 0xb1b54a58
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa94]
ror eax, 0xa
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xcb17
rol eax, 4
imul ecx, eax, 0xc81e
mov eax, ebx
rol eax, 5
add ecx, eax
mov eax, dword [ebp - 0xa94]
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0xa94], eax
xor ecx, 0xb1b54a58
mov eax, 0xc81ecb17
sub eax, ecx
xor ebx, eax
imul ecx, ebx, 0xb1b5
mov eax, ebx
shr eax, 6
sub ecx, eax
sub ecx, 0x339b6838
xor dword [ebp - 0xa94], ecx
mov ecx, dword [ebp - 0xa94]
mov eax, ecx
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor ebx, eax
mov eax, ebx
not eax
ror eax, 3
add eax, 0xc81e
imul eax, eax, 0xcb17
xor ecx, eax
lea eax, [ecx + 0x37e0ea91]
mov dword [ebp - 0xa94], ecx
xor ebx, eax
mov eax, ebx
mov ecx, ebx
xor eax, 0xc81e
ror ecx, 0xa
imul eax, eax, 0xb1b5
xor ecx, eax
mov eax, dword [ebp - 0xa94]
xor eax, ecx
mov dword [ebp - 0xa94], eax
xor eax, 0x4a58
rol eax, 6
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa94]
ror eax, 3
xor ecx, eax
xor ebx, ecx
mov ecx, dword [ebp - 0xa94]
mov eax, ebx
ror eax, 0xf
sub eax, 0xc81e
imul eax, eax, 0x4a58
xor ecx, eax
mov dword [ebp - 0xa94], ecx
xor ecx, 0xc81e
mov eax, dword [ebp - 0xa94]
shr eax, 1
imul ecx, ecx, 0x4a58
xor ecx, eax
mov eax, dword [ebp - 0xa94]
add eax, 0xffff34e9
xor ebx, ecx
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, dword [ebp - 0xa94]
shr eax, 0xf
xor ecx, eax
xor ebx, ecx
imul ecx, ebx, 0xb1b5
mov eax, ebx
shr eax, 0xd
sub ecx, eax
mov eax, 0xb1b54a58
add ecx, 0x730581bd
xor dword [ebp - 0xa94], ecx
sub eax, dword [ebp - 0xa94]
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa94]
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
mov ecx, dword [ebp - 0xa94]
lea eax, [ebx + 0x4e49ed8a]
xor ecx, eax
mov dword [ebp - 0xa94], ecx
mov eax, dword [ebp - 0xa94]
xor eax, 0xb1b5
ror ecx, 7
imul eax, eax, 0x4a58
sub eax, ecx
xor ebx, eax
mov eax, ebx
xor eax, 0xc81e
rol eax, 4
imul ecx, eax, 0xb1b5
mov eax, ebx
ror eax, 0x10
sub ecx, eax
mov eax, 0xb1b54a58
xor dword [ebp - 0xa94], ecx
sub eax, dword [ebp - 0xa94]
ror eax, 0xa
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa94]
ror eax, 4
add ecx, eax
xor ebx, ecx
lea eax, [ebx + 0x4e4ab5a8]
ror eax, 4
imul ecx, eax, 0xc81e
mov eax, ebx
ror eax, 9
xor ecx, eax
mov eax, dword [ebp - 0xa94]
xor eax, ecx
mov dword [ebp - 0xa94], eax
xor eax, 0xc81ecb17
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, dword [ebp - 0xa94]
rol eax, 2
sub ecx, eax
mov eax, 0xc81ecb17
xor ebx, ecx
sub eax, ebx
ror eax, 0xb
imul ecx, eax, 0xb1b5
mov eax, ebx
ror eax, 0xc
sub ecx, eax
mov eax, dword [ebp - 0xa94]
xor eax, ecx
mov dword [ebp - 0xa94], eax
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa94]
shr eax, 8
xor ecx, eax
mov eax, dword [ebp - 0xa94]
xor ebx, ecx
mov ecx, dword [ebp - 0xad4]
xor eax, ebx
add dword [ebp - 0xad4], 8
xor eax, dword [ebp - 0xafc]
xor ebx, dword [ebp - 0xaf8]
xor eax, 0x79ab814f
mov dword [ebp - 0xb40], eax
mov dword [ebp - 0xb3c], ebx
mov byte [ecx - 4], bl
mov al, byte [ebp - 0xb40]
ror dword [ebp - 0xb3c], 8
mov byte [ecx], al
ror dword [ebp - 0xb40], 8
mov al, byte [ebp - 0xb3c]
mov byte [ecx - 5], al
mov al, byte [ebp - 0xb40]
ror dword [ebp - 0xb3c], 8
mov byte [ecx - 1], al
ror dword [ebp - 0xb40], 8
mov al, byte [ebp - 0xb3c]
mov byte [ecx - 6], al
ror dword [ebp - 0xb3c], 8
mov al, byte [ebp - 0xb40]
mov byte [ecx - 2], al
ror dword [ebp - 0xb40], 8
mov al, byte [ebp - 0xb3c]
mov byte [ecx - 7], al
mov al, byte [ebp - 0xb40]
mov byte [ecx - 3], al
mov ecx, dword [ebp - 0xb3c]
mov ebx, dword [ebp - 0xb40]
ror ecx, 8
ror ebx, 8
sub dword [ebp - 0xab4], 1
mov dword [ebp - 0xafc], esi
mov esi, dword [ebp - 0xacc]
mov dword [ebp - 0xb3c], ecx
mov dword [ebp - 0xb40], ebx
mov dword [ebp - 0xaf8], edi
jne 0xcc4d3e
mov edi, dword [ebp - 0xac0]
xor ebx, ebx
mov ecx, dword [ebp - 0xb4c]
movzx eax, dl
cdq
mov dword [ecx + edi], eax
mov dword [ecx + edi + 4], edx
push 0x18
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0xcc513b
mov esi, 0xc0000017
jmp 0xcc523a
mov esi, dword [ebp - 0xabc]
push esi
push 8
mov dword [edi], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
jne 0xcc515e
mov esi, 0xc0000017
jmp 0xcc51d9
mov dword [edi + 4], eax
push esi
push dword [ebp - 0xb4c]
push eax
call fcn.00bc13d0
add esp, 0xc
mov eax, 0xa0
mov dword [edi + 8], eax
push eax
push 8
pop esi
push esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
je 0xcc5157
mov dword [edi + 0xc], eax
push 0xa0
push 0xd08ca8
push eax
call fcn.00bc13d0
add esp, 0xc
mov dword [edi + 0x10], esi
push esi
push esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, eax
test ecx, ecx
je 0xcc5157
mov dword [edi + 0x14], ecx
mov eax, dword [0xd08d48]
mov esi, ebx
mov dword [ecx], eax
mov eax, dword [0xd08d4c]
mov dword [ebp - 0xb0c], edi
mov edi, ebx
mov dword [ecx + 4], eax
test edi, edi
je 0xcc523a
cmp dword [edi + 4], 0
je 0xcc51f7
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcc5211
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcc522b
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc524e
mov eax, dword [ebp - 0xb0c]
mov edi, ebx
mov dword [ebp - 0xab8], eax
jmp 0xcc5254
mov edi, dword [ebp - 0xb0c]
push dword [ebp - 0xb4c]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test edi, edi
je 0xcc52d0
cmp dword [edi + 4], 0
je 0xcc5286
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcc52a0
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcc52ba
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
jmp 0xcc52d0
mov esi, 0xc0000001
mov edi, 0x10000000
or esi, edi
mov dword [ebp - 0xa94], esi
jl 0xcc65bd
mov edi, dword [ebp - 0xab8]
lea eax, [ebp - 0xbbc]
push 4
pop ecx
push eax
mov edx, dword [edi]
mov dword [ebp - 0xbbc], ecx
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5379
lea eax, [ebp - 0xbbc]
mov edx, ecx
mov ecx, dword [ebp - 0xbbc]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5379
mov edx, dword [edi + 8]
lea eax, [ebp - 0xbbc]
mov ecx, dword [ebp - 0xbbc]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5379
mov ecx, dword [ebp - 0xbbc]
lea eax, [ebp - 0xbbc]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5379
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0xbbc]
mov ecx, dword [ebp - 0xbbc]
push eax
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xbbc]
test esi, esi
jns 0xcc537f
mov eax, dword [ebp - 0xe4c]
mov dword [ebp - 0xab4], eax
test esi, esi
js 0xcc54f6
push eax
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0xcc53ad
mov esi, 0xc0000017
jmp 0xcc54f6
mov eax, dword [ebp - 0xab8]
mov ecx, edi
mov dword [ebp - 0xb54], edi
mov eax, dword [eax]
mov dword [edi], eax
lea eax, [ebp - 0xb54]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc54e3
mov esi, dword [ebp - 0xab8]
push dword [esi]
push dword [esi + 4]
push dword [ebp - 0xb54]
call fcn.00bc13d0
mov edx, dword [esi]
lea eax, [ebp - 0xb54]
mov ecx, dword [ebp - 0xb54]
add esp, 0xc
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc54e3
mov eax, dword [ebp - 0xab8]
mov ecx, dword [ebp - 0xb54]
mov eax, dword [eax + 8]
mov dword [ecx], eax
lea eax, [ebp - 0xb54]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc54e3
mov esi, dword [ebp - 0xab8]
push dword [esi + 8]
push dword [esi + 0xc]
push dword [ebp - 0xb54]
call fcn.00bc13d0
mov edx, dword [esi + 8]
lea eax, [ebp - 0xb54]
mov ecx, dword [ebp - 0xb54]
add esp, 0xc
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc54e3
mov eax, dword [ebp - 0xab8]
mov ecx, dword [ebp - 0xb54]
mov eax, dword [eax + 0x10]
mov dword [ecx], eax
lea eax, [ebp - 0xb54]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc54e3
mov esi, dword [ebp - 0xab8]
push dword [esi + 0x10]
push dword [esi + 0x14]
push dword [ebp - 0xb54]
call fcn.00bc13d0
mov edx, dword [esi + 0x10]
lea eax, [ebp - 0xb54]
mov ecx, dword [ebp - 0xb54]
add esp, 0xc
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc54e3
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0xbac], edi
mov edi, ebx
mov dword [ebp - 0xaa8], eax
test edi, edi
je 0xcc54f6
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, 0x10000000
or esi, edi
mov dword [ebp - 0xa94], esi
jl 0xcc65bd
mov dword [ebp - 0xab4], ebx
mov dword [ebp - 0xb0c], ebx
mov dword [ebp - 0xc84], 8
mov edx, dword [ebp - 0xaac]
lea eax, [ebp - 0xc84]
push eax
push 8
pop ecx
call fcn.00b84e9a
mov esi, eax
or esi, edi
mov dword [ebp - 0xa94], esi
jl 0xcc57e6
mov eax, dword [ebp - 0xc84]
lea ecx, [eax + 7]
and ecx, 0xfffffff8
cmp ecx, eax
jae 0xcc5561
mov esi, 0xc0000095
mov dword [ebp - 0xa94], esi
jmp 0xcc5588
mov dword [ebp - 0xc80], ecx
lea eax, [ebp - 0xc80]
push eax
push 8
pop edx
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xc80]
mov dword [ebp - 0xa94], esi
test esi, esi
jns 0xcc558e
mov eax, dword [ebp - 0xd14]
mov dword [ebp - 0xad4], eax
test esi, esi
js 0xcc57e6
xor eax, eax
mov edi, ebx
inc eax
cmp dword [ebp - 0xa9c], eax
ja 0xcc55b9
mov esi, 0xc000000d
mov dword [ebp - 0xa94], esi
jmp 0xcc57e8
mov ecx, dword [ebp - 0xac4]
mov dword [ebp - 0xbec], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xbec]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57e6
mov edx, dword [ebp - 0xabc]
lea eax, [ebp - 0xbec]
mov ecx, dword [ebp - 0xbec]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57e6
mov ecx, dword [ebp - 0xbec]
xor eax, eax
inc edi
inc eax
cmp edi, eax
jb 0xcc55c5
mov edi, dword [ecx]
lea eax, [ebp - 0xbec]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57e6
mov dword [ebp - 0xab4], edi
neg edi
sbb edi, edi
and dword [ebp - 0xbec], edi
test esi, esi
js 0xcc57e6
cmp dword [ebp - 0xa9c], 2
mov edi, ebx
jbe 0xcc55a9
mov ecx, dword [ebp - 0xac4]
mov dword [ebp - 0xbf0], ecx
lea eax, [ebp - 0xbf0]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57e6
mov edx, dword [ecx]
lea eax, [ebp - 0xbf0]
mov ecx, dword [ebp - 0xbf0]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57e6
mov ecx, dword [ebp - 0xbf0]
inc edi
cmp edi, 2
jb 0xcc567a
mov edi, dword [ecx]
lea eax, [ebp - 0xbf0]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57e6
mov dword [ebp - 0xb0c], edi
neg edi
sbb edi, edi
and dword [ebp - 0xbf0], edi
test esi, esi
js 0xcc57e6
mov edx, dword [ebp - 0xad4]
lea eax, [ebp - 0xbc4]
push 4
pop edi
push eax
mov ecx, edi
mov dword [ebp - 0xbc4], edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57c1
mov ecx, dword [ebp - 0xbc4]
lea eax, [ebp - 0xbc4]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57c1
mov edx, dword [ebp - 0xab4]
lea eax, [ebp - 0xbc4]
mov ecx, dword [ebp - 0xbc4]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57c1
mov ecx, dword [ebp - 0xbc4]
lea eax, [ebp - 0xbc4]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc57c1
mov edx, dword [ebp - 0xb0c]
lea eax, [ebp - 0xbc4]
mov ecx, dword [ebp - 0xbc4]
push eax
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xbc4]
mov dword [ebp - 0xa94], esi
test esi, esi
jns 0xcc57cb
mov eax, dword [ebp - 0xe50]
test esi, esi
js 0xcc57e6
cmp eax, 0x400000
jbe 0xcc57dc
mov esi, 0x8000ffff
jmp 0xcc65b7
mov edi, eax
mov dword [ebp - 0xad8], edi
jmp 0xcc57e8
mov edi, ebx
test esi, esi
js 0xcc65bd
push edi
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
jne 0xcc580d
mov esi, 0xd0000017
mov ecx, ebx
jmp 0xcc581a
mov ecx, eax
mov dword [ebp - 0xaf4], ecx
mov esi, 0x10000000
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc65bd
mov eax, dword [ebp - 0xbac]
test eax, eax
jne 0xcc583c
mov esi, 0x80070057
jmp 0xcc65b7
test ecx, ecx
je 0xcc5832
mov dword [ebp - 0xdfc], eax
mov eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xdf4], eax
lea eax, [ebp - 0xd18]
push eax
xor eax, eax
mov dword [ebp - 0xdf8], ecx
push 0xb2be98
inc eax
mov dword [ebp - 0xdf0], edi
push eax
mov dword [ebp - 0xdec], ebx
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
jne 0xcc58b0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
jle 0xcc58a1
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc58fc
mov esi, 0x80004005
mov dword [ebp - 0xa94], esi
jmp 0xcc58fc
push 0xb2be7c
push dword [ebp - 0xd18]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0xcc587e
push ebx
push 0x14
lea eax, [ebp - 0xdfc]
mov ecx, esi
push eax
push 0x86
call dword [0xd0cffc]
call esi
mov esi, eax
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc58fc
mov edi, dword [ebp - 0xdf0]
mov dword [ebp - 0xad8], edi
cmp esi, 0xd0000023
jne 0xcc590e
mov esi, 0x8007007a
jmp 0xcc65b7
test esi, esi
js 0xcc65bd
mov eax, dword [ebp - 0xaf4]
push 4
pop edx
mov dword [ebp - 0xb0c], ebx
mov dword [ebp - 0xb24], ebx
mov dword [ebp - 0xba4], eax
cmp edi, edx
jae 0xcc593f
mov esi, 0xc000003e
jmp 0xcc5d17
mov edi, dword [eax]
lea ecx, [ebp - 0xba4]
push ecx
mov ecx, eax
mov dword [ebp - 0xabc], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
lea eax, [ebp - 0xb24]
xor ecx, ecx
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0xb24]
cmp eax, edi
jb 0xcc5935
mov eax, dword [ebp - 0xba4]
lea ecx, [ebp - 0xba4]
push ecx
mov edx, edi
mov dword [ebp - 0xaa8], eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov ecx, dword [ebp - 0xb24]
lea eax, [ebp - 0xb24]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0xb24]
push 4
pop edx
cmp eax, edx
jb 0xcc5935
mov ecx, dword [ebp - 0xba4]
lea eax, [ebp - 0xba4]
push eax
mov edi, dword [ecx]
mov dword [ebp - 0xab4], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov ecx, dword [ebp - 0xb24]
lea eax, [ebp - 0xb24]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0xb24]
cmp eax, edi
jb 0xcc5935
mov eax, dword [ebp - 0xba4]
lea ecx, [ebp - 0xba4]
push ecx
mov edx, edi
mov dword [ebp - 0xaac], eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov ecx, dword [ebp - 0xb24]
lea eax, [ebp - 0xb24]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0xb24]
push 4
pop edx
cmp eax, edx
jb 0xcc5935
mov ecx, dword [ebp - 0xba4]
mov eax, dword [ecx]
mov dword [ebp - 0xad4], eax
lea eax, [ebp - 0xba4]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov ecx, dword [ebp - 0xb24]
lea eax, [ebp - 0xb24]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0xb24]
mov ecx, dword [ebp - 0xad4]
cmp eax, ecx
jb 0xcc5935
lea eax, [ebp - 0xb24]
mov edx, ecx
mov ecx, dword [ebp - 0xb24]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc5d17
mov ecx, dword [ebp - 0xad8]
mov eax, ecx
sub eax, dword [ebp - 0xb24]
jne 0xcc5935
mov eax, dword [ebp - 0xad4]
mov esi, dword [ebp - 0xabc]
add eax, 0xc
add eax, edi
add eax, esi
cmp eax, ecx
jne 0xcc5935
push 0x18
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0xcc5b68
mov esi, 0xc0000017
jmp 0xcc5c9c
cmp dword [ebp - 0xaa8], 0
je 0xcc5ba6
push esi
push 8
mov dword [edi], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
jne 0xcc5b91
mov esi, 0xc0000017
jmp 0xcc5c3b
mov dword [edi + 4], eax
push esi
push dword [ebp - 0xaa8]
push eax
call fcn.00bc13d0
add esp, 0xc
jmp 0xcc5bab
mov dword [edi], ebx
mov dword [edi + 4], ebx
cmp dword [ebp - 0xaac], 0
je 0xcc5be6
mov esi, dword [ebp - 0xab4]
push esi
push 8
mov dword [edi + 8], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
je 0xcc5b87
mov dword [edi + 0xc], eax
push esi
push dword [ebp - 0xaac]
push eax
call fcn.00bc13d0
add esp, 0xc
jmp 0xcc5bec
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
cmp dword [ebp - 0xba4], 0
je 0xcc5c2b
mov esi, dword [ebp - 0xad4]
push esi
push 8
mov dword [edi + 0x10], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
je 0xcc5b87
mov dword [edi + 0x14], eax
push esi
push dword [ebp - 0xba4]
push eax
call fcn.00bc13d0
add esp, 0xc
jmp 0xcc5c31
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov dword [ebp - 0xb0c], edi
mov esi, ebx
mov edi, ebx
test edi, edi
je 0xcc5c9c
cmp dword [edi + 4], 0
je 0xcc5c59
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcc5c73
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcc5c8d
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc5cb0
mov eax, dword [ebp - 0xb0c]
mov edi, ebx
mov dword [ebp - 0xac8], eax
jmp 0xcc5cb6
mov edi, dword [ebp - 0xb0c]
test edi, edi
je 0xcc5d17
cmp dword [edi + 4], 0
je 0xcc5cd4
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcc5cee
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcc5d08
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
jl 0xcc65bd
mov ecx, dword [ebp - 0xac8]
mov edi, ebx
mov dword [ebp - 0xb4c], ebx
test ecx, ecx
jne 0xcc5d4b
mov esi, 0xd000000d
mov dword [ebp - 0xa94], esi
jmp 0xcc633b
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb0c], eax
test eax, eax
je 0xcc5d3b
mov eax, dword [ecx]
mov dword [ebp - 0xab4], eax
test eax, eax
je 0xcc5d3b
lea esi, [eax - 8]
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xad4], eax
test eax, eax
je 0xcc631d
mov ecx, dword [ebp - 0xb0c]
and esi, 7
mov dl, bl
mov dword [ebp - 0x3e8], 0xab69605e
mov dword [ebp - 0x3e4], 0x7f1137f
mov dword [ebp - 0xb08], ecx
mov dword [ebp - 0xaf8], eax
mov dword [ebp - 0xaac], esi
mov dword [ebp - 0xacc], ebx
je 0xcc62c8
or dword [ebp - 0xb18], 0xffffffff
mov eax, ebx
mov dword [ebp - 0xb34], ebx
mov dword [ebp - 0xafc], ebx
mov dword [ebp - 0xaa8], eax
test esi, esi
je 0xcc5e2f
mov edi, dword [ebp - 0xb5c]
cmp eax, 4
jge 0xcc5e01
mov eax, dword [ebp - 0xb08]
lea ecx, [edi - 0x20]
movzx eax, byte [eax]
shl eax, cl
or dword [ebp - 0xacc], eax
jmp 0xcc5e0e
movzx eax, byte [ecx]
mov ecx, edi
shl eax, cl
or dword [ebp - 0xafc], eax
mov eax, dword [ebp - 0xaa8]
sub edi, 8
mov ecx, dword [ebp - 0xb08]
inc eax
inc ecx
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xb08], ecx
cmp eax, esi
jl 0xcc5de6
mov eax, dword [ebp - 0xacc]
mov edi, ebx
mov ecx, dword [ebp - 0xafc]
xor eax, 0x92f65a5
xor ecx, 0x699a899c
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xabc], ecx
mov dword [ebp - 0xb18], ecx
test esi, esi
je 0xcc5ea0
mov esi, dword [ebp - 0xaf8]
cmp edi, 4
jge 0xcc5e76
rol eax, 8
mov byte [esi], al
jmp 0xcc5e7b
rol ecx, 8
mov byte [esi], cl
mov esi, dword [ebp - 0xaac]
inc edi
inc dword [ebp - 0xaf8]
cmp edi, esi
jl 0xcc5e64
mov eax, dword [ebp - 0xb34]
mov edi, dword [ebp - 0xb18]
mov dword [ebp - 0xac4], eax
jmp 0xcc5ea6
mov edi, dword [ebp - 0xabc]
add esi, 0xfffffffc
test esi, esi
jle 0xcc629c
push 4
pop eax
mov ecx, eax
sub ecx, esi
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [ebp - 0xb18], edi
mov esi, dword [ebp - 0xac4]
mov ecx, dword [ebp - 0xab4]
lea eax, [ecx - 8]
shr eax, 3
mov dword [ebp - 0xaac], eax
test eax, eax
je 0xcc6262
mov eax, dword [ebp - 0xaf8]
mov ecx, dword [ebp - 0xb08]
add eax, 7
add ecx, 2
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaf8], ecx
movzx ebx, byte [ecx - 2]
movzx eax, byte [ecx - 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl ecx, 8
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 0xaf8]
xor esi, ebx
mov dword [ebp - 0xabc], ebx
mov dword [ebp - 0xac4], esi
mov ebx, dword [ebp - 0xac4]
movzx eax, byte [eax + 3]
or ecx, eax
mov eax, dword [ebp - 0xaf8]
shl ecx, 8
movzx eax, byte [eax + 4]
or ecx, eax
mov eax, dword [ebp - 0xaf8]
shl ecx, 8
add dword [ebp - 0xaf8], 8
movzx eax, byte [eax + 5]
or ecx, eax
mov esi, ecx
mov dword [ebp - 0xb08], ecx
xor esi, edi
mov edi, 0xab69605e
xor esi, ebx
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add ecx, eax
xor ebx, ecx
lea eax, [ebx + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, ebx
rol eax, 2
sub ecx, eax
xor esi, ecx
imul ecx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor ebx, ecx
mov eax, ebx
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor esi, ecx
mov ecx, esi
xor ecx, edi
sub eax, ecx
xor ebx, eax
mov eax, ebx
mov ecx, ebx
xor eax, 0x137f
ror ecx, 6
imul eax, eax, 0xab69
xor ecx, eax
xor esi, ecx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, esi
rol eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [ebx + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 8
sub ecx, eax
xor esi, ecx
mov eax, esi
xor eax, edi
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor esi, ecx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor ebx, eax
lea edi, [ebx - 0x7f1]
xor edi, esi
xor edi, 0xab69605e
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [ebx - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, ebx
rol eax, 7
add ecx, eax
xor edi, ecx
mov eax, edi
mov ecx, edi
xor eax, 0x137f
ror ecx, 9
imul eax, eax, 0x605e
add ecx, eax
xor ebx, ecx
mov eax, ebx
mov dword [ebp - 0xac4], ebx
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 7
add ecx, eax
xor edi, ecx
mov ebx, edi
xor ebx, dword [ebp - 0xac4]
xor ebx, 0xac987321
mov eax, ebx
ror eax, 3
sub eax, 0xab69
imul eax, eax, 0x137f
xor edi, eax
lea eax, [edi - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, edi
ror eax, 6
sub ecx, eax
xor ebx, ecx
lea eax, [ebx - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 0xe
add ecx, eax
xor edi, ecx
lea eax, [edi - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, ebx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, edi
xor edi, dword [ebp - 0xafc]
rol eax, 2
mov dword [ebp - 0xb18], edi
xor ecx, eax
xor ecx, dword [ebp - 0xacc]
xor ebx, ecx
mov ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xb34], ebx
mov byte [ecx - 4], bl
mov al, byte [ebp - 0xb18]
ror dword [ebp - 0xb34], 8
mov byte [ecx], al
mov al, byte [ebp - 0xb34]
ror dword [ebp - 0xb18], 8
mov byte [ecx - 5], al
mov al, byte [ebp - 0xb18]
ror dword [ebp - 0xb34], 8
mov byte [ecx - 1], al
mov al, byte [ebp - 0xb34]
ror dword [ebp - 0xb18], 8
mov byte [ecx - 6], al
mov al, byte [ebp - 0xb18]
ror dword [ebp - 0xb34], 8
mov byte [ecx - 2], al
ror dword [ebp - 0xb18], 8
mov al, byte [ebp - 0xb34]
mov byte [ecx - 7], al
mov al, byte [ebp - 0xb18]
mov byte [ecx - 3], al
add ecx, 8
mov esi, dword [ebp - 0xb34]
mov edi, dword [ebp - 0xb18]
mov eax, dword [ebp - 0xabc]
ror esi, 8
ror edi, 8
sub dword [ebp - 0xaac], 1
mov dword [ebp - 0xacc], eax
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0xaa8], ecx
mov ecx, dword [ebp - 0xaf8]
mov dword [ebp - 0xb34], esi
mov dword [ebp - 0xb18], edi
mov dword [ebp - 0xafc], eax
jne 0xcc5f03
mov ecx, dword [ebp - 0xab4]
xor ebx, ebx
lea esi, [ecx - 8]
mov eax, ebx
mov ecx, dword [ebp - 0xad4]
test esi, esi
je 0xcc6279
xor dl, byte [eax + ecx]
inc eax
cmp eax, esi
jb 0xcc6271
mov edi, dword [ebp - 0xb0c]
movzx eax, dl
cdq
cmp eax, dword [esi + edi]
jne 0xcc62e4
cmp edx, dword [esi + edi + 4]
jne 0xcc62e4
mov edi, ecx
mov dword [ebp - 0xb4c], esi
mov ecx, ebx
mov esi, ebx
jmp 0xcc62eb
mov edi, ebx
mov dword [ebp - 0xb18], edi
test esi, esi
jns 0xcc5ec5
neg esi
shl esi, 3
mov ecx, esi
shr eax, cl
shl eax, cl
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xb34], eax
jmp 0xcc5ec5
or dword [ebp - 0xafc], 0xffffffff
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0xb18], edi
mov dword [ebp - 0xb34], esi
jmp 0xcc5ecb
mov esi, 0xc004d501
mov edi, ebx
test ecx, ecx
je 0xcc62fe
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc631d
mov eax, dword [ebp - 0xb4c]
mov esi, 0x10000000
mov dword [ebp - 0xae0], edi
mov edi, ebx
mov dword [ebp - 0xae4], eax
jmp 0xcc6322
mov esi, 0xd0000001
mov dword [ebp - 0xa94], esi
test edi, edi
je 0xcc633b
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc65bd
mov edi, dword [ebp - 0xae4]
mov ecx, dword [ebp - 0xae0]
push 4
pop edx
mov dword [ebp - 0xc10], ebx
mov dword [ebp - 0xb98], ecx
cmp edi, edx
jb 0xcc65ac
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xb98]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc65b1
lea eax, [ebp - 0xc10]
xor ecx, ecx
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc65b1
mov eax, edi
sub eax, dword [ebp - 0xc10]
push 4
pop edx
cmp eax, edx
jb 0xcc65ac
mov ecx, dword [ebp - 0xb98]
lea eax, [ebp - 0xb98]
push eax
mov edi, dword [ecx]
mov dword [ebp - 0xaa8], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc65b1
mov ecx, dword [ebp - 0xc10]
lea eax, [ebp - 0xc10]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc65b1
mov eax, dword [ebp - 0xae4]
mov ecx, dword [ebp - 0xc10]
sub eax, ecx
cmp eax, edi
jb 0xcc65ac
lea eax, [ebp - 0xc10]
mov edx, edi
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc65b1
mov edx, dword [ebp - 0xae4]
mov esi, dword [ebp - 0xae0]
mov ecx, dword [ebp - 0xb98]
add ecx, edi
lea eax, [edx + esi]
cmp eax, ecx
jb 0xcc65ac
mov ecx, dword [ebp - 0xb98]
sub edx, edi
sub edx, ecx
add edx, esi
cmp edx, 8
jae 0xcc65ac
mov dword [ebp - 0xad4], ebx
mov eax, ebx
mov dword [ebp - 0xaac], eax
mov esi, ebx
test ecx, ecx
je 0xcc6538
mov edx, dword [ebp - 0xaa8]
lea eax, [ebp - 0xbb8]
push eax
mov edi, ecx
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcc65b1
cmp ecx, dword [ebp - 0xbb8]
jae 0xcc6528
lea eax, [edi + 4]
cmp eax, edi
jb 0xcc6564
cmp eax, dword [ebp - 0xbb8]
ja 0xcc655d
mov eax, dword [edi]
push 4
add eax, 4
pop esi
cmp eax, esi
jb 0xcc64c4
mov edx, eax
jmp 0xcc64c7
or edx, 0xffffffff
cmp eax, esi
sbb esi, esi
and esi, 0xc0000095
cmp eax, 4
jb 0xcc64de
mov dword [ebp - 0xd1c], edx
jmp 0xcc64e4
mov edx, dword [ebp - 0xd1c]
cmp eax, 4
jb 0xcc659a
add edx, edi
cmp edx, edi
jb 0xcc64f7
mov eax, edx
jmp 0xcc64fa
or eax, 0xffffffff
cmp edx, edi
sbb esi, esi
and esi, 0xc0000095
cmp edx, edi
jb 0xcc659a
cmp eax, dword [ebp - 0xbb8]
ja 0xcc655d
inc dword [ebp - 0xad4]
mov edi, eax
cmp eax, dword [ebp - 0xbb8]
jb 0xcc649d
cmp edi, dword [ebp - 0xbb8]
jne 0xcc655d
mov edi, dword [ebp - 0xaa8]
mov eax, ebx
test edi, edi
je 0xcc6573
push edi
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xaac], eax
test eax, eax
jne 0xcc656b
mov esi, 0xc0000017
jmp 0xcc659a
mov esi, 0xc000000d
jmp 0xcc65b1
mov esi, 0xc0000095
jmp 0xcc65b1
mov ecx, dword [ebp - 0xb98]
mov esi, ebx
test ecx, ecx
je 0xcc6588
push edi
push ecx
push eax
call fcn.00bc13d0
mov eax, dword [ebp - 0xaac]
add esp, 0xc
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xad4]
mov dword [ebp - 0xc0c], eax
test esi, esi
js 0xcc65b1
mov eax, dword [ebp - 0xabc]
cmp eax, dword [ebp - 0xc0c]
je 0xcc65b1
mov esi, 0xc000003e
or esi, 0x10000000
mov dword [ebp - 0xa94], esi
mov eax, dword [ebp - 0xb20]
test eax, eax
je 0xcc65d6
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, dword [ebp - 0xab8]
test edi, edi
je 0xcc663d
cmp dword [edi + 4], 0
je 0xcc65fa
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcc6614
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcc662e
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xbac]
test eax, eax
je 0xcc6656
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xaf4]
test eax, eax
je 0xcc666f
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, dword [ebp - 0xac8]
test edi, edi
je 0xcc66d6
cmp dword [edi + 4], 0
je 0xcc6693
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcc66ad
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcc66c7
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xae0]
test eax, eax
je 0xcc66ef
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc6cdf
xor eax, eax
inc eax
cmp dword [ebp - 0xc0c], eax
jb 0xcc6cd4
cmp dword [ebp - 0xc04], 0
jne 0xcc6796
mov esi, 0xc000000d
mov dword [ebp - 0xa94], esi
push 4
mov eax, ebx
pop edx
test esi, esi
js 0xcc6cdf
cmp eax, 0xd0000023
jne 0xcc673d
mov eax, 0x8007007a
mov dword [ebp - 0xaa0], eax
cmp eax, 0x8007007a
je 0xcc6754
mov esi, eax
mov dword [ebp - 0xa94], esi
test eax, eax
js 0xcc6cdf
cmp dword [ebp - 0xc0c], 6
jne 0xcc6cd4
cmp dword [ebp - 0xc04], 0
jne 0xcc680e
mov edx, dword [ebp - 0xd84]
mov esi, 0xc000000d
mov ecx, dword [ebp - 0xd88]
mov dword [ebp - 0xa94], esi
mov dword [ebp - 0xaf4], edx
mov dword [ebp - 0xac8], ecx
jmp 0xcc68ea
cmp dword [ebp - 0xc0c], 0
jbe 0xcc6713
mov ecx, dword [ebp - 0xc04]
lea eax, [ebp - 0xbf4]
push eax
push 4
pop eax
mov edi, dword [ecx]
mov edx, eax
mov dword [ebp - 0xbf4], ecx
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc67e2
mov eax, edi
neg eax
sbb eax, eax
and eax, dword [ebp - 0xbf4]
mov dword [ebp - 0xbf4], eax
jmp 0xcc67ee
mov edi, dword [ebp - 0xe54]
mov eax, dword [ebp - 0xe58]
test esi, esi
js 0xcc671e
push 4
pop edx
cmp edi, edx
jne 0xcc41b5
mov eax, dword [eax]
mov dword [ebp - 0xaa0], eax
jmp 0xcc6723
mov ecx, dword [ebp - 0xc04]
mov edi, ebx
mov dword [ebp - 0xbd4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xbd4]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc68a6
mov edx, dword [ebp - 0xabc]
lea eax, [ebp - 0xbd4]
mov ecx, dword [ebp - 0xbd4]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc68a6
mov ecx, dword [ebp - 0xbd4]
xor eax, eax
inc edi
inc eax
cmp edi, eax
jae 0xcc6873
push 4
pop edx
jmp 0xcc681c
mov edi, dword [ecx]
lea eax, [ebp - 0xbd4]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc68a6
mov eax, edi
neg eax
sbb eax, eax
and eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xbd4], eax
jmp 0xcc68b2
mov edi, dword [ebp - 0xe5c]
mov eax, dword [ebp - 0xe80]
test esi, esi
js 0xcc68d2
cmp edi, 8
jne 0xcc41b5
mov ecx, dword [eax]
mov dword [ebp - 0xac8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xaf4], ecx
jmp 0xcc68ea
mov eax, dword [ebp - 0xd84]
mov dword [ebp - 0xaf4], eax
mov eax, dword [ebp - 0xd88]
mov dword [ebp - 0xac8], eax
test esi, esi
js 0xcc6cdf
cmp dword [ebp - 0xc04], 0
jne 0xcc6934
mov esi, 0xc000000d
mov dword [ebp - 0xa94], esi
mov eax, dword [ebp - 0xd20]
push 4
pop edx
mov dword [ebp - 0xbac], eax
test esi, esi
js 0xcc6cdf
cmp dword [ebp - 0xc04], 0
jne 0xcc69f0
mov esi, 0xc000000d
jmp 0xcc6cd9
mov ecx, dword [ebp - 0xc04]
mov edi, ebx
mov dword [ebp - 0xbdc], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xbdc]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc69ca
mov edx, dword [ebp - 0xabc]
lea eax, [ebp - 0xbdc]
mov ecx, dword [ebp - 0xbdc]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc69ca
mov ecx, dword [ebp - 0xbdc]
inc edi
cmp edi, 2
jb 0xcc6942
mov edi, dword [ecx]
lea eax, [ebp - 0xbdc]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc69ca
mov eax, edi
neg eax
sbb eax, eax
and eax, dword [ebp - 0xbdc]
mov dword [ebp - 0xbdc], eax
jmp 0xcc69d6
mov edi, dword [ebp - 0xe84]
mov eax, dword [ebp - 0xe88]
test esi, esi
js 0xcc6906
push 4
pop edx
cmp edi, edx
jne 0xcc41b5
mov eax, dword [eax]
jmp 0xcc690f
mov ecx, dword [ebp - 0xc04]
mov edi, ebx
mov dword [ebp - 0xbd8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xbd8]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6a8a
mov edx, dword [ebp - 0xabc]
lea eax, [ebp - 0xbd8]
mov ecx, dword [ebp - 0xbd8]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6a8a
mov ecx, dword [ebp - 0xbd8]
inc edi
cmp edi, 3
jae 0xcc6a53
push 4
pop edx
jmp 0xcc69fe
mov edi, dword [ecx]
lea eax, [ebp - 0xbd8]
push eax
push 4
pop eax
mov edx, eax
mov dword [ebp - 0xab4], edi
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6a8a
neg edi
sbb edi, edi
and edi, dword [ebp - 0xbd8]
mov dword [ebp - 0xbd8], edi
jmp 0xcc6a9c
mov eax, dword [ebp - 0xe8c]
mov edi, dword [ebp - 0xe14]
mov dword [ebp - 0xab4], eax
test esi, esi
js 0xcc6cdf
mov ecx, dword [ebp - 0xc04]
push 4
mov dword [ebp - 0xb30], ecx
mov dword [ebp - 0xaa8], ebx
pop edx
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xb30]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6b51
mov edx, dword [ebp - 0xabc]
lea eax, [ebp - 0xb30]
mov ecx, dword [ebp - 0xb30]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6b51
mov eax, dword [ebp - 0xaa8]
mov ecx, dword [ebp - 0xb30]
inc eax
push 4
pop edx
mov dword [ebp - 0xaa8], eax
cmp eax, edx
jb 0xcc6ab9
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xb30]
push eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6b51
mov ecx, dword [ebp - 0xabc]
mov eax, ecx
neg eax
sbb eax, eax
and eax, dword [ebp - 0xb30]
mov dword [ebp - 0xb30], eax
jmp 0xcc6b5d
mov ecx, dword [ebp - 0xe18]
mov eax, dword [ebp - 0xe1c]
test esi, esi
js 0xcc6b70
push 4
pop edx
cmp ecx, edx
jne 0xcc41b5
mov eax, dword [eax]
jmp 0xcc6b76
mov eax, dword [ebp - 0xe20]
mov dword [ebp - 0xaac], eax
test esi, esi
js 0xcc6cdf
mov ecx, dword [ebp - 0xc04]
mov dword [ebp - 0xaa8], ebx
mov eax, dword [ecx]
lea edx, [ecx + 4]
mov dword [ebp - 0xabc], eax
cmp edx, ecx
jb 0xcc6ba3
mov eax, edx
jmp 0xcc6ba6
or eax, 0xffffffff
cmp edx, ecx
mov dword [ebp - 0xb80], eax
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp edx, ecx
jb 0xcc6c3e
mov ecx, dword [ebp - 0xabc]
add ecx, eax
mov edx, ecx
mov esi, ecx
cmp ecx, eax
jae 0xcc6bd3
or ecx, 0xffffffff
cmp esi, eax
mov dword [ebp - 0xb80], ecx
sbb esi, esi
and esi, 0xc0000095
mov dword [ebp - 0xa94], esi
cmp edx, eax
jb 0xcc6c3e
mov eax, dword [ebp - 0xaa8]
inc eax
mov dword [ebp - 0xaa8], eax
cmp eax, 5
jb 0xcc6b90
mov eax, dword [ecx]
mov dword [ebp - 0xabc], eax
lea eax, [ebp - 0xb80]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
mov dword [ebp - 0xa94], esi
test esi, esi
js 0xcc6c3e
mov ecx, dword [ebp - 0xabc]
mov eax, ecx
neg eax
sbb eax, eax
and eax, dword [ebp - 0xb80]
mov dword [ebp - 0xb80], eax
jmp 0xcc6c4a
mov ecx, dword [ebp - 0xe24]
mov eax, dword [ebp - 0xe28]
test esi, esi
js 0xcc6c5d
push 4
pop edx
cmp ecx, edx
jne 0xcc41b5
mov ecx, dword [eax]
jmp 0xcc6c5f
mov ecx, ebx
test esi, esi
js 0xcc6cdf
mov eax, dword [ebp - 0xae8]
cmp eax, dword [ebp - 0xac8]
jne 0xcc6cd4
mov eax, dword [ebp - 0xadc]
cmp eax, dword [ebp - 0xaf4]
jne 0xcc6cd4
mov eax, dword [ebp - 0xbac]
push 4
mov dword [ebp - 0xab0], ecx
pop ecx
mov dword [ebp - 0xc34], eax
cmp dword [ebp - 0xaac], ecx
jbe 0xcc6ca3
mov esi, 0x8007007a
jmp 0xcc6cd9
mov eax, dword [ebp - 0xab4]
cmp eax, ecx
ja 0xcc6c9c
push eax
push edi
push dword [ebp - 0xb60]
call fcn.00bc13d0
add esp, 0xc
mov eax, dword [ebp - 0xaa0]
mov edi, dword [ebp - 0xa98]
test eax, eax
je 0xcc6ce5
mov esi, eax
jmp 0xcc3e9b
mov esi, 0xc004d501
mov dword [ebp - 0xa94], esi
mov edi, dword [ebp - 0xa98]
mov eax, dword [ebp - 0xcc4]
mov dword [ebp - 0xcc8], ebx
mov dword [ebp - 0xccc], ebx
test eax, eax
je 0xcc6d10
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [ebp - 0xcc4], ebx
mov ecx, dword [ebp - 0xc04]
mov dword [ebp - 0xc08], ebx
mov dword [ebp - 0xc0c], ebx
test ecx, ecx
je 0xcc6d3b
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [ebp - 0xc04], ebx
test edi, edi
je 0xcc6d4e
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xaa4]
test eax, eax
je 0xcc6d67
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc3b21
mov eax, dword [ebp - 0xab0]
test eax, eax
je 0xccd880
mov dword [0xd09360], eax
mov esi, 0x104
push esi
lea eax, [ebp - 0x2c8]
push eax
push 0xb10000
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
test eax, eax
je 0xccb6ff
cmp eax, esi
jne 0xcc6db5
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x7a
je 0xccb6ff
mov esi, dword [0xd0807c]
mov ecx, esi
push 0x403
push ebx
push ebx
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xad8], eax
test eax, eax
jne 0xcc6de1
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0xccb6ff
mov esi, dword [0xd0804c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [0xd09358], eax
mov eax, dword [0xd09360]
push 0x54
mov dword [ebp - 0xad4], eax
lea eax, [ebp - 0x778]
push ebx
push eax
mov dword [0xd0935c], edx
call fcn.00bc259b
xor eax, eax
mov dword [ebp - 0xd90], ebx
lea edi, [ebp - 0xc30]
mov dword [ebp - 0xd8c], ebx
stosd dword es:[edi], eax
add esp, 0xc
mov dword [ebp - 0xabc], ebx
stosd dword es:[edi], eax
push 0x2c
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x4fc]
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0xbac], ebx
mov edx, 0xd0aed4
xor eax, eax
lea ecx, [eax + 1]
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xcc6e54
mov eax, dword [0xd0a150]
test eax, eax
jne 0xcc7469
push 0x338
push ebx
mov dword [ebp - 0xaa0], ebx
mov dword [ebp - 0xac0], ebx
mov dword [ebp - 0xad0], ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xb20], eax
test eax, eax
je 0xcc7408
or dword [ebp - 0xaa8], 0xffffffff
mov edi, ebx
add eax, 7
mov dword [ebp - 0x3e0], 0xab69605e
mov cl, bl
mov dword [ebp - 0x3dc], 0x7f1137f
mov dword [ebp - 0xaa4], ebx
mov esi, 0xb2bef2
mov dword [ebp - 0xb58], ebx
mov dword [ebp - 0xb94], edi
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xab4], 0x67
movzx ebx, byte [esi - 2]
movzx eax, byte [esi - 1]
movzx edx, byte [esi + 2]
shl edx, 8
shl ebx, 8
or ebx, eax
movzx eax, byte [esi]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 3]
or edx, eax
mov dword [ebp - 0xae8], ebx
movzx eax, byte [esi + 4]
xor edi, ebx
shl edx, 8
mov ebx, 0xab69605e
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 8
add esi, 8
or edx, eax
mov dword [ebp - 0xaf4], esi
mov esi, edx
mov dword [ebp - 0xac8], edx
xor esi, dword [ebp - 0xb58]
xor esi, edi
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
xor edi, edx
lea eax, [edi + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, edi
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor edi, edx
mov eax, edi
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, ebx
sub eax, edx
xor edi, eax
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
xor edi, edx
lea eax, [edi + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, ebx
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, edi
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor edi, eax
mov dword [ebp - 0xadc], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0xadc]
xor edi, ebx
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, edi
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [esi - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, esi
rol eax, 7
add edx, eax
xor edi, edx
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 7
add edx, eax
xor edi, edx
mov ebx, edi
xor ebx, esi
xor ebx, 0xac987321
mov eax, ebx
ror eax, 3
sub eax, 0xab69
imul eax, eax, 0x137f
xor edi, eax
lea eax, [edi - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, edi
ror eax, 6
sub edx, eax
xor ebx, edx
lea eax, [ebx - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, ebx
rol eax, 0xe
add edx, eax
xor edi, edx
lea eax, [edi - 0x54969fa2]
mov esi, dword [ebp - 0xaf4]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, ebx
shr eax, 3
xor edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, edi
xor edi, dword [ebp - 0xaa8]
rol eax, 2
mov dword [ebp - 0xb58], edi
xor edx, eax
xor edx, dword [ebp - 0xaa4]
xor ebx, edx
mov edx, dword [ebp - 0xaac]
mov dword [ebp - 0xb94], ebx
mov byte [edx - 4], bl
mov al, byte [ebp - 0xb58]
ror dword [ebp - 0xb94], 8
mov byte [edx], al
mov al, byte [ebp - 0xb94]
ror dword [ebp - 0xb58], 8
mov byte [edx - 5], al
mov al, byte [ebp - 0xb58]
ror dword [ebp - 0xb94], 8
mov byte [edx - 1], al
mov al, byte [ebp - 0xb94]
ror dword [ebp - 0xb58], 8
mov byte [edx - 6], al
mov al, byte [ebp - 0xb58]
ror dword [ebp - 0xb94], 8
mov byte [edx - 2], al
mov al, byte [ebp - 0xb94]
ror dword [ebp - 0xb58], 8
mov byte [edx - 7], al
mov al, byte [ebp - 0xb58]
mov byte [edx - 3], al
add edx, 8
mov edi, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xae8]
ror dword [ebp - 0xb58], 8
ror edi, 8
sub dword [ebp - 0xab4], 1
mov dword [ebp - 0xaa4], eax
mov eax, dword [ebp - 0xac8]
mov dword [ebp - 0xb94], edi
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaac], edx
jne 0xcc6eea
mov esi, dword [ebp - 0xb20]
xor ebx, ebx
mov eax, ebx
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xcc7229
movzx eax, cl
cdq
cmp eax, dword [0xb2c228]
jne 0xcc7257
cmp edx, dword [0xb2c22c]
jne 0xcc7257
mov dword [ebp - 0xac0], esi
mov edi, 0x337
mov esi, ebx
jmp 0xcc7264
mov dword [ebp - 0xad0], 0xc004d501
or edi, 0xffffffff
test esi, esi
je 0xcc7277
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
cmp dword [ebp - 0xad0], ebx
jl 0xcc7408
mov eax, dword [ebp - 0xac0]
mov esi, eax
push 0x40
push ebx
push 0xd0ae80
mov byte [edi + eax], bl
call fcn.00bc259b
mov eax, esi
add esp, 0xc
cmp byte [eax], bl
je 0xcc740f
mov edi, 0xd0ae80
mov ecx, esi
mov edx, esi
lea eax, [ecx + 2]
mov dword [ebp - 0xaa4], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xcc72ba
sub ecx, dword [ebp - 0xaa4]
sar ecx, 1
push edi
push edx
push ebx
lea esi, [esi + ecx*2]
add esi, 2
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xcc7408
mov eax, dword [edi]
mov ecx, 0x5a4d
mov edx, ebx
mov dword [ebp - 0xab8], edx
cmp word [eax], cx
je 0xcc7305
mov edx, 0xc000007b
mov dword [ebp - 0xab8], edx
jmp 0xcc734d
mov ecx, dword [eax + 0x3c]
cmp ecx, 0x10000000
jae 0xcc72f8
add ecx, dword [edi]
cmp ecx, dword [edi]
jb 0xcc72f8
cmp dword [ecx], 0x4550
jne 0xcc72f8
movzx eax, word [ecx + 0x18]
cmp ax, word [ebp - 0xc48]
je 0xcc733b
cmp ax, word [ebp - 0xc4c]
je 0xcc733b
mov edx, 0xc000000d
jmp 0xcc72fd
mov eax, dword [ecx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi]
push 4
pop ecx
add esi, ecx
mov dword [ebp - 0xab4], eax
mov dword [ebp - 0xaa4], ebx
test eax, eax
je 0xcc73ef
mov ecx, esi
mov dword [ebp - 0xbe8], ebx
mov dword [ebp - 0xaac], esi
lea eax, [ecx + 1]
mov dword [ebp - 0xaa8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcc737f
sub ecx, dword [ebp - 0xaa8]
inc esi
add esi, ecx
test edx, edx
js 0xcc73c9
mov ecx, dword [ebp - 0xaac]
lea eax, [ebp - 0xbe8]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov edx, eax
mov dword [ebp - 0xab8], edx
test edx, edx
js 0xcc73fa
mov eax, dword [ebp - 0xaa0]
mov ecx, dword [ebp - 0xbe8]
mov dword [eax*4 + section..data], ecx
jmp 0xcc73cf
mov eax, dword [ebp - 0xaa0]
inc eax
mov dword [ebp - 0xaa0], eax
mov eax, dword [ebp - 0xaa4]
inc eax
mov dword [ebp - 0xaa4], eax
cmp eax, dword [ebp - 0xab4]
jb 0xcc7368
add edi, 0x10
cmp byte [esi], bl
jne 0xcc72ad
mov esi, dword [ebp - 0xab8]
mov eax, dword [ebp - 0xac0]
jmp 0xcc7411
mov esi, 0xc000007a
jmp 0xcc7400
mov esi, ebx
test eax, eax
je 0xcc7424
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
jns 0xcc7464
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcc743b
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcc742a
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xcc746f
mov eax, dword [0xd0a150]
inc eax
mov dword [0xd0a150], eax
xor eax, eax
mov edx, 0xd0aed4
xchg dword [edx], eax
xor eax, eax
mov dword [ebp - 0xa], ebx
lea edi, [ebp - 0xc90]
mov dword [ebp - 0xae0], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0xae4], ebx
mov dword [ebp - 0xadc], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xda4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea ecx, [eax + 1]
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xcc74a4
mov eax, dword [0xd0a150]
test eax, eax
jne 0xcc7ad6
push 0x338
push ebx
mov dword [ebp - 0xaa0], ebx
mov dword [ebp - 0xac0], ebx
mov dword [ebp - 0xad0], ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xaf4], eax
test eax, eax
je 0xcc7a75
or dword [ebp - 0xaa8], 0xffffffff
mov edi, ebx
add eax, 7
mov dword [ebp - 0x3d8], 0xab69605e
mov cl, bl
mov dword [ebp - 0x3d4], 0x7f1137f
mov dword [ebp - 0xaa4], ebx
mov esi, 0xb2bef2
mov dword [ebp - 0xb6c], ebx
mov dword [ebp - 0xb90], edi
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xab4], 0x67
movzx edx, byte [esi - 2]
movzx eax, byte [esi - 1]
movzx ebx, byte [esi + 2]
shl edx, 8
or edx, eax
shl ebx, 8
movzx eax, byte [esi]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 3]
or ebx, eax
mov dword [ebp - 0xae8], edx
movzx eax, byte [esi + 4]
xor edi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 5]
add esi, 8
shl ebx, 8
or ebx, eax
mov dword [ebp - 0xac8], esi
mov esi, edi
xor esi, ebx
xor esi, dword [ebp - 0xb6c]
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
xor edi, edx
lea eax, [edi + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, edi
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor edi, edx
mov eax, edi
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
xor edi, eax
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
xor edi, edx
lea eax, [edi + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, edi
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, edi
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor edi, eax
mov dword [ebp - 0xab8], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0xab8]
xor edi, 0xab69605e
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, edi
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [esi - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, esi
rol eax, 7
add edx, eax
xor edi, edx
mov eax, edi
mov edx, edi
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor esi, edx
mov eax, esi
mov dword [ebp - 0xab8], esi
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 7
add edx, eax
mov eax, esi
xor edi, edx
xor eax, edi
xor eax, 0xac987321
mov dword [ebp - 0xab8], eax
ror eax, 3
sub eax, 0xab69
mov esi, dword [ebp - 0xab8]
imul eax, eax, 0x137f
xor edi, eax
lea eax, [edi - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, edi
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
xor edi, edx
lea eax, [edi - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
mov dword [ebp - 0xab8], esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
xor edi, edx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, edi
xor edi, dword [ebp - 0xaa8]
rol eax, 2
mov dword [ebp - 0xb6c], edi
mov dword [ebp - 0xaa8], ebx
xor edx, eax
mov eax, esi
xor edx, dword [ebp - 0xaa4]
xor eax, edx
mov esi, dword [ebp - 0xac8]
mov edx, dword [ebp - 0xaac]
mov dword [ebp - 0xb90], eax
mov byte [edx - 4], al
mov al, byte [ebp - 0xb6c]
ror dword [ebp - 0xb90], 8
mov byte [edx], al
mov al, byte [ebp - 0xb90]
ror dword [ebp - 0xb6c], 8
mov byte [edx - 5], al
mov al, byte [ebp - 0xb6c]
ror dword [ebp - 0xb90], 8
mov byte [edx - 1], al
mov al, byte [ebp - 0xb90]
ror dword [ebp - 0xb6c], 8
mov byte [edx - 6], al
mov al, byte [ebp - 0xb6c]
ror dword [ebp - 0xb90], 8
mov byte [edx - 2], al
mov al, byte [ebp - 0xb90]
ror dword [ebp - 0xb6c], 8
mov byte [edx - 7], al
mov al, byte [ebp - 0xb6c]
mov byte [edx - 3], al
add edx, 8
mov eax, dword [ebp - 0xb90]
ror dword [ebp - 0xb6c], 8
ror eax, 8
sub dword [ebp - 0xab4], 1
mov dword [ebp - 0xab8], eax
mov edi, dword [ebp - 0xab8]
mov dword [ebp - 0xb90], eax
mov eax, dword [ebp - 0xae8]
mov dword [ebp - 0xaa4], eax
mov dword [ebp - 0xaac], edx
jne 0xcc753a
mov esi, dword [ebp - 0xaf4]
xor ebx, ebx
mov eax, ebx
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xcc7896
movzx eax, cl
cdq
cmp eax, dword [0xb2c228]
jne 0xcc78c4
cmp edx, dword [0xb2c22c]
jne 0xcc78c4
mov dword [ebp - 0xac0], esi
mov edi, 0x337
mov esi, ebx
jmp 0xcc78d1
mov dword [ebp - 0xad0], 0xc004d501
or edi, 0xffffffff
test esi, esi
je 0xcc78e4
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
cmp dword [ebp - 0xad0], ebx
jl 0xcc7a75
mov eax, dword [ebp - 0xac0]
mov esi, eax
push 0x40
push ebx
push 0xd0ae80
mov byte [edi + eax], bl
call fcn.00bc259b
mov eax, esi
add esp, 0xc
cmp byte [eax], bl
je 0xcc7a7c
mov edi, 0xd0ae80
mov ecx, esi
mov edx, esi
lea eax, [ecx + 2]
mov dword [ebp - 0xaa4], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xcc7927
sub ecx, dword [ebp - 0xaa4]
sar ecx, 1
push edi
push edx
push ebx
lea esi, [esi + ecx*2]
add esi, 2
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xcc7a75
mov eax, dword [edi]
mov ecx, 0x5a4d
mov edx, ebx
mov dword [ebp - 0xab8], edx
cmp word [eax], cx
je 0xcc7972
mov edx, 0xc000007b
mov dword [ebp - 0xab8], edx
jmp 0xcc79ba
mov ecx, dword [eax + 0x3c]
cmp ecx, 0x10000000
jae 0xcc7965
add ecx, dword [edi]
cmp ecx, dword [edi]
jb 0xcc7965
cmp dword [ecx], 0x4550
jne 0xcc7965
movzx eax, word [ecx + 0x18]
cmp ax, word [ebp - 0xc48]
je 0xcc79a8
cmp ax, word [ebp - 0xc4c]
je 0xcc79a8
mov edx, 0xc000000d
jmp 0xcc796a
mov eax, dword [ecx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi]
push 4
pop ecx
add esi, ecx
mov dword [ebp - 0xab4], eax
mov dword [ebp - 0xaa4], ebx
test eax, eax
je 0xcc7a5c
mov ecx, esi
mov dword [ebp - 0xbe4], ebx
mov dword [ebp - 0xaac], esi
lea eax, [ecx + 1]
mov dword [ebp - 0xaa8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcc79ec
sub ecx, dword [ebp - 0xaa8]
inc esi
add esi, ecx
test edx, edx
js 0xcc7a36
mov ecx, dword [ebp - 0xaac]
lea eax, [ebp - 0xbe4]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov edx, eax
mov dword [ebp - 0xab8], edx
test edx, edx
js 0xcc7a67
mov eax, dword [ebp - 0xaa0]
mov ecx, dword [ebp - 0xbe4]
mov dword [eax*4 + section..data], ecx
jmp 0xcc7a3c
mov eax, dword [ebp - 0xaa0]
inc eax
mov dword [ebp - 0xaa0], eax
mov eax, dword [ebp - 0xaa4]
inc eax
mov dword [ebp - 0xaa4], eax
cmp eax, dword [ebp - 0xab4]
jb 0xcc79d5
add edi, 0x10
cmp byte [esi], bl
jne 0xcc791a
mov esi, dword [ebp - 0xab8]
mov eax, dword [ebp - 0xac0]
jmp 0xcc7a7e
mov esi, 0xc000007a
jmp 0xcc7a6d
mov esi, ebx
test eax, eax
je 0xcc7a91
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
jns 0xcc7ad1
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcc7aa8
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcc7a97
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xcc7adc
mov eax, dword [0xd0a150]
inc eax
mov dword [0xd0a150], eax
xor eax, eax
mov ecx, 0xd0aed4
xchg dword [ecx], eax
push 0x54
lea eax, [ebp - 0x778]
push ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0xad4]
add esp, 0xc
mov esi, dword [0xd0807c]
mov ecx, eax
mov dword [ebp - 0xc30], ebx
push 0xf
pop edx
and ecx, edx
mov dword [ebp - 0xac4], ecx
mov ecx, eax
shr ecx, 4
and ecx, edx
mov word [ebp - 0xc], cx
mov ecx, eax
shr ecx, 8
push 0x403
and ecx, edx
shr eax, 0xc
push ebx
mov word [ebp - 0xa], cx
and eax, edx
push ebx
mov ecx, esi
mov word [ebp - 8], ax
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xa9c], eax
mov dword [ebp - 0xab8], 0xffffff
test eax, eax
jne 0xcc7b92
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc7b7d
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc9187
mov dword [ebp - 0xa98], 0x80004005
jmp 0xcc9187
mov esi, dword [0xd08050]
mov eax, ebx
mov dword [ebp - 0xa98], eax
mov edi, ebx
lea eax, [ebp - 0xc68]
mov dword [ebp - 0xac8], edi
push eax
push ebx
lea eax, [ebp - 0xc20]
mov dword [ebp - 0xc1c], ebx
push eax
push 8
mov ecx, esi
mov dword [ebp - 0xae8], ebx
mov dword [ebp - 0xab0], ebx
mov dword [ebp - 0xc68], ebx
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc7c18
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0xa98], esi
test esi, esi
jle 0xcc7c02
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0xa98], esi
test esi, esi
js 0xcc7d92
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8501
mov eax, dword [ebp - 0xc68]
add eax, eax
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xaa0], eax
test eax, eax
jne 0xcc7c40
mov edi, 0x8007000e
jmp 0xcc7c0d
mov eax, dword [ebp - 0xc20]
lea eax, [eax*4 + 4]
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xaac], eax
test eax, eax
je 0xcc7dcc
mov ebx, dword [0xd08050]
mov esi, eax
lea eax, [ebp - 0xc68]
mov ecx, ebx
push eax
push dword [ebp - 0xaa0]
lea eax, [ebp - 0xc20]
push eax
push 8
call dword [0xd0cffc]
call ebx
test eax, eax
jne 0xcc7cca
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [ebp - 0xa98], eax
test eax, eax
jle 0xcc7cb6
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xa98], eax
test eax, eax
js 0xcc7cc3
mov eax, 0x80004005
mov dword [ebp - 0xa98], eax
xor ebx, ebx
jmp 0xcc7d65
mov eax, dword [ebp - 0xaac]
xor ebx, ebx
mov edx, eax
mov edi, dword [ebp - 0xaa0]
mov dword [ebp - 0xaa4], edx
mov dword [ebp - 0xaa8], ebx
cmp dword [ebp - 0xc20], ebx
jbe 0xcc7d48
mov esi, dword [0xd08058]
mov ecx, esi
push ebx
push edi
call dword [0xd0cffc]
call esi
mov edx, dword [ebp - 0xaa4]
mov ecx, edi
mov dword [edx], eax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xcc7d0d
sub ecx, esi
sar ecx, 1
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0xaa8]
lea edi, [edi + ecx*2]
mov dword [ebp - 0xaa4], edx
add edi, 2
inc eax
mov dword [ebp - 0xaa8], eax
cmp eax, dword [ebp - 0xc20]
jb 0xcc7cee
mov eax, dword [ebp - 0xaac]
mov edi, eax
mov dword [ebp - 0xac8], eax
mov dword [edx], 0x409
mov esi, ebx
mov eax, dword [ebp - 0xc20]
inc eax
mov dword [ebp - 0xaa4], eax
test esi, esi
je 0xcc7d78
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov esi, dword [ebp - 0xa98]
push dword [ebp - 0xaa0]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcc84fb
cmp dword [ebp - 0xaa4], 0
mov esi, ebx
mov dword [ebp - 0xaa0], esi
mov edx, ebx
jbe 0xcc7de1
mov ecx, ebx
mov eax, dword [edi + edx*4]
cmp eax, dword [ecx*4 + 0xb40a18]
je 0xcc7dd9
inc ecx
cmp ecx, 0x26
jb 0xcc7daf
inc edx
cmp edx, dword [ebp - 0xaa4]
jb 0xcc7dad
jmp 0xcc7de1
mov esi, 0x8007000e
mov dword [ebp - 0xa98], esi
jmp 0xcc7d7e
mov esi, ecx
mov dword [ebp - 0xaa0], ecx
push ebx
push 0x55
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xad0], ebx
push eax
push dword [esi*4 + 0xb40a18]
mov esi, dword [0xd08054]
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc7e46
mov esi, dword [0xd08048]
lea eax, [ebp - 0x640]
push 0x10
push eax
push 0x58
lea eax, [ebp - 0xc0]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
test eax, eax
jle 0xcc7e46
mov edi, dword [ebp - 0x634]
xor eax, eax
shr edi, 0x1b
inc eax
and edi, eax
mov dword [ebp - 0xad0], edi
mov edx, 0xb2fcd8
mov esi, ebx
mov ecx, edx
mov dword [ebp + esi*4 - 0x350], edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xcc7e59
sub ecx, edi
sar ecx, 1
lea edx, [edx + ecx*2]
add edx, 2
inc esi
cmp esi, 0x13
jb 0xcc7e4d
imul ecx, dword [ebp - 0xaa0], 3
movzx eax, byte [ecx + 0xb320b0]
mov eax, dword [ebp + eax*4 - 0x350]
mov dword [ebp - 0xc90], eax
movzx eax, byte [ecx + 0xb320b1]
mov eax, dword [ebp + eax*4 - 0x350]
mov dword [ebp - 0xc8c], eax
movzx eax, byte [ecx + 0xb320b2]
mov eax, dword [ebp + eax*4 - 0x350]
mov dword [ebp - 0xc88], eax
push 0x1c90
mov eax, ebx
push ebx
mov dword [ebp - 0xa98], eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, eax
mov dword [ebp - 0xb4c], ecx
test ecx, ecx
je 0xcc7c39
or dword [ebp - 0xaa8], 0xffffffff
mov edi, ebx
add ecx, 7
mov dword [ebp - 0x3d0], 0xab69605e
mov al, bl
mov dword [ebp - 0x3cc], 0x7f1137f
mov dword [ebp - 0xaa4], ebx
mov esi, 0xb40ac2
mov dword [ebp - 0xb68], ebx
mov dword [ebp - 0xb8c], edi
mov dword [ebp - 0xaac], ecx
mov dword [ebp - 0xab4], 0x392
movzx ebx, byte [esi - 2]
movzx ecx, byte [esi - 1]
movzx edx, byte [esi + 2]
shl edx, 8
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esi]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esi + 1]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esi + 3]
or edx, ecx
mov dword [ebp - 0xb20], ebx
movzx ecx, byte [esi + 4]
xor edi, ebx
shl edx, 8
mov ebx, 0xab69605e
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 8
add esi, 8
or edx, ecx
mov dword [ebp - 0xb0c], esi
mov esi, edx
mov dword [ebp - 0xad4], edx
xor esi, dword [ebp - 0xb68]
xor esi, edi
xor esi, 0xac987321
lea ecx, [esi + 0x54969fa2]
rol ecx, 5
imul edx, ecx, 0x137f
mov ecx, esi
rol ecx, 0xa
add edx, ecx
xor edi, edx
lea ecx, [edi + 0x7f1137f]
ror ecx, 9
imul edx, ecx, 0xab69
mov ecx, edi
rol ecx, 2
sub edx, ecx
xor esi, edx
imul edx, esi, 0x605e
mov ecx, esi
shr ecx, 0xd
sub edx, ecx
sub edx, 0x756c8a2
xor edi, edx
mov ecx, edi
xor ecx, 0xab69
rol ecx, 6
imul edx, ecx, 0x7f1
mov ecx, edi
rol ecx, 2
sub edx, ecx
mov ecx, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, ebx
sub ecx, edx
xor edi, ecx
mov ecx, edi
mov edx, edi
xor ecx, 0x137f
ror edx, 6
imul ecx, ecx, 0xab69
xor edx, ecx
xor esi, edx
lea ecx, [esi + 0x7f1137f]
ror ecx, 0xf
imul edx, ecx, 0x605e
mov ecx, esi
rol ecx, 2
add edx, ecx
xor edi, edx
lea ecx, [edi + 0x54969fa2]
ror ecx, 0xe
imul edx, ecx, 0x7f1
mov ecx, edi
rol ecx, 8
sub edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, ebx
ror ecx, 0xc
imul edx, ecx, 0x137f
mov ecx, esi
ror ecx, 0xa
xor edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, edi
shr ecx, 0xa
xor edx, ecx
xor esi, edx
mov ecx, esi
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor edi, ecx
mov dword [ebp - 0xaf4], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0xaf4]
xor edi, ebx
mov ecx, edi
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, edi
shr ecx, 2
add edx, ecx
xor esi, edx
lea ecx, [esi - 0x7f1137f]
ror ecx, 6
imul edx, ecx, 0xab69
mov ecx, esi
rol ecx, 7
add edx, ecx
xor edi, edx
mov ecx, edi
mov edx, edi
xor ecx, 0x137f
ror edx, 9
imul ecx, ecx, 0x605e
add edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, 0xab69
rol ecx, 5
imul edx, ecx, 0x7f1
mov ecx, esi
rol ecx, 7
add edx, ecx
xor edi, edx
mov ebx, edi
xor ebx, esi
xor ebx, 0xac987321
mov ecx, ebx
ror ecx, 3
sub ecx, 0xab69
imul ecx, ecx, 0x137f
xor edi, ecx
lea ecx, [edi - 0x7f1137f]
ror ecx, 1
imul edx, ecx, 0x605e
mov ecx, edi
ror ecx, 6
sub edx, ecx
xor ebx, edx
lea ecx, [ebx - 0x54969fa2]
rol ecx, 3
imul edx, ecx, 0x7f1
mov ecx, ebx
rol ecx, 0xe
add edx, ecx
xor edi, edx
lea ecx, [edi - 0x54969fa2]
mov esi, dword [ebp - 0xb0c]
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, edi
ror ecx, 0xe
sub edx, ecx
xor ebx, edx
mov ecx, ebx
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, ebx
shr ecx, 3
xor edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, 0x7f1137f
rol ecx, 4
imul edx, ecx, 0x605e
mov ecx, edi
xor edi, dword [ebp - 0xaa8]
rol ecx, 2
mov dword [ebp - 0xb68], edi
xor edx, ecx
xor edx, dword [ebp - 0xaa4]
xor ebx, edx
mov edx, dword [ebp - 0xaac]
mov dword [ebp - 0xb8c], ebx
mov byte [edx - 4], bl
mov cl, byte [ebp - 0xb68]
ror dword [ebp - 0xb8c], 8
mov byte [edx], cl
mov cl, byte [ebp - 0xb8c]
ror dword [ebp - 0xb68], 8
mov byte [edx - 5], cl
mov cl, byte [ebp - 0xb68]
ror dword [ebp - 0xb8c], 8
mov byte [edx - 1], cl
mov cl, byte [ebp - 0xb8c]
ror dword [ebp - 0xb68], 8
mov byte [edx - 6], cl
mov cl, byte [ebp - 0xb68]
ror dword [ebp - 0xb8c], 8
mov byte [edx - 2], cl
mov cl, byte [ebp - 0xb8c]
ror dword [ebp - 0xb68], 8
mov byte [edx - 7], cl
mov cl, byte [ebp - 0xb68]
mov byte [edx - 3], cl
add edx, 8
mov edi, dword [ebp - 0xb8c]
mov ecx, dword [ebp - 0xb20]
ror dword [ebp - 0xb68], 8
ror edi, 8
sub dword [ebp - 0xab4], 1
mov dword [ebp - 0xaa4], ecx
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0xb8c], edi
mov dword [ebp - 0xaa8], ecx
mov dword [ebp - 0xaac], edx
jne 0xcc7f2b
mov ecx, dword [ebp - 0xb4c]
xor ebx, ebx
mov edx, ebx
mov esi, 0x1c90
xor al, byte [edx + ecx]
inc edx
cmp edx, esi
jb 0xcc8279
movzx eax, al
cdq
cmp eax, dword [0xb42750]
jne 0xcc82ab
cmp edx, dword [0xb42754]
jne 0xcc82ab
mov edi, dword [ebp - 0xa98]
mov dword [ebp - 0xc1c], ecx
mov ecx, ebx
mov dword [ebp - 0xae8], esi
jmp 0xcc82b6
mov edi, 0xc004d501
mov dword [ebp - 0xa98], edi
test ecx, ecx
je 0xcc82c9
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test edi, edi
js 0xcc8501
mov edi, dword [ebp - 0xc1c]
mov esi, ebx
mov edx, ebx
cmp dword [ebp - 0xaa0], edx
jne 0xcc82ea
mov dword [ebp + esi*4 - 0x300], edi
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0xaa4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcc82f5
sub ecx, dword [ebp - 0xaa4]
inc edi
add edi, ecx
inc edx
cmp edx, 0x26
jb 0xcc82db
inc esi
cmp esi, 6
jb 0xcc82d9
push 0xc
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edx, eax
mov dword [ebp - 0xaa4], edx
test edx, edx
jne 0xcc833f
mov edi, 0x8007000e
mov esi, ebx
mov dword [ebp - 0xa98], edi
jmp 0xcc8507
mov edi, edx
mov dword [ebp - 0xaa0], ebx
xor eax, eax
mov esi, edx
mov ecx, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
movzx edx, word [ebp + ecx*2 - 0xc]
mov eax, ebx
cmp dx, word [eax*2 + 0xb40ab0]
je 0xcc836c
inc eax
cmp eax, 6
jb 0xcc8357
jmp 0xcc8423
mov edx, dword [ebp + eax*4 - 0x300]
mov ecx, edx
mov dword [ebp - 0xaa8], edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcc837e
sub ecx, edi
mov edi, dword [0xd08060]
push ebx
push ebx
lea eax, [ecx + 1]
mov ecx, edi
push eax
push edx
push ebx
push 0xfde9
call dword [0xd0cffc]
call edi
mov dword [ebp - 0xaac], eax
test eax, eax
je 0xcc845c
lea ecx, [eax + eax]
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, dword [ebp - 0xaa0]
mov edi, eax
mov eax, dword [ebp - 0xaa4]
mov dword [eax + ecx*4], edi
test edi, edi
je 0xcc8455
mov edx, dword [ebp - 0xaa8]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xaa8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcc83ea
push dword [ebp - 0xaac]
sub ecx, dword [ebp - 0xaa8]
push edi
mov edi, dword [0xd08060]
lea eax, [ecx + 1]
mov ecx, edi
push eax
push edx
push ebx
push 0xfde9
call dword [0xd0cffc]
call edi
test eax, eax
je 0xcc845c
mov ecx, dword [ebp - 0xaa0]
inc ecx
mov dword [ebp - 0xaa0], ecx
cmp ecx, 3
jb 0xcc8350
mov eax, dword [ebp - 0xaa4]
mov esi, ebx
mov edi, dword [ebp - 0xa98]
mov dword [ebp - 0xadc], eax
mov eax, dword [ebp - 0xad0]
mov dword [ebp - 0x778], eax
jmp 0xcc848c
mov edi, 0x8007000e
jmp 0xcc8486
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc847f
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc848c
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
test esi, esi
je 0xcc8507
mov eax, ebx
mov dword [ebp - 0xaa0], ebx
mov edx, dword [esi + eax*4]
test edx, edx
je 0xcc84ed
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xaa4], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xcc84aa
sub ecx, dword [ebp - 0xaa4]
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xcc84d0
mov byte [edx], bl
inc edx
sub ecx, 1
jne 0xcc84c8
mov eax, dword [ebp - 0xaa0]
push dword [esi + eax*4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xaa0]
inc eax
mov dword [ebp - 0xaa0], eax
cmp eax, 3
jb 0xcc8498
jmp 0xcc8507
mov edi, dword [ebp - 0xa98]
mov esi, dword [ebp - 0xab0]
mov eax, dword [ebp - 0xc1c]
test eax, eax
je 0xcc8523
mov ecx, dword [ebp - 0xae8]
test ecx, ecx
je 0xcc8523
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0xcc851b
test esi, esi
je 0xcc8536
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xc1c]
test eax, eax
je 0xcc8555
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [ebp - 0xc1c], ebx
mov eax, dword [ebp - 0xac8]
test eax, eax
je 0xcc856e
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test edi, edi
js 0xcc9170
mov eax, dword [ebp - 0xadc]
mov edi, ebx
mov esi, dword [0xd080b4]
push ebx
mov dword [ebp - 0xa98], edi
mov ecx, dword [eax]
mov dword [ebp - 0x770], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x76c], ecx
mov ecx, esi
mov eax, dword [eax + 8]
mov dword [ebp - 0x768], eax
lea eax, [ebp - 0xdb0]
push eax
push ebx
push 0x42
mov dword [ebp - 0xdac], ebx
mov dword [ebp - 0xda8], ebx
mov dword [ebp - 0xdb0], 0xc
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc8607
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc85f6
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
mov eax, ebx
js 0xcc8610
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8610
mov eax, dword [ebp - 0xdac]
and eax, 1
mov dword [ebp - 0x774], eax
test edi, edi
js 0xcc9170
mov eax, dword [ebp - 0xac4]
push 0x2a
pop ecx
mov dword [ebp - 0xb08], ecx
sub eax, 1
je 0xcc865b
sub eax, 1
je 0xcc864f
sub eax, 1
jne 0xcc866b
mov edi, 0xe1
mov dword [ebp - 0xae0], edi
mov dword [ebp - 0xae4], edi
jmp 0xcc866b
mov dword [ebp - 0xae0], 0xf
jmp 0xcc8661
mov dword [ebp - 0xae0], ecx
mov dword [ebp - 0xae4], 0xb
mov esi, 0xdc
mov dword [ebp - 0xab0], 0x60
push esi
lea eax, [ebp - 0x720]
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
mov word [ebp - 0x6dc], si
mov esi, dword [0xd08070]
lea eax, [ebp - 0x720]
mov ecx, esi
push eax
push 0xffffffffffffffff
push ebx
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc86fc
mov eax, dword [ebp - 0x674]
movzx edi, word [ebp - 0x67a]
mov ecx, dword [ebp - 0x670]
push 0x60
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xd9c], eax
pop eax
mov dword [ebp - 0xab0], edi
mov dword [ebp - 0xda0], ebx
mov dword [ebp - 0xda4], ebx
mov dword [ebp - 0xaa8], ecx
mov dword [ebp - 0xd98], ecx
cmp edi, eax
jae 0xcc8714
mov dword [ebp - 0xab0], eax
jmp 0xcc8714
mov eax, dword [ebp - 0xd98]
mov dword [ebp - 0xaa8], eax
mov eax, dword [ebp - 0xd9c]
mov dword [ebp - 0xaa0], eax
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
mov eax, dword [ebp - 0xc90]
je 0xcc872b
mov eax, dword [ebp - 0xc88]
push 0x5c
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0x560]
push ebx
push eax
call fcn.00bc259b
mov esi, dword [0xd0807c]
add esp, 0xc
mov edi, ebx
mov ecx, esi
mov dword [ebp - 0xa98], edi
push 0x403
push ebx
push ebx
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xaac], eax
test eax, eax
jne 0xcc87a4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc878f
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc8859
mov dword [ebp - 0xa98], 0x80004005
jmp 0xcc9170
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x48
push dword [ebp - 0xab0]
push dword [ebp - 0xae0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa4]
neg eax
mov dword [ebp - 0x550], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x544]
mov dword [ebp - 0x560], eax
mov byte [ebp - 0x546], 5
call fcn.00b7db60
mov esi, dword [0xd08010]
lea eax, [ebp - 0x560]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc883c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc882d
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc8842
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8842
mov dword [ebp - 0x764], eax
push dword [ebp - 0xaac]
mov esi, dword [0xd080b0]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
test edi, edi
js 0xcc9170
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
mov eax, dword [ebp - 0xc90]
je 0xcc8878
mov eax, dword [ebp - 0xc88]
push 0x5c
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0x5c0]
push ebx
push eax
call fcn.00bc259b
mov esi, dword [0xd0807c]
add esp, 0xc
mov edi, ebx
mov ecx, esi
mov dword [ebp - 0xa98], edi
push 0x403
push ebx
push ebx
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xaac], eax
test eax, eax
jne 0xcc88e7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc88dc
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc899c
jmp 0xcc8795
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x48
push dword [ebp - 0xab0]
push dword [ebp - 0xae4]
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa4]
neg eax
mov dword [ebp - 0x5b0], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 0x5c0], eax
mov byte [ebp - 0x5a6], 5
call fcn.00b7db60
mov esi, dword [0xd08010]
lea eax, [ebp - 0x5c0]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc897f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc8970
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc8985
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8985
mov dword [ebp - 0x760], eax
push dword [ebp - 0xaac]
mov esi, dword [0xd080b0]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
test edi, edi
js 0xcc9170
mov esi, dword [ebp - 0xac4]
mov eax, ebx
mov ecx, esi
mov edx, ebx
sub ecx, 1
je 0xcc89bf
sub ecx, 1
je 0xcc89fd
sub ecx, 1
jne 0xcc89cb
mov eax, dword [ebp - 0xaa0]
mov edx, dword [ebp - 0xaa8]
mov dword [ebp - 0xc28], eax
mov dword [ebp - 0xc24], edx
xor ecx, ecx
inc ecx
cmp esi, ecx
je 0xcc8a39
jbe 0xcc8a0d
cmp esi, 3
ja 0xcc8a0d
mov edx, ebx
mov dword [ebp - 0xb08], ebx
mov ecx, ebx
mov dword [ebp - 0xae0], edx
mov dword [ebp - 0xae4], ebx
jmp 0xcc8a50
mov eax, dword [ebp - 0xaa0]
push 4
cdq
pop ecx
idiv ecx
mov edx, ebx
jmp 0xcc89cb
mov ecx, dword [ebp - 0xc18]
mov edx, dword [ebp - 0xc18]
mov dword [ebp - 0xae4], ecx
mov ecx, dword [ebp - 0xc18]
mov dword [ebp - 0xb08], ecx
mov ecx, dword [ebp - 0xc18]
mov dword [ebp - 0xae0], edx
jmp 0xcc8a50
mov ecx, 0x96
mov dword [ebp - 0xae0], ebx
mov edx, ebx
mov dword [ebp - 0xae4], 0x20
mov dword [ebp - 0xacc], ecx
push dword [ebp - 0x764]
mov esi, dword [0xd0803c]
sub eax, ecx
push dword [ebp - 0xa9c]
mov edi, dword [ebp - 0x770]
sub eax, edx
mov dword [ebp - 0xafc], eax
mov ecx, esi
mov dword [ebp - 0x73c], eax
mov dword [ebp - 0x74c], eax
mov eax, ebx
mov dword [ebp - 0xa98], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
mov ecx, esi
push ebx
push 0xc50
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0x754]
push eax
push 0xffffffffffffffff
push edi
push dword [ebp - 0xa9c]
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc8ad3
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8ad5
mov edi, ebx
mov eax, dword [ebp - 0xaa4]
test eax, eax
je 0xcc8af6
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push dword [ebp - 0xa9c]
call dword [0xd0cffc]
call esi
test edi, edi
js 0xcc9170
push dword [ebp - 0x760]
mov esi, dword [0xd0803c]
mov eax, ebx
push dword [ebp - 0xa9c]
mov edi, dword [ebp - 0x76c]
mov ecx, esi
mov dword [ebp - 0xa98], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
mov ecx, esi
push ebx
push 0xc50
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0x744]
push eax
push 0xffffffffffffffff
push edi
push dword [ebp - 0xa9c]
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc8b65
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8b67
mov edi, ebx
mov eax, dword [ebp - 0xaa4]
test eax, eax
je 0xcc8b88
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push dword [ebp - 0xa9c]
call dword [0xd0cffc]
call esi
test edi, edi
js 0xcc9170
mov eax, dword [ebp - 0xac4]
cmp eax, 2
je 0xcc8ba0
cmp eax, 3
jne 0xcc8bc2
mov edi, dword [ebp - 0x73c]
mov dword [ebp - 0xafc], edi
cmp dword [ebp - 0x74c], edi
jle 0xcc8bc8
mov edi, dword [ebp - 0x74c]
mov dword [ebp - 0xafc], edi
jmp 0xcc8bc8
mov edi, dword [ebp - 0xafc]
cmp dword [ebp - 0x778], 0
mov esi, dword [0xd080a8]
mov ecx, esi
push dword [ebp - 0xb08]
je 0xcc8c1b
mov eax, edi
sub eax, dword [ebp - 0x74c]
add eax, dword [ebp - 0xae0]
push eax
lea eax, [ebp - 0x754]
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x748]
add eax, dword [ebp - 0xae4]
push eax
mov eax, edi
sub eax, dword [ebp - 0x73c]
add eax, dword [ebp - 0xae0]
push eax
jmp 0xcc8c43
push dword [ebp - 0xacc]
lea eax, [ebp - 0x754]
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x748]
add eax, dword [ebp - 0xae4]
push eax
push dword [ebp - 0xacc]
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x744]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0xac4]
cmp eax, 2
je 0xcc8f5f
cmp eax, 3
je 0xcc8f5f
xor edx, edx
inc edx
cmp eax, edx
jne 0xcc8f7e
push 0x5c
lea eax, [ebp - 0x620]
mov dword [ebp - 0x758], 0xffffff
push ebx
push eax
call fcn.00bc259b
mov esi, dword [0xd0807c]
add esp, 0xc
mov edi, ebx
mov ecx, esi
mov dword [ebp - 0xa98], edi
push 0x403
push ebx
push ebx
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xaa4], eax
test eax, eax
jne 0xcc8cf0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc8ce5
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc8da1
jmp 0xcc8795
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x48
push dword [ebp - 0xab0]
push 0xb
call dword [0xd0cffc]
call esi
push dword [ebp - 0xc8c]
neg eax
mov dword [ebp - 0x610], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x604]
mov dword [ebp - 0x620], eax
mov byte [ebp - 0x606], 5
call fcn.00b7db60
mov esi, dword [0xd08010]
lea eax, [ebp - 0x620]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc8d84
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0xa98], edi
test edi, edi
jle 0xcc8d75
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0xa98], edi
test edi, edi
js 0xcc8d8a
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8d8a
mov dword [ebp - 0x75c], eax
push dword [ebp - 0xaa4]
mov esi, dword [0xd080b0]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
test edi, edi
js 0xcc9170
push dword [ebp - 0x75c]
mov eax, dword [ebp - 0xafc]
push dword [ebp - 0xa9c]
mov esi, dword [0xd0803c]
mov ecx, esi
mov edi, dword [ebp - 0x768]
mov dword [ebp - 0x72c], eax
mov eax, ebx
mov dword [ebp - 0xa98], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
mov ecx, esi
push ebx
push 0x460
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0x734]
push eax
push 0xffffffffffffffff
push edi
push dword [ebp - 0xa9c]
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc8e1c
mov edi, 0x80004005
mov dword [ebp - 0xa98], edi
jmp 0xcc8e1e
mov edi, ebx
mov eax, dword [ebp - 0xaa4]
test eax, eax
je 0xcc8e3f
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push dword [ebp - 0xa9c]
call dword [0xd0cffc]
call esi
test edi, edi
js 0xcc9170
mov eax, dword [ebp - 0x72c]
push 0x5a
add eax, 0x18
pop ecx
mov dword [ebp - 0x72c], eax
cmp eax, ecx
jge 0xcc8e63
mov dword [ebp - 0x72c], ecx
mov edi, dword [ebp - 0xab0]
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x60
push edi
push dword [ebp - 0x734]
mov dword [ebp - 0x728], 0x20
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x60
push edi
push dword [ebp - 0x730]
mov dword [ebp - 0x734], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x60
push edi
push dword [ebp - 0x72c]
mov dword [ebp - 0x730], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x60
push edi
push dword [ebp - 0x728]
mov dword [ebp - 0x72c], eax
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0x778], 0
mov dword [ebp - 0x728], eax
je 0xcc8f30
mov ecx, dword [ebp - 0x754]
cmp ecx, dword [ebp - 0x744]
jl 0xcc8f0c
mov ecx, dword [ebp - 0x744]
mov eax, dword [ebp - 0x738]
add eax, 0x24
push eax
push ecx
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x734]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
jmp 0xcc8f7b
mov ecx, dword [ebp - 0x74c]
cmp ecx, dword [ebp - 0x73c]
jg 0xcc8f44
mov ecx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x738]
add eax, 0x24
push eax
mov eax, dword [ebp - 0x734]
sub eax, dword [ebp - 0x72c]
add eax, ecx
push eax
jmp 0xcc8f17
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0xc28], edi
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0x758], 0xffa8a8a8
xor edx, edx
inc edx
mov eax, dword [ebp - 0x778]
lea edi, [ebp - 0xea0]
mov dword [ebp - 0xaac], eax
mov eax, dword [ebp - 0xc24]
mov dword [ebp - 0xaa8], eax
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xaa4], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0xac4]
sub eax, 1
je 0xcc915e
sub eax, 1
je 0xcc9085
sub eax, 1
jne 0xcc916a
mov esi, dword [0xd080a4]
lea edi, [ebp - 0x420]
push 0xa
pop ecx
rep stosd dword es:[edi], eax
push edx
push ebx
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08084]
lea ecx, [ebp - 0x420]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x420], 0x28
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc916a
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x40c]
push eax
push ebx
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x404]
push eax
push ebx
mov ecx, esi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x404]
lea esi, [ebp - 0x40c]
sub eax, dword [ebp - 0xaa4]
lea edi, [ebp - 0xea0]
imul eax, eax, 0x32
push 0x64
pop ecx
movsd dword es:[edi], dword [esi]
cdq
idiv ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0xaa8]
movsd dword es:[edi], dword [esi]
imul eax, eax, 0x32
movsd dword es:[edi], dword [esi]
jmp 0xcc9153
mov esi, dword [0xd080a4]
lea edi, [ebp - 0x3c8]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
push edx
push ebx
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08084]
lea ecx, [ebp - 0x3c8]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x3c8], 0x28
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc916a
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x3b4]
push eax
push ebx
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x3ac]
push eax
push ebx
mov ecx, esi
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0xaac], 0
lea esi, [ebp - 0x3b4]
lea edi, [ebp - 0xea0]
movsd dword es:[edi], dword [esi]
push 0x64
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0xcc912c
imul eax, dword [ebp - 0x3ac], 5
cdq
idiv ecx
add eax, dword [ebp - 0x3b4]
jmp 0xcc913e
mov eax, dword [ebp - 0x3ac]
sub eax, dword [ebp - 0xaa4]
imul eax, eax, 0x5f
cdq
idiv ecx
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0xaa8]
imul eax, eax, 0x5f
cdq
idiv ecx
mov dword [ebp - 0xc2c], eax
jmp 0xcc916a
mov dword [ebp - 0xc30], ebx
mov dword [ebp - 0xc2c], ebx
mov dword [ebp - 0xa98], ebx
push dword [ebp - 0xa9c]
mov esi, dword [0xd080b0]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
xor esi, esi
mov edi, 0xd0aed4
inc esi
mov ecx, esi
xor eax, eax
lock cmpxchg dword [edi], ecx
test eax, eax
jne 0xcc918f
mov eax, dword [0xd0a150]
test eax, eax
jle 0xcc91f0
sub eax, 1
mov dword [0xd0a150], eax
jne 0xcc91f0
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcc91c1
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcc91b0
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
xor esi, esi
mov edi, 0xd0aed4
inc esi
xor eax, eax
xchg dword [edi], eax
mov eax, dword [ebp - 0xadc]
test eax, eax
je 0xcc920d
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xa98]
test eax, eax
js 0xccae07
mov eax, dword [ebp - 0xc2c]
mov edi, dword [ebp - 0xc30]
push 0x54
mov dword [ebp - 0xaa4], eax
mov dword [ebp - 0xd8c], eax
lea eax, [ebp - 0x7d0]
push ebx
push eax
mov dword [ebp - 0xd90], edi
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0xaa8], esi
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push dword [ebp - 0xad8]
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc92b2
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x7d0]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc92b2
push 0x20
pop eax
cmp word [ebp - 0x7be], ax
jne 0xcc92b2
cmp dword [ebp - 0x7bc], 0
je 0xcc92b2
cmp dword [ebp - 0x7cc], 0
jle 0xcc92b2
cmp dword [ebp - 0x7c8], 0
jg 0xcc92c1
cmp dword [ebp - 0xac4], 1
mov dword [ebp - 0xaa8], ebx
jne 0xcc9335
push dword [ebp - 0xaa4]
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x754]
push edi
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa4]
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x744]
push edi
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov edi, dword [ebp - 0xac4]
cmp edi, 1
jne 0xcc933b
mov eax, dword [ebp - 0x774]
mov esi, dword [0xd08014]
neg eax
mov ecx, esi
sbb eax, eax
and eax, 0xff4d98e0
add eax, 0xb26720
push eax
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xbac], eax
jmp 0xcc933b
mov edi, dword [ebp - 0xac4]
mov esi, dword [0xd08040]
mov ecx, esi
push 1
push dword [ebp - 0xad8]
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0x778], 0
mov dword [ebp - 0xbb4], eax
mov dword [ebp - 0xafc], 0x810
je 0xcc9376
mov dword [ebp - 0xafc], 0x20812
cmp dword [ebp - 0xaa8], 0
je 0xcc9eb6
mov eax, dword [ebp - 0x774]
mov esi, dword [ebp - 0x770]
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0x764]
push 0x54
mov dword [ebp - 0xaa8], eax
lea eax, [ebp - 0x930]
push ebx
push eax
mov dword [ebp - 0xae8], esi
call fcn.00bc259b
add esp, 0xc
lea eax, [ebp - 0xa90]
push 0x54
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0xad0], ebx
lea eax, [ebp - 0x478]
mov dword [ebp - 0xaac], ebx
mov dword [ebp - 0xae0], ebx
mov dword [ebp - 0xaa4], ebx
push 0x2c
push ebx
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x390]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test esi, esi
je 0xccade7
mov edi, dword [ebp - 0xad8]
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcc9431
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0xccade7
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x930]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc9473
mov eax, dword [ebp - 0x91c]
mov dword [ebp - 0xad0], eax
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0xaa4], eax
mov esi, dword [0xd08008]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov edi, eax
mov dword [ebp - 0xaf4], edi
test edi, edi
je 0xcc9426
push 0x2c
lea eax, [ebp - 0x478]
mov dword [ebp - 0xd24], ebx
push ebx
push eax
mov dword [ebp - 0xae4], ebx
call fcn.00bc259b
mov eax, dword [ebp - 0x74c]
add esp, 0xc
sub eax, dword [ebp - 0x754]
mov esi, dword [0xd0800c]
mov ecx, esi
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x750]
sub eax, dword [ebp - 0x748]
mov dword [ebp - 0x470], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x478], 0x28
mov word [ebp - 0x46c], ax
pop eax
push ebx
push ebx
mov word [ebp - 0x46a], ax
lea eax, [ebp - 0xd24]
push eax
push ebx
lea eax, [ebp - 0x478]
push eax
push edi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xac8], eax
test eax, eax
jne 0xcc9551
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [ebp - 0xae4], eax
test eax, eax
jle 0xcc953c
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xae4], eax
test eax, eax
js 0xcc98fc
mov dword [ebp - 0xae4], 0x80004005
jmp 0xcc98fc
mov esi, dword [0xd08034]
lea ecx, [ebp - 0xa90]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc957b
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0xaac], eax
mov eax, dword [ebp - 0x74c]
sub eax, dword [ebp - 0x754]
push dword [ebp - 0xac8]
mov esi, dword [0xd0803c]
mov ecx, esi
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x748]
sub eax, dword [ebp - 0x750]
push edi
mov dword [ebp - 0x384], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa8]
mov esi, dword [0xd0803c]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
push ebx
mov dword [ebp - 0xb20], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x390]
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
lea eax, [ebp - 0x390]
push ebx
push dword [ebp - 0xafc]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0xae8]
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xcc9673
cmp dword [ebp - 0xab4], 0
je 0xcc9667
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xab0], eax
jmp 0xcc967d
mov dword [ebp - 0xab0], 0xffffff
jmp 0xcc967d
mov dword [ebp - 0xab0], 0xffa8a8a8
mov edi, dword [ebp - 0x754]
mov edx, ebx
mov eax, dword [ebp - 0x750]
mov ecx, ebx
mov dword [ebp - 0xab4], edi
mov dword [ebp - 0xaa8], ebx
test edi, edi
jns 0xcc96af
mov edx, edi
mov dword [ebp - 0xab4], ebx
neg edx
mov edi, ebx
mov dword [ebp - 0xaa8], edx
test eax, eax
jns 0xcc96b9
mov ecx, eax
mov eax, ebx
neg ecx
mov esi, dword [ebp - 0x388]
sub esi, edx
mov edx, dword [ebp - 0xae0]
sub edx, edi
mov dword [ebp - 0xaa0], esi
cmp esi, edx
jl 0xcc96db
mov esi, edx
mov dword [ebp - 0xaa0], edx
mov edi, dword [ebp - 0x384]
mov edx, dword [ebp - 0xaa4]
sub edi, ecx
sub edx, eax
mov dword [ebp - 0xadc], edi
cmp edi, edx
jl 0xcc96fd
mov edi, edx
mov dword [ebp - 0xadc], edx
test esi, esi
jle 0xcc98c4
test edi, edi
jle 0xcc98c4
mov edx, dword [ebp - 0x388]
imul eax, dword [ebp - 0xae0]
mov esi, dword [ebp - 0xaac]
imul ecx, edx
add eax, dword [ebp - 0xab4]
add ecx, dword [ebp - 0xaa8]
lea ecx, [esi + ecx*4]
mov esi, dword [ebp - 0xad0]
mov dword [ebp - 0xae8], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xaa0]
mov dword [ebp - 0xad0], eax
test edi, edi
jle 0xcc98c4
shl edx, 2
mov dword [ebp - 0xaac], edx
mov edx, dword [ebp - 0xae0]
shl edx, 2
mov dword [ebp - 0xab4], edx
mov edx, dword [ebp - 0xaac]
mov ebx, dword [ebp - 0xab4]
test esi, esi
jle 0xcc98a3
mov ebx, eax
mov dword [ebp - 0xaa8], esi
lea edx, [eax + 3]
sub ebx, ecx
mov dword [ebp - 0xacc], edx
lea edi, [ecx + 2]
mov dword [ebp - 0xaa4], ebx
movzx eax, byte [edi - 2]
movzx ecx, byte [edi - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edi]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xcc9863
mov bl, byte [ebx + edi]
mov eax, dword [ebp - 0xab0]
movzx eax, al
movzx esi, cl
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xaa4]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0xacc]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0xab0]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xacc]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0xaae]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xacc]
add al, bl
mov byte [ecx - 3], al
mov eax, 0xff
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
mov esi, dword [ebp - 0xaa8]
cdq
idiv ecx
mov edx, dword [ebp - 0xacc]
add al, bl
mov ebx, dword [ebp - 0xaa4]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub esi, 1
mov dword [ebp - 0xacc], edx
mov dword [ebp - 0xaa8], esi
jne 0xcc979d
mov edi, dword [ebp - 0xadc]
mov esi, dword [ebp - 0xaa0]
mov ecx, dword [ebp - 0xae8]
mov eax, dword [ebp - 0xad0]
mov edx, dword [ebp - 0xaac]
mov ebx, dword [ebp - 0xab4]
add ecx, edx
add eax, ebx
sub edi, 1
mov dword [ebp - 0xae8], ecx
mov dword [ebp - 0xad0], eax
mov dword [ebp - 0xadc], edi
jne 0xcc9779
xor ebx, ebx
push dword [ebp - 0xac8]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0xb20]
mov edi, dword [ebp - 0xaf4]
test eax, eax
je 0xcc98fc
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08018]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0xae4], 0
jl 0xccade7
mov eax, dword [ebp - 0x774]
mov esi, dword [ebp - 0x76c]
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0x760]
push 0x54
mov dword [ebp - 0xaa8], eax
lea eax, [ebp - 0x8d8]
push ebx
push eax
mov dword [ebp - 0xaa0], esi
call fcn.00bc259b
add esp, 0xc
lea eax, [ebp - 0xa38]
push 0x54
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0xad0], ebx
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0xaac], ebx
mov dword [ebp - 0xae0], ebx
mov dword [ebp - 0xaa4], ebx
push 0x2c
push ebx
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x380]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test esi, esi
je 0xccade7
mov edi, dword [ebp - 0xad8]
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push edi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc9426
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x8d8]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc9a03
mov eax, dword [ebp - 0x8c4]
mov dword [ebp - 0xad0], eax
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0xaa4], eax
mov esi, dword [0xd08008]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov edi, eax
mov dword [ebp - 0xb20], edi
test edi, edi
je 0xcc9426
push 0x2c
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0xd28], ebx
push ebx
push eax
mov dword [ebp - 0xae4], ebx
call fcn.00bc259b
mov eax, dword [ebp - 0x73c]
add esp, 0xc
sub eax, dword [ebp - 0x744]
mov esi, dword [0xd0800c]
mov ecx, esi
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x740]
sub eax, dword [ebp - 0x738]
mov dword [ebp - 0x49c], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x4a4], 0x28
mov word [ebp - 0x498], ax
pop eax
push ebx
push ebx
mov word [ebp - 0x496], ax
lea eax, [ebp - 0xd28]
push eax
push ebx
lea eax, [ebp - 0x4a4]
push eax
push edi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xaf4], eax
test eax, eax
jne 0xcc9ae5
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [ebp - 0xae4], eax
test eax, eax
jle 0xcc9ad0
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xae4], eax
test eax, eax
js 0xcc9e91
mov dword [ebp - 0xae4], 0x80004005
jmp 0xcc9e91
mov esi, dword [0xd08034]
lea ecx, [ebp - 0xa38]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcc9b0f
mov eax, dword [ebp - 0xa24]
mov dword [ebp - 0xaac], eax
mov eax, dword [ebp - 0x73c]
sub eax, dword [ebp - 0x744]
push dword [ebp - 0xaf4]
mov esi, dword [0xd0803c]
mov ecx, esi
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x738]
sub eax, dword [ebp - 0x740]
push edi
mov dword [ebp - 0x374], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa8]
mov esi, dword [0xd0803c]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
push ebx
mov dword [ebp - 0xad4], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x380]
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
lea eax, [ebp - 0x380]
push ebx
push dword [ebp - 0xafc]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0xaa0]
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xcc9c01
cmp dword [ebp - 0xab4], 0
je 0xcc9bf5
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
jmp 0xcc9c06
mov dword [ebp - 0xaa0], 0xffffff
jmp 0xcc9c12
mov eax, 0xffa8a8a8
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xab8], eax
mov edi, dword [ebp - 0x744]
mov edx, ebx
mov eax, dword [ebp - 0x740]
mov ecx, ebx
mov dword [ebp - 0xab4], edi
mov dword [ebp - 0xaa8], ebx
test edi, edi
jns 0xcc9c44
mov edx, edi
mov dword [ebp - 0xab4], ebx
neg edx
mov edi, ebx
mov dword [ebp - 0xaa8], edx
test eax, eax
jns 0xcc9c4e
mov ecx, eax
mov eax, ebx
neg ecx
mov esi, dword [ebp - 0x378]
sub esi, edx
mov edx, dword [ebp - 0xae0]
sub edx, edi
mov dword [ebp - 0xadc], esi
cmp esi, edx
jl 0xcc9c70
mov esi, edx
mov dword [ebp - 0xadc], edx
mov edi, dword [ebp - 0x374]
mov edx, dword [ebp - 0xaa4]
sub edi, ecx
sub edx, eax
mov dword [ebp - 0xae8], edi
cmp edi, edx
jl 0xcc9c92
mov edi, edx
mov dword [ebp - 0xae8], edx
test esi, esi
jle 0xcc9e59
test edi, edi
jle 0xcc9e59
mov edx, dword [ebp - 0x378]
imul eax, dword [ebp - 0xae0]
mov esi, dword [ebp - 0xaac]
imul ecx, edx
add eax, dword [ebp - 0xab4]
add ecx, dword [ebp - 0xaa8]
lea ecx, [esi + ecx*4]
mov esi, dword [ebp - 0xad0]
mov dword [ebp - 0xac8], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xadc]
mov dword [ebp - 0xad0], eax
test edi, edi
jle 0xcc9e59
shl edx, 2
mov dword [ebp - 0xaac], edx
mov edx, dword [ebp - 0xae0]
shl edx, 2
mov dword [ebp - 0xab4], edx
mov edx, dword [ebp - 0xaac]
mov ebx, dword [ebp - 0xab4]
test esi, esi
jle 0xcc9e38
mov ebx, eax
mov dword [ebp - 0xaa8], esi
lea edx, [eax + 3]
sub ebx, ecx
mov dword [ebp - 0xab0], edx
lea edi, [ecx + 2]
mov dword [ebp - 0xaa4], ebx
movzx eax, byte [edi - 2]
movzx ecx, byte [edi - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edi]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xcc9df8
mov bl, byte [ebx + edi]
mov eax, dword [ebp - 0xab8]
movzx eax, al
movzx esi, cl
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xaa4]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0xab0]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0xab8]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xab0]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0xa9e]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xab0]
add al, bl
mov byte [ecx - 3], al
mov eax, 0xff
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
mov esi, dword [ebp - 0xaa8]
cdq
idiv ecx
mov edx, dword [ebp - 0xab0]
add al, bl
mov ebx, dword [ebp - 0xaa4]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub esi, 1
mov dword [ebp - 0xab0], edx
mov dword [ebp - 0xaa8], esi
jne 0xcc9d32
mov edi, dword [ebp - 0xae8]
mov esi, dword [ebp - 0xadc]
mov ecx, dword [ebp - 0xac8]
mov eax, dword [ebp - 0xad0]
mov edx, dword [ebp - 0xaac]
mov ebx, dword [ebp - 0xab4]
add ecx, edx
add eax, ebx
sub edi, 1
mov dword [ebp - 0xac8], ecx
mov dword [ebp - 0xad0], eax
mov dword [ebp - 0xae8], edi
jne 0xcc9d0e
xor ebx, ebx
push dword [ebp - 0xaf4]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0xad4]
mov edi, dword [ebp - 0xb20]
test eax, eax
je 0xcc9e91
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08018]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0xae4], 0
jl 0xccade7
mov edi, ebx
jmp 0xccad93
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x774], 0
jne 0xcc9eca
cmp edi, ecx
je 0xcc9eca
mov al, 0xc0
jmp 0xcc9ecc
or al, 0xff
mov byte [ebp - 0xad2], al
lea edi, [ebp - 0xca0]
xor eax, eax
mov esi, dword [0xd08008]
stosd dword es:[edi], eax
push dword [ebp - 0xad8]
mov byte [ebp - 0xad1], cl
mov ecx, esi
mov byte [ebp - 0xad4], bl
stosd dword es:[edi], eax
mov byte [ebp - 0xad3], bl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xcc0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xa9c], eax
test eax, eax
jne 0xcc9f27
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0xccade7
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xcca022
mov ecx, dword [ebp - 0x74c]
mov edx, dword [ebp - 0x73c]
mov edi, dword [ebp - 0x754]
sub ecx, edi
mov eax, dword [ebp - 0x744]
sub edx, eax
mov dword [ebp - 0xa98], edx
cmp edx, ecx
jg 0xcc9f62
mov dword [ebp - 0xa98], ecx
mov esi, dword [ebp - 0x738]
sub esi, dword [ebp - 0x750]
cmp dword [ebp - 0x778], 0
mov dword [ebp - 0xaf8], esi
mov esi, dword [ebp - 0xa98]
je 0xcc9fa1
sub edi, dword [ebp - 0x74c]
sub eax, dword [ebp - 0x73c]
add edi, esi
add eax, esi
mov dword [ebp - 0xca0], edi
mov dword [ebp - 0xcc0], eax
jmp 0xcc9fad
mov edi, dword [ebp - 0xca0]
mov eax, dword [ebp - 0xcc0]
add ecx, edi
mov dword [ebp - 0xaa0], edi
mov edi, dword [ebp - 0x740]
sub edi, dword [ebp - 0x750]
mov dword [ebp - 0xae0], ecx
mov dword [ebp - 0xc98], ecx
mov ecx, dword [ebp - 0x748]
sub ecx, dword [ebp - 0x750]
mov dword [ebp - 0xaf4], edi
mov dword [ebp - 0xcbc], edi
sub edi, dword [ebp - 0x740]
mov dword [ebp - 0xb0c], eax
add eax, edx
add edi, dword [ebp - 0x738]
mov dword [ebp - 0xadc], ecx
mov dword [ebp - 0xc94], ecx
mov dword [ebp - 0xb4c], eax
mov dword [ebp - 0xcb8], eax
mov dword [ebp - 0xac8], edi
mov dword [ebp - 0xcb4], edi
jmp 0xcca0ae
mov eax, dword [ebp - 0xc28]
lea esi, [ebp - 0x754]
lea edi, [ebp - 0xca0]
mov dword [ebp - 0xa98], eax
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc24]
mov dword [ebp - 0xaf8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc94]
lea esi, [ebp - 0x744]
mov ecx, dword [ebp - 0xc98]
lea edi, [ebp - 0xcc0]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xadc], eax
mov eax, dword [ebp - 0xca0]
mov dword [ebp - 0xaa0], eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xae0], ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0xac8], eax
mov eax, dword [ebp - 0xcb8]
mov dword [ebp - 0xb4c], eax
mov eax, dword [ebp - 0xcbc]
mov dword [ebp - 0xaf4], eax
mov eax, dword [ebp - 0xcc0]
mov dword [ebp - 0xb0c], eax
push 0x2c
lea eax, [ebp - 0x4fc]
mov dword [ebp - 0xd2c], ebx
push ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0xa98]
add esp, 0xc
mov edi, dword [ebp - 0xa9c]
mov esi, dword [0xd0800c]
mov ecx, esi
mov dword [ebp - 0x4f8], eax
mov eax, dword [ebp - 0xaf8]
neg eax
mov dword [ebp - 0x4fc], 0x28
mov dword [ebp - 0x4f4], eax
xor eax, eax
push 0x20
inc eax
mov word [ebp - 0x4f0], ax
pop eax
push ebx
push ebx
mov word [ebp - 0x4ee], ax
lea eax, [ebp - 0xd2c]
push eax
push ebx
lea eax, [ebp - 0x4fc]
push eax
push edi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xabc], eax
test eax, eax
jne 0xcca13b
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0xccadd2
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xcca1b0
mov ecx, dword [ebp - 0xbac]
test ecx, ecx
je 0xcca1b0
mov esi, dword [0xd08074]
lea edi, [ebp - 0x39c]
xor eax, eax
stosd dword es:[edi], eax
push ecx
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0xaf8]
mov dword [ebp - 0x394], eax
lea eax, [ebp - 0x3a0]
push eax
mov eax, dword [ebp - 0xa9c]
push eax
mov dword [ebp - 0x3a0], ebx
mov dword [ebp - 0x39c], ebx
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x774]
mov esi, dword [ebp - 0x770]
mov dword [ebp - 0xad0], eax
mov eax, dword [ebp - 0x764]
push 0x54
mov dword [ebp - 0xaa8], eax
lea eax, [ebp - 0x880]
push ebx
push eax
mov dword [ebp - 0xae8], esi
call fcn.00bc259b
add esp, 0xc
lea eax, [ebp - 0x9e0]
push 0x54
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0xab4], ebx
lea eax, [ebp - 0x4d0]
mov dword [ebp - 0xaac], ebx
mov dword [ebp - 0xae4], ebx
mov dword [ebp - 0xaa4], ebx
push 0x2c
push ebx
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x370]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0xa9c]
test esi, esi
je 0xccadb7
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcca25e
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0xccadb7
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x880]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcca2a0
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0xae4], eax
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0xaa4], eax
mov esi, dword [0xd08008]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, eax
mov dword [ebp - 0xac0], esi
test esi, esi
je 0xcca253
push 0x2c
lea eax, [ebp - 0x4d0]
mov dword [ebp - 0xd30], ebx
push ebx
push eax
mov dword [ebp - 0xb08], ebx
call fcn.00bc259b
mov eax, dword [ebp - 0xae0]
add esp, 0xc
mov edi, dword [ebp - 0xaa0]
sub eax, edi
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp - 0xc9c]
sub eax, dword [ebp - 0xadc]
mov dword [ebp - 0x4c8], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x4d0], 0x28
mov word [ebp - 0x4c4], ax
pop eax
push ebx
push ebx
mov word [ebp - 0x4c2], ax
lea eax, [ebp - 0xd30]
push eax
push ebx
lea eax, [ebp - 0x4d0]
push eax
push esi
mov esi, dword [0xd0800c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xb20], eax
test eax, eax
jne 0xcca386
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [ebp - 0xb08], eax
test eax, eax
jle 0xcca371
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xb08], eax
test eax, eax
js 0xcca745
mov dword [ebp - 0xb08], 0x80004005
jmp 0xcca745
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x9e0]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcca3b0
mov eax, dword [ebp - 0x9cc]
mov dword [ebp - 0xaac], eax
push dword [ebp - 0xb20]
mov ecx, dword [ebp - 0xae0]
mov eax, dword [ebp - 0xadc]
sub eax, dword [ebp - 0xc9c]
push dword [ebp - 0xac0]
mov esi, dword [0xd0803c]
mov dword [ebp - 0x368], ecx
mov ecx, esi
mov dword [ebp - 0x364], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push dword [ebp - 0xac0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa8]
mov esi, dword [0xd0803c]
mov ecx, esi
push dword [ebp - 0xac0]
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
push ebx
mov dword [ebp - 0xae0], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x370]
push eax
push dword [ebp - 0xac0]
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
lea eax, [ebp - 0x370]
push ebx
push dword [ebp - 0xafc]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0xae8]
push dword [ebp - 0xac0]
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xcca4bb
cmp dword [ebp - 0xad0], 0
je 0xcca4af
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xab0], eax
jmp 0xcca4c5
mov dword [ebp - 0xab0], 0xffffff
jmp 0xcca4c5
mov dword [ebp - 0xab0], 0xffa8a8a8
mov dword [ebp - 0xaa8], ebx
mov eax, ebx
mov dword [ebp - 0xaa0], ebx
test edi, edi
jns 0xcca4e3
mov eax, edi
mov edi, ebx
neg eax
mov dword [ebp - 0xaa8], eax
mov ecx, dword [ebp - 0xc9c]
test ecx, ecx
jns 0xcca4f9
mov edx, ecx
mov ecx, ebx
neg edx
mov dword [ebp - 0xaa0], edx
mov esi, dword [ebp - 0x368]
sub esi, eax
mov eax, dword [ebp - 0xae4]
sub eax, edi
mov dword [ebp - 0xadc], esi
cmp esi, eax
jl 0xcca51b
mov esi, eax
mov dword [ebp - 0xadc], eax
mov eax, dword [ebp - 0xaa4]
mov edx, dword [ebp - 0x364]
sub eax, ecx
sub edx, dword [ebp - 0xaa0]
mov dword [ebp - 0xae8], edx
cmp edx, eax
jl 0xcca541
mov edx, eax
mov dword [ebp - 0xae8], eax
test esi, esi
jle 0xcca70e
test edx, edx
jle 0xcca70e
imul ecx, dword [ebp - 0xae4]
mov eax, dword [ebp - 0x368]
imul eax, dword [ebp - 0xaa0]
mov esi, dword [ebp - 0xaac]
add ecx, edi
mov edi, dword [ebp - 0xab4]
add eax, dword [ebp - 0xaa8]
lea ecx, [edi + ecx*4]
mov dword [ebp - 0xaa0], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xadc]
mov dword [ebp - 0xad0], eax
test edx, edx
jle 0xcca70e
mov ebx, dword [ebp - 0x368]
shl ebx, 2
mov dword [ebp - 0xaac], ebx
mov ebx, dword [ebp - 0xae4]
shl ebx, 2
mov dword [ebp - 0xab4], ebx
mov ebx, dword [ebp - 0xaac]
mov edi, dword [ebp - 0xab4]
test esi, esi
jle 0xcca6ed
mov ebx, ecx
mov dword [ebp - 0xaa8], esi
lea edx, [ecx + 3]
sub ebx, eax
mov dword [ebp - 0xacc], edx
lea edi, [eax + 2]
mov dword [ebp - 0xaa4], ebx
movzx eax, byte [edi - 2]
movzx ecx, byte [edi - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edi]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xcca6ad
mov bl, byte [ebx + edi]
mov eax, dword [ebp - 0xab0]
movzx eax, al
movzx esi, cl
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xaa4]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0xacc]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0xab0]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xacc]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0xaae]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xacc]
add al, bl
mov byte [ecx - 3], al
mov eax, 0xff
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
mov esi, dword [ebp - 0xaa8]
cdq
idiv ecx
mov edx, dword [ebp - 0xacc]
add al, bl
mov ebx, dword [ebp - 0xaa4]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub esi, 1
mov dword [ebp - 0xacc], edx
mov dword [ebp - 0xaa8], esi
jne 0xcca5e7
mov edx, dword [ebp - 0xae8]
mov esi, dword [ebp - 0xadc]
mov eax, dword [ebp - 0xad0]
mov ecx, dword [ebp - 0xaa0]
mov ebx, dword [ebp - 0xaac]
mov edi, dword [ebp - 0xab4]
add eax, ebx
add ecx, edi
sub edx, 1
mov dword [ebp - 0xad0], eax
mov dword [ebp - 0xaa0], ecx
mov dword [ebp - 0xae8], edx
jne 0xcca5c3
xor ebx, ebx
push dword [ebp - 0xb20]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0xae0]
test eax, eax
je 0xcca745
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push dword [ebp - 0xac0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0xac0]
mov esi, dword [0xd08018]
mov ecx, esi
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0xb08], 0
jl 0xccadb1
mov eax, dword [ebp - 0x774]
mov esi, dword [ebp - 0x76c]
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0x760]
push 0x54
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0x828]
push ebx
push eax
mov dword [ebp - 0xaa0], esi
call fcn.00bc259b
add esp, 0xc
lea eax, [ebp - 0x988]
push 0x54
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0xaac], ebx
lea eax, [ebp - 0x44c]
mov dword [ebp - 0xaa8], ebx
mov dword [ebp - 0xae0], ebx
mov dword [ebp - 0xab0], ebx
push 0x2c
push ebx
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x360]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0xa9c]
test esi, esi
je 0xccadb7
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push edi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcca253
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x828]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcca851
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0xaac], eax
mov eax, dword [ebp - 0x824]
mov dword [ebp - 0xae0], eax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0xab0], eax
mov esi, dword [0xd08008]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, eax
mov dword [ebp - 0xacc], esi
test esi, esi
je 0xcca253
push 0x2c
lea eax, [ebp - 0x44c]
mov dword [ebp - 0xd34], ebx
push ebx
push eax
mov dword [ebp - 0xae4], ebx
call fcn.00bc259b
mov eax, dword [ebp - 0xb4c]
add esp, 0xc
sub eax, dword [ebp - 0xb0c]
mov edi, dword [ebp - 0xaf4]
mov dword [ebp - 0xb4c], eax
mov dword [ebp - 0x448], eax
mov eax, edi
sub eax, dword [ebp - 0xac8]
mov dword [ebp - 0x444], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x44c], 0x28
mov word [ebp - 0x440], ax
pop eax
push ebx
push ebx
mov word [ebp - 0x43e], ax
lea eax, [ebp - 0xd34]
push eax
push ebx
lea eax, [ebp - 0x44c]
push eax
push esi
mov esi, dword [0xd0800c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0xb20], eax
test eax, eax
jne 0xcca941
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [ebp - 0xae4], eax
test eax, eax
jle 0xcca926
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0xae4], eax
test eax, eax
mov edi, dword [ebp - 0xacc]
js 0xccacf1
mov dword [ebp - 0xae4], 0x80004005
jmp 0xccacf1
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x988]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcca96b
mov eax, dword [ebp - 0x974]
mov dword [ebp - 0xaa8], eax
mov eax, dword [ebp - 0xb4c]
push dword [ebp - 0xb20]
mov esi, dword [0xd0803c]
mov ecx, esi
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0xac8]
sub eax, edi
mov edi, dword [ebp - 0xacc]
push edi
mov dword [ebp - 0x354], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
push dword [ebp - 0xaa4]
mov esi, dword [0xd0803c]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
push ebx
mov dword [ebp - 0xb4c], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x360]
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
lea eax, [ebp - 0x360]
push ebx
push dword [ebp - 0xafc]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0xaa0]
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xccaa67
cmp dword [ebp - 0xab4], 0
je 0xccaa5b
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
mov ecx, eax
mov dword [ebp - 0xab8], ecx
mov dword [ebp - 0xaa0], ecx
jmp 0xccaa78
mov dword [ebp - 0xaa0], 0xffffff
jmp 0xccaa78
mov eax, 0xffa8a8a8
mov dword [ebp - 0xab8], eax
mov dword [ebp - 0xaa0], eax
mov edx, dword [ebp - 0xb0c]
mov edi, ebx
mov dword [ebp - 0xaa4], ebx
mov eax, ebx
test edx, edx
jns 0xccaa98
mov edi, edx
mov edx, ebx
neg edi
mov dword [ebp - 0xaa4], edi
mov ecx, dword [ebp - 0xaf4]
test ecx, ecx
jns 0xccaaa8
mov eax, ecx
mov ecx, ebx
neg eax
mov esi, dword [ebp - 0x358]
sub esi, edi
mov edi, dword [ebp - 0xae0]
sub edi, edx
mov dword [ebp - 0xadc], esi
cmp esi, edi
jl 0xccaaca
mov esi, edi
mov dword [ebp - 0xadc], edi
mov edi, dword [ebp - 0x354]
sub dword [ebp - 0xab0], ecx
sub edi, eax
mov dword [ebp - 0xae8], edi
cmp edi, dword [ebp - 0xab0]
jl 0xccaaf2
mov edi, dword [ebp - 0xab0]
mov dword [ebp - 0xae8], edi
test esi, esi
jle 0xccacb9
test edi, edi
jle 0xccacb9
imul ecx, dword [ebp - 0xae0]
imul eax, dword [ebp - 0x358]
mov esi, dword [ebp - 0xaa8]
add ecx, edx
mov edx, dword [ebp - 0xaac]
add eax, dword [ebp - 0xaa4]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xac8], ecx
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0xadc]
mov dword [ebp - 0xad0], eax
test edi, edi
jle 0xccacb9
mov edx, dword [ebp - 0x358]
shl edx, 2
mov dword [ebp - 0xaac], edx
mov edx, dword [ebp - 0xae0]
shl edx, 2
mov dword [ebp - 0xab4], edx
mov edx, dword [ebp - 0xaac]
mov ebx, dword [ebp - 0xab4]
test esi, esi
jle 0xccac98
mov ebx, ecx
mov dword [ebp - 0xaa8], esi
lea edx, [ecx + 3]
sub ebx, eax
mov dword [ebp - 0xab0], edx
lea edi, [eax + 2]
mov dword [ebp - 0xaa4], ebx
movzx eax, byte [edi - 2]
movzx ecx, byte [edi - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edi]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xccac58
mov bl, byte [ebx + edi]
mov eax, dword [ebp - 0xab8]
movzx eax, al
movzx esi, cl
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xaa4]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0xab0]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0xab8]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xab0]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0xa9e]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0xab0]
add al, bl
mov byte [ecx - 3], al
mov eax, 0xff
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
mov esi, dword [ebp - 0xaa8]
cdq
idiv ecx
mov edx, dword [ebp - 0xab0]
add al, bl
mov ebx, dword [ebp - 0xaa4]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub esi, 1
mov dword [ebp - 0xab0], edx
mov dword [ebp - 0xaa8], esi
jne 0xccab92
mov edi, dword [ebp - 0xae8]
mov esi, dword [ebp - 0xadc]
mov eax, dword [ebp - 0xad0]
mov ecx, dword [ebp - 0xac8]
mov edx, dword [ebp - 0xaac]
mov ebx, dword [ebp - 0xab4]
add eax, edx
add ecx, ebx
sub edi, 1
mov dword [ebp - 0xad0], eax
mov dword [ebp - 0xac8], ecx
mov dword [ebp - 0xae8], edi
jne 0xccab6e
xor ebx, ebx
push dword [ebp - 0xb20]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0xb4c]
mov edi, dword [ebp - 0xacc]
test eax, eax
je 0xccacf1
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08018]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0xae4], 0
mov edi, dword [ebp - 0xa9c]
jl 0xccadb7
xor eax, eax
inc eax
cmp dword [ebp - 0xac4], eax
jne 0xccad58
mov esi, dword [section..data]
mov ecx, esi
push 0xcc0020
push ebx
push ebx
push edi
push dword [ebp - 0xaf8]
push dword [ebp - 0xa98]
push dword [ebp - 0x750]
push dword [ebp - 0x754]
push dword [ebp - 0xad8]
call dword [0xd0cffc]
call esi
jmp 0xccad93
push dword [ebp - 0xad4]
mov ecx, dword [ebp - 0xaf8]
mov eax, dword [ebp - 0xa98]
mov esi, dword [0xd08020]
push ecx
push eax
push ebx
push ebx
push edi
push ecx
push eax
push dword [ebp - 0xc2c]
mov ecx, esi
push dword [ebp - 0xc30]
push dword [ebp - 0xad8]
call dword [0xd0cffc]
call esi
push dword [ebp - 0xbb4]
mov esi, dword [0xd08040]
mov ecx, esi
push dword [ebp - 0xad8]
call dword [0xd0cffc]
call esi
jmp 0xccadb7
mov edi, dword [ebp - 0xa9c]
mov eax, dword [ebp - 0xabc]
test eax, eax
je 0xccadd2
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
test edi, edi
je 0xccade7
mov esi, dword [0xd08018]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0xbac]
test eax, eax
je 0xccae02
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov edi, 0xd0aed4
mov ecx, dword [ebp - 0x770]
test ecx, ecx
je 0xccae56
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xccae14
mov eax, dword [ebp - 0x770]
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xccae3c
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0xccae34
push dword [ebp - 0x770]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [ebp - 0x770], ebx
mov ecx, dword [ebp - 0x76c]
test ecx, ecx
je 0xccaea5
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xccae63
mov eax, dword [ebp - 0x76c]
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xccae8b
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0xccae83
push dword [ebp - 0x76c]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [ebp - 0x76c], ebx
mov edx, dword [ebp - 0x768]
test edx, edx
je 0xccaef1
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xccaeb4
sub ecx, esi
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xccaedc
mov byte [edx], bl
inc edx
sub ecx, 1
jne 0xccaece
mov edx, dword [ebp - 0x768]
push edx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [ebp - 0x768], ebx
cmp dword [ebp - 0x764], 0
je 0xccaf16
push dword [ebp - 0x764]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x764], ebx
cmp dword [ebp - 0x760], 0
je 0xccaf3b
push dword [ebp - 0x760]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x760], ebx
cmp dword [ebp - 0x75c], 0
je 0xccaf60
push dword [ebp - 0x75c]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x75c], ebx
xor eax, eax
lea ecx, [eax + 1]
lock cmpxchg dword [edi], ecx
test eax, eax
jne 0xccaf60
mov eax, dword [0xd0a150]
test eax, eax
jle 0xccafbf
sub eax, 1
mov dword [0xd0a150], eax
jne 0xccafbf
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xccaf93
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xccaf82
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, 0xd0aed4
xor eax, eax
xchg dword [edi], eax
mov eax, dword [0xd09360]
mov esi, dword [0xd0804c]
mov ecx, esi
mov dword [ebp - 0xaac], eax
call dword [0xd0cffc]
call esi
sub eax, dword [0xd09358]
lea edi, [ebp - 0x2e8]
push 8
mov dword [ebp - 0xaa8], eax
mov edx, 0xd0aed4
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
xor eax, eax
lea ecx, [eax + 1]
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xccaffc
mov eax, dword [0xd0a150]
test eax, eax
jne 0xccb612
push 0x338
mov edi, ebx
mov dword [ebp - 0xaa0], ebx
push ebx
mov dword [ebp - 0xab0], edi
mov dword [ebp - 0xaa4], ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xbfc], eax
test eax, eax
je 0xccb5ab
or dword [ebp - 0xbe4], 0xffffffff
mov esi, ebx
add eax, 7
mov dword [ebp - 0xabc], ebx
mov cl, bl
mov dword [ebp - 0xb70], esi
mov dword [ebp - 0xb7c], ebx
mov dword [ebp - 0xbe8], eax
mov edi, dword [ebp - 0xb74]
movzx edx, byte [edi - 2]
movzx eax, byte [edi - 1]
shl edx, 8
or edx, eax
movzx eax, byte [edi]
shl edx, 8
or edx, eax
movzx eax, byte [edi + 1]
movzx edi, byte [edi + 2]
shl edx, 8
or edx, eax
shl edi, 8
mov eax, dword [ebp - 0xb74]
xor ebx, edx
mov dword [ebp - 0xbf8], edx
movzx eax, byte [eax + 3]
or edi, eax
mov eax, dword [ebp - 0xb74]
shl edi, 8
movzx eax, byte [eax + 4]
or edi, eax
mov eax, dword [ebp - 0xb74]
shl edi, 8
add dword [ebp - 0xb74], 8
movzx eax, byte [eax + 5]
or edi, eax
xor esi, edi
xor esi, ebx
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
xor ebx, edx
lea eax, [ebx + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, ebx
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor ebx, edx
mov eax, ebx
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, ebx
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
xor ebx, eax
mov eax, ebx
mov edx, ebx
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
xor ebx, edx
lea eax, [ebx + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, ebx
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, ebx
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
mov dword [ebp - 0xbb4], esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor ebx, eax
lea esi, [ebx - 0x7f1]
xor esi, dword [ebp - 0xbb4]
xor esi, 0xab69605e
mov eax, esi
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, esi
shr eax, 2
add edx, eax
xor ebx, edx
lea eax, [ebx - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, ebx
rol eax, 7
add edx, eax
xor esi, edx
mov eax, esi
mov edx, esi
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor ebx, edx
mov eax, ebx
mov dword [ebp - 0xbb4], ebx
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, ebx
rol eax, 7
add edx, eax
xor esi, edx
mov ebx, esi
xor ebx, dword [ebp - 0xbb4]
xor ebx, 0xac987321
mov eax, ebx
ror eax, 3
sub eax, 0xab69
imul eax, eax, 0x137f
xor esi, eax
lea eax, [esi - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, esi
ror eax, 6
sub edx, eax
xor ebx, edx
lea eax, [ebx - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, ebx
rol eax, 0xe
add edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xe
sub edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, ebx
shr eax, 3
xor edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, esi
xor esi, dword [ebp - 0xbe4]
rol eax, 2
mov dword [ebp - 0xb70], esi
mov dword [ebp - 0xbe4], edi
xor edx, eax
xor edx, dword [ebp - 0xabc]
xor ebx, edx
mov edx, dword [ebp - 0xbe8]
mov dword [ebp - 0xb7c], ebx
mov byte [edx - 4], bl
mov al, byte [ebp - 0xb70]
ror dword [ebp - 0xb7c], 8
mov byte [edx], al
mov al, byte [ebp - 0xb7c]
ror dword [ebp - 0xb70], 8
mov byte [edx - 5], al
mov al, byte [ebp - 0xb70]
ror dword [ebp - 0xb7c], 8
mov byte [edx - 1], al
mov al, byte [ebp - 0xb7c]
ror dword [ebp - 0xb70], 8
mov byte [edx - 6], al
mov al, byte [ebp - 0xb70]
ror dword [ebp - 0xb7c], 8
mov byte [edx - 2], al
ror dword [ebp - 0xb70], 8
mov al, byte [ebp - 0xb7c]
mov byte [edx - 7], al
mov al, byte [ebp - 0xb70]
mov byte [edx - 3], al
add edx, 8
mov ebx, dword [ebp - 0xb7c]
mov esi, dword [ebp - 0xb70]
mov eax, dword [ebp - 0xbf8]
ror ebx, 8
ror esi, 8
sub dword [ebp - 0xbe0], 1
mov dword [ebp - 0xb7c], ebx
mov dword [ebp - 0xb70], esi
mov dword [ebp - 0xabc], eax
mov dword [ebp - 0xbe8], edx
jne 0xccb071
mov esi, dword [ebp - 0xbfc]
xor ebx, ebx
mov eax, ebx
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xccb3c4
movzx eax, cl
cdq
cmp eax, dword [0xb2c228]
jne 0xccb3ef
cmp edx, dword [0xb2c22c]
jne 0xccb3ef
mov edi, esi
mov dword [ebp - 0xab0], esi
mov esi, ebx
jmp 0xccb402
or dword [ebp - 0xbb0], 0xffffffff
mov edi, ebx
mov dword [ebp - 0xaa4], 0xc004d501
test esi, esi
je 0xccb415
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
cmp dword [ebp - 0xaa4], ebx
jl 0xccb5a5
mov eax, dword [ebp - 0xbb0]
mov esi, edi
push 0x40
push ebx
push 0xd0ae80
mov byte [eax + edi], bl
call fcn.00bc259b
add esp, 0xc
cmp byte [edi], bl
je 0xccb5b2
mov edi, 0xd0ae80
mov ecx, esi
mov edx, esi
lea eax, [ecx + 2]
mov dword [ebp - 0xbb4], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xccb456
sub ecx, dword [ebp - 0xbb4]
sar ecx, 1
push edi
push edx
push ebx
lea esi, [esi + ecx*2]
add esi, 2
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xccb59e
mov eax, dword [edi]
mov ecx, 0x5a4d
mov edx, ebx
mov dword [ebp - 0xab8], edx
cmp word [eax], cx
je 0xccb4a1
mov edx, 0xc000007b
mov dword [ebp - 0xab8], edx
jmp 0xccb4e9
mov ecx, dword [eax + 0x3c]
cmp ecx, 0x10000000
jae 0xccb494
add ecx, dword [edi]
cmp ecx, dword [edi]
jb 0xccb494
cmp dword [ecx], 0x4550
jne 0xccb494
movzx eax, word [ecx + 0x18]
cmp ax, word [ebp - 0xc48]
je 0xccb4d7
cmp ax, word [ebp - 0xc4c]
je 0xccb4d7
mov edx, 0xc000000d
jmp 0xccb499
mov eax, dword [ecx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi]
push 4
pop ecx
add esi, ecx
mov dword [ebp - 0xbfc], eax
mov dword [ebp - 0xbb0], ebx
test eax, eax
je 0xccb58b
mov ecx, esi
mov dword [ebp - 0xaec], ebx
mov dword [ebp - 0xbf8], esi
lea eax, [ecx + 1]
mov dword [ebp - 0xbb4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xccb51b
sub ecx, dword [ebp - 0xbb4]
inc esi
add esi, ecx
test edx, edx
js 0xccb565
mov ecx, dword [ebp - 0xbf8]
lea eax, [ebp - 0xaec]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov edx, eax
mov dword [ebp - 0xab8], edx
test edx, edx
js 0xccb596
mov eax, dword [ebp - 0xaa0]
mov ecx, dword [ebp - 0xaec]
mov dword [eax*4 + section..data], ecx
jmp 0xccb56b
mov eax, dword [ebp - 0xaa0]
inc eax
mov dword [ebp - 0xaa0], eax
mov eax, dword [ebp - 0xbb0]
inc eax
mov dword [ebp - 0xbb0], eax
cmp eax, dword [ebp - 0xbfc]
jb 0xccb504
add edi, 0x10
cmp byte [esi], bl
jne 0xccb449
mov esi, dword [ebp - 0xab8]
jmp 0xccb5b4
mov esi, 0xc000007a
jmp 0xccb5b4
mov edi, dword [ebp - 0xab0]
mov esi, 0xc000007a
jmp 0xccb5ba
mov esi, ebx
mov edi, dword [ebp - 0xab0]
test edi, edi
je 0xccb5cd
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
jns 0xccb60d
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xccb5e4
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xccb5d3
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xccb618
mov eax, dword [0xd0a150]
inc eax
mov dword [0xd0a150], eax
xor eax, eax
mov edi, 0xd0aed4
xchg dword [edi], eax
mov eax, dword [ebp - 0xaa8]
xor ecx, ecx
mov esi, dword [0xd08068]
inc ecx
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0xaac]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x2e8]
push eax
push 4
pop eax
push eax
push 0x2021
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x2d0], ecx
mov ecx, esi
push ebx
mov dword [ebp - 0x2dc], 0x9966f291
call dword [0xd0cffc]
call esi
xor eax, eax
lea ecx, [eax + 1]
lock cmpxchg dword [edi], ecx
test eax, eax
jne 0xccb685
mov eax, dword [0xd0a150]
test eax, eax
jle 0xccb6e4
sub eax, 1
mov dword [0xd0a150], eax
jne 0xccb6e4
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xccb6b8
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xccb6a7
push 0x40
push ebx
push 0xd0ae80
call fcn.00bc259b
add esp, 0xc
mov esi, 0xb17130
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, 0xd0aed4
xor eax, eax
xchg dword [edi], eax
push dword [ebp - 0xad8]
mov esi, dword [0xd080b0]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
mov eax, ebx
mov dword [ebp - 0xaa8], ebx
mov dword [ebp - 0xaa4], eax
lea edi, [ebp - 0xcd8]
xor eax, eax
mov dword [ebp - 0xea8], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, 0xa0
push edi
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0xbb4], esi
test esi, esi
je 0xccd818
push edi
push 0xd08d58
push esi
call fcn.00bc13d0
add esp, 0xc
mov dword [ebp - 0xa9c], esi
push 8
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
je 0xccd822
mov ecx, dword [0xd08d50]
mov dword [edi], ecx
mov ecx, dword [0xd08d54]
mov dword [edi + 4], ecx
mov dword [ebp - 0xaa8], edi
rdtsc
mov dword [ebp - 0xbf8], eax
mov dword [ebp - 0xbfc], edx
lea eax, [ebp - 0xd3c]
mov dword [ebp - 0xb84], ebx
push eax
push 4
pop eax
mov edx, eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd822
mov edx, dword [ebp - 0xd3c]
lea eax, [ebp - 0xb84]
push eax
xor ecx, ecx
call fcn.00b84e9a
or eax, 0x10000000
jl 0xccd822
lea eax, [ebp - 0xd40]
mov edx, 0xa0
push eax
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd822
mov edx, dword [ebp - 0xd40]
lea eax, [ebp - 0xb84]
mov ecx, dword [ebp - 0xb84]
push eax
call fcn.00b84e9a
or eax, 0x10000000
jl 0xccd822
lea eax, [ebp - 0xd44]
push eax
push 8
pop edx
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd822
mov edx, dword [ebp - 0xd44]
lea eax, [ebp - 0xb84]
mov ecx, dword [ebp - 0xb84]
push eax
call fcn.00b84e9a
or eax, 0x10000000
jl 0xccd822
lea eax, [ebp - 0xd48]
push eax
push 8
pop edx
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd822
mov edx, dword [ebp - 0xd48]
lea eax, [ebp - 0xb84]
mov ecx, dword [ebp - 0xb84]
push eax
call fcn.00b84e9a
or eax, 0x10000000
jl 0xccd822
push dword [ebp - 0xb84]
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0xbb0], esi
test esi, esi
je 0xccd81c
mov dword [ebp - 0xaa4], eax
lea eax, [ebp - 0xe60]
mov ecx, esi
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov ecx, dword [ebp - 0xb84]
lea eax, [esi + 8]
add ecx, esi
mov dword [ebp - 0xaa0], ecx
cmp eax, ecx
ja 0xccd81c
mov eax, dword [ebp - 0xe60]
push 4
pop ecx
mov dword [esi], ecx
mov dword [eax], ecx
mov eax, esi
mov dword [ebp - 0xaec], ebx
mov dword [ebp - 0xc40], eax
mov edx, dword [eax]
lea ecx, [ebp - 0xd4c]
push ecx
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov edx, dword [ebp - 0xd4c]
lea eax, [ebp - 0xc40]
mov ecx, dword [ebp - 0xc40]
push eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov eax, dword [ebp - 0xaec]
xor ecx, ecx
inc eax
inc ecx
mov dword [ebp - 0xaec], eax
cmp eax, ecx
jae 0xccb968
mov eax, dword [ebp - 0xc40]
jmp 0xccb911
mov ecx, dword [ebp - 0xc40]
lea eax, [ebp - 0xe68]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
lea eax, [ecx + 0xa4]
cmp eax, dword [ebp - 0xaa0]
ja 0xccd81c
mov eax, 0xa0
push eax
push dword [ebp - 0xbb4]
mov dword [ecx], eax
push dword [ebp - 0xe68]
call fcn.00bc13d0
add esp, 0xc
mov eax, esi
mov dword [ebp - 0xaec], ebx
mov dword [ebp - 0xbc8], eax
mov edx, dword [eax]
lea ecx, [ebp - 0xd50]
push ecx
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov edx, dword [ebp - 0xd50]
lea eax, [ebp - 0xbc8]
mov ecx, dword [ebp - 0xbc8]
push eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov eax, dword [ebp - 0xaec]
inc eax
mov dword [ebp - 0xaec], eax
cmp eax, 2
jae 0xccba18
mov eax, dword [ebp - 0xbc8]
jmp 0xccb9c3
mov ecx, dword [ebp - 0xbc8]
lea eax, [ebp - 0xe70]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
lea eax, [ecx + 0xc]
cmp eax, dword [ebp - 0xaa0]
ja 0xccd81c
mov dword [ecx], 8
mov ecx, dword [ebp - 0xe70]
mov eax, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov dword [ebp - 0xaf0], esi
mov edi, ebx
mov edx, dword [esi]
lea eax, [ebp - 0xd54]
push eax
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov edx, dword [ebp - 0xd54]
lea eax, [ebp - 0xaf0]
push eax
mov ecx, esi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
inc edi
cmp edi, 3
jae 0xccbaa9
mov esi, dword [ebp - 0xaf0]
jmp 0xccba64
mov ecx, dword [ebp - 0xaf0]
lea eax, [ebp - 0xe78]
push eax
push 4
pop edi
mov edx, edi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
lea eax, [ecx + 0xc]
cmp eax, dword [ebp - 0xaa0]
ja 0xccd81c
mov eax, dword [ebp - 0xe78]
mov dword [ecx], 8
mov ecx, dword [ebp - 0xbf8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xbfc]
mov dword [eax + 4], ecx
lea eax, [ebp - 0xbd0]
mov edx, edi
push eax
mov ecx, edi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov esi, dword [ebp - 0xbd0]
lea eax, [ebp - 0xb2c]
push eax
push 8
pop edx
mov dword [ebp - 0xb04], esi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov edx, dword [ebp - 0xb2c]
lea eax, [ebp - 0xb04]
push eax
mov ecx, esi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
rdtsc
mov edi, ebx
mov dword [ebp - 0xb80], ebx
mov dword [ebp - 0xb14], ebx
mov dword [ebp - 0xbe8], edi
mov dword [ebp - 0xae8], ebx
mov dword [ebp - 0xbe0], ebx
mov dword [ebp - 0xbf4], ebx
mov dword [ebp - 0xb30], ebx
mov dword [ebp - 0xac8], ebx
mov dword [ebp - 0xb98], ebx
mov dword [ebp - 0xbc8], ebx
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xbd0], edx
push 8
pop ecx
mov dword [ebp - 0xc7c], ecx
mov edx, dword [ebp - 0xb84]
lea eax, [ebp - 0xc7c]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccbcb7
mov eax, dword [ebp - 0xc7c]
lea ecx, [eax + 7]
and ecx, 0xfffffff8
mov dword [ebp - 0xaec], ecx
cmp ecx, eax
jae 0xccbbdc
mov esi, 0xc0000095
jmp 0xccbcb7
push ecx
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, eax
mov dword [ebp - 0xaf0], ecx
test ecx, ecx
jne 0xccbc02
mov esi, 0xc0000017
jmp 0xccbcb7
push 4
pop edx
lea eax, [ebp - 0xbcc]
mov dword [ebp - 0xbcc], ecx
push eax
mov dword [ecx], edx
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccbca4
mov ecx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xb84]
mov dword [ecx], eax
lea eax, [ebp - 0xbcc]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccbc9e
mov eax, dword [ebp - 0xaf0]
mov ecx, dword [ebp - 0xaec]
push dword [ebp - 0xb84]
mov edx, dword [ebp - 0xb2c]
push dword [ebp - 0xbb0]
mov dword [eax + ecx - 8], edx
mov edx, dword [ebp - 0xbd0]
push dword [ebp - 0xbcc]
mov dword [eax + ecx - 4], edx
call fcn.00bc13d0
mov ecx, dword [ebp - 0xaf0]
add esp, 0xc
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0xb80], ecx
mov ecx, ebx
mov dword [ebp - 0xb14], eax
jmp 0xccbca4
mov ecx, dword [ebp - 0xaf0]
test ecx, ecx
je 0xccbcb7
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or esi, 0x10000000
jl 0xccd639
cmp dword [ebp - 0xb80], 0
mov dword [ebp - 0xac0], ebx
jne 0xccbcdc
mov esi, 0xc000000d
jmp 0xccc41a
mov esi, dword [ebp - 0xb14]
test esi, esi
je 0xccc415
lea eax, [esi + 8]
push eax
push ebx
mov dword [ebp - 0xbd0], eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xadc], eax
test eax, eax
je 0xccc415
mov edi, dword [ebp - 0xb80]
mov dl, bl
mov ecx, ebx
test esi, esi
je 0xccbd26
xor dl, byte [ecx + edi]
inc ecx
cmp ecx, esi
jb 0xccbd1e
mov dword [ebp - 0xaf0], edi
or ecx, 0xffffffff
mov dword [ebp - 0xb48], ecx
mov edi, eax
mov dword [ebp - 0xbb8], edi
mov eax, ebx
mov dword [ebp - 0xb88], eax
mov dword [ebp - 0xb44], eax
mov dword [ebp - 0xab0], ebx
mov dword [ebp - 0xb74], ebx
test ebx, ebx
je 0xccbe4c
mov edi, dword [ebp - 0xb5c]
mov ecx, ebx
mov esi, dword [ebp - 0xaf0]
mov dword [ebp - 0xab0], ecx
mov dword [ebp - 0xb74], ebx
mov dword [ebp - 0xaec], eax
push 4
pop ecx
cmp eax, ecx
movzx eax, byte [esi]
jge 0xccbd9c
lea ecx, [edi - 0x20]
shl eax, cl
or dword [ebp - 0xb74], eax
mov ecx, dword [ebp - 0xab0]
jmp 0xccbdae
mov ecx, edi
shl eax, cl
mov ecx, dword [ebp - 0xab0]
or ecx, eax
mov dword [ebp - 0xab0], ecx
mov eax, dword [ebp - 0xaec]
sub edi, 8
inc eax
inc esi
mov dword [ebp - 0xaec], eax
cmp eax, ebx
jl 0xccbd7f
mov eax, dword [ebp - 0xb74]
xor ecx, 0x42f6b18d
xor eax, 0xb17a307a
mov dword [ebp - 0xaf0], esi
mov esi, dword [ebp - 0xb14]
mov edi, ebx
mov dword [ebp - 0xb88], eax
mov dword [ebp - 0xb44], eax
test ebx, ebx
je 0xccbe27
mov esi, dword [ebp - 0xbb8]
cmp edi, 4
jge 0xccbe04
rol eax, 8
mov byte [esi], al
jmp 0xccbe09
rol ecx, 8
mov byte [esi], cl
inc edi
inc esi
cmp edi, ebx
jl 0xccbdf8
mov eax, dword [ebp - 0xb44]
mov dword [ebp - 0xbb8], esi
mov esi, dword [ebp - 0xb14]
mov dword [ebp - 0xb88], eax
push 0xfffffffffffffffc
pop eax
mov ecx, ebx
mov dword [ebp - 0xb48], ecx
test eax, eax
jg 0xccbe46
jns 0xccbe46
mov eax, ebx
mov dword [ebp - 0xb88], eax
mov dword [ebp - 0xb44], eax
mov edi, dword [ebp - 0xbb8]
mov eax, esi
shr eax, 3
mov dword [ebp - 0xaec], eax
test eax, eax
je 0xccc23e
mov ebx, dword [ebp - 0xaf0]
lea eax, [edi + 7]
mov dword [ebp - 0xaa0], eax
add ebx, 2
movzx edi, byte [ebx - 2]
movzx eax, byte [ebx - 1]
movzx esi, byte [ebx + 2]
shl edi, 8
or edi, eax
shl esi, 8
movzx eax, byte [ebx]
shl edi, 8
or edi, eax
movzx eax, byte [ebx + 1]
shl edi, 8
or edi, eax
movzx eax, byte [ebx + 3]
or esi, eax
movzx eax, byte [ebx + 4]
shl esi, 8
or esi, eax
movzx eax, byte [ebx + 5]
add ebx, 8
shl esi, 8
or esi, eax
mov dword [ebp - 0xb2c], ebx
xor ecx, esi
mov dword [ebp - 0xa98], ecx
lea ebx, [ecx - 0x4a58]
mov ecx, 0xc81ecb17
xor ebx, edi
xor ebx, dword [ebp - 0xb88]
xor ebx, ecx
mov eax, ebx
xor eax, ecx
ror eax, 0xf
imul ecx, eax, 0xb1b5
mov eax, ebx
ror eax, 7
add ecx, eax
mov eax, dword [ebp - 0xa98]
xor eax, ecx
mov dword [ebp - 0xa98], eax
add eax, 0xb1b54a58
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa98]
ror eax, 0xa
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xcb17
rol eax, 4
imul ecx, eax, 0xc81e
mov eax, ebx
rol eax, 5
add ecx, eax
mov eax, dword [ebp - 0xa98]
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0xa98], eax
xor ecx, 0xb1b54a58
mov eax, 0xc81ecb17
sub eax, ecx
xor ebx, eax
imul ecx, ebx, 0xb1b5
mov eax, ebx
shr eax, 6
sub ecx, eax
sub ecx, 0x339b6838
xor dword [ebp - 0xa98], ecx
mov ecx, dword [ebp - 0xa98]
mov eax, ecx
ror eax, 0xf
xor eax, 0xcb17
imul eax, eax, 0x4a58
xor ebx, eax
mov eax, ebx
not eax
ror eax, 3
add eax, 0xc81e
imul eax, eax, 0xcb17
xor ecx, eax
mov dword [ebp - 0xa98], ecx
lea eax, [ecx + 0x37e0ea91]
xor ebx, eax
mov eax, ebx
mov ecx, ebx
xor eax, 0xc81e
ror ecx, 0xa
imul eax, eax, 0xb1b5
xor ecx, eax
mov eax, dword [ebp - 0xa98]
xor eax, ecx
mov dword [ebp - 0xa98], eax
xor eax, 0x4a58
rol eax, 6
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa98]
ror eax, 3
xor ecx, eax
xor ebx, ecx
mov ecx, dword [ebp - 0xa98]
mov eax, ebx
ror eax, 0xf
sub eax, 0xc81e
imul eax, eax, 0x4a58
xor ecx, eax
mov dword [ebp - 0xa98], ecx
xor ecx, 0xc81e
mov eax, dword [ebp - 0xa98]
shr eax, 1
imul ecx, ecx, 0x4a58
xor ecx, eax
mov eax, dword [ebp - 0xa98]
add eax, 0xffff34e9
xor ebx, ecx
rol eax, 3
imul ecx, eax, 0x4a58
mov eax, dword [ebp - 0xa98]
shr eax, 0xf
xor ecx, eax
xor ebx, ecx
imul ecx, ebx, 0xb1b5
mov eax, ebx
shr eax, 0xd
sub ecx, eax
mov eax, 0xb1b54a58
add ecx, 0x730581bd
xor dword [ebp - 0xa98], ecx
sub eax, dword [ebp - 0xa98]
ror eax, 9
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa98]
ror eax, 0xb
xor ecx, eax
xor ebx, ecx
mov ecx, dword [ebp - 0xa98]
lea eax, [ebx + 0x4e49ed8a]
xor ecx, eax
mov dword [ebp - 0xa98], ecx
mov eax, dword [ebp - 0xa98]
xor eax, 0xb1b5
ror ecx, 7
imul eax, eax, 0x4a58
sub eax, ecx
xor ebx, eax
mov eax, ebx
xor eax, 0xc81e
rol eax, 4
imul ecx, eax, 0xb1b5
mov eax, ebx
ror eax, 0x10
sub ecx, eax
mov eax, 0xb1b54a58
xor dword [ebp - 0xa98], ecx
sub eax, dword [ebp - 0xa98]
ror eax, 0xa
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa98]
ror eax, 4
add ecx, eax
xor ebx, ecx
lea eax, [ebx + 0x4e4ab5a8]
ror eax, 4
imul ecx, eax, 0xc81e
mov eax, ebx
ror eax, 9
xor ecx, eax
mov eax, dword [ebp - 0xa98]
xor eax, ecx
mov dword [ebp - 0xa98], eax
xor eax, 0xc81ecb17
rol eax, 8
imul ecx, eax, 0x4a58
mov eax, dword [ebp - 0xa98]
rol eax, 2
sub ecx, eax
mov eax, 0xc81ecb17
xor ebx, ecx
sub eax, ebx
ror eax, 0xb
imul ecx, eax, 0xb1b5
mov eax, ebx
ror eax, 0xc
sub ecx, eax
mov eax, dword [ebp - 0xa98]
xor eax, ecx
mov dword [ebp - 0xa98], eax
xor eax, 0xb1b5
imul ecx, eax, 0xcb17
mov eax, dword [ebp - 0xa98]
shr eax, 8
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor ebx, dword [ebp - 0xb74]
xor eax, dword [ebp - 0xab0]
xor eax, dword [ebp - 0xa98]
xor eax, 0x79ab814f
mov dword [ebp - 0xb44], ebx
mov dword [ebp - 0xb48], eax
mov eax, dword [ebp - 0xaa0]
mov dword [ebp - 0xb74], edi
mov dword [ebp - 0xab0], esi
mov byte [eax - 4], bl
mov al, byte [ebp - 0xb48]
mov ebx, dword [ebp - 0xaa0]
ror dword [ebp - 0xb44], 8
mov byte [ebx], al
mov al, byte [ebp - 0xb44]
ror dword [ebp - 0xb48], 8
mov byte [ebx - 5], al
mov al, byte [ebp - 0xb48]
ror dword [ebp - 0xb44], 8
mov byte [ebx - 1], al
mov al, byte [ebp - 0xb44]
ror dword [ebp - 0xb48], 8
mov byte [ebx - 6], al
mov al, byte [ebp - 0xb48]
ror dword [ebp - 0xb44], 8
mov byte [ebx - 2], al
ror dword [ebp - 0xb48], 8
mov al, byte [ebp - 0xb44]
mov byte [ebx - 7], al
mov al, byte [ebp - 0xb48]
mov byte [ebx - 3], al
add ebx, 8
mov eax, dword [ebp - 0xb44]
mov ecx, dword [ebp - 0xb48]
ror eax, 8
ror ecx, 8
sub dword [ebp - 0xaec], 1
mov dword [ebp - 0xaa0], ebx
mov ebx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb88], eax
mov dword [ebp - 0xb44], eax
mov dword [ebp - 0xb48], ecx
jne 0xccbe71
mov esi, dword [ebp - 0xb14]
xor ebx, ebx
mov ecx, dword [ebp - 0xadc]
movzx eax, dl
cdq
mov dword [ecx + esi], eax
mov dword [ecx + esi + 4], edx
push 0x18
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0xccc270
mov esi, 0xc0000017
jmp 0xccc36f
mov esi, dword [ebp - 0xbd0]
push esi
push 8
mov dword [edi], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
jne 0xccc293
mov esi, 0xc0000017
jmp 0xccc30e
mov dword [edi + 4], eax
push esi
push dword [ebp - 0xadc]
push eax
call fcn.00bc13d0
add esp, 0xc
mov eax, 0xa0
mov dword [edi + 8], eax
push eax
push 8
pop esi
push esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
je 0xccc28c
mov dword [edi + 0xc], eax
push 0xa0
push 0xd08ca8
push eax
call fcn.00bc13d0
add esp, 0xc
mov dword [edi + 0x10], esi
push esi
push esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov ecx, eax
test ecx, ecx
je 0xccc28c
mov dword [edi + 0x14], ecx
mov eax, dword [0xd08d48]
mov esi, ebx
mov dword [ecx], eax
mov eax, dword [0xd08d4c]
mov dword [ebp - 0xac0], edi
mov edi, ebx
mov dword [ecx + 4], eax
test edi, edi
je 0xccc36f
cmp dword [edi + 4], 0
je 0xccc32c
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xccc346
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xccc360
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xccc387
mov edi, dword [ebp - 0xac0]
mov dword [ebp - 0xbe8], edi
mov dword [ebp - 0xac0], ebx
jmp 0xccc389
mov edi, ebx
push dword [ebp - 0xadc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xac0]
test eax, eax
je 0xccc41a
mov ecx, dword [eax + 4]
test ecx, ecx
je 0xccc3c6
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xac0]
mov dword [eax + 4], ebx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0xccc3e5
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xac0]
mov dword [eax + 0xc], ebx
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0xccc404
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xac0]
mov dword [eax + 0x14], ebx
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
jmp 0xccc41a
mov esi, 0xc0000001
or esi, 0x10000000
jl 0xccd639
mov edx, dword [edi]
lea eax, [ebp - 0xbc0]
push 4
pop ecx
push eax
mov dword [ebp - 0xbc0], ecx
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc4b6
lea eax, [ebp - 0xbc0]
mov edx, ecx
mov ecx, dword [ebp - 0xbc0]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc4b6
mov edx, dword [edi + 8]
lea eax, [ebp - 0xbc0]
mov ecx, dword [ebp - 0xbc0]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc4b6
mov ecx, dword [ebp - 0xbc0]
lea eax, [ebp - 0xbc0]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc4b6
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0xbc0]
mov ecx, dword [ebp - 0xbc0]
push eax
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xbc0]
test esi, esi
jns 0xccc4bc
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0xaec], eax
test esi, esi
js 0xccc623
push eax
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0xac0], esi
test esi, esi
jne 0xccc4f0
mov esi, 0xc0000017
jmp 0xccc623
mov eax, dword [edi]
mov ecx, esi
mov dword [esi], eax
lea eax, [ebp - 0xb64]
push eax
push 4
pop eax
mov edx, eax
mov dword [ebp - 0xb64], esi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc60a
push dword [edi]
push dword [edi + 4]
push dword [ebp - 0xb64]
call fcn.00bc13d0
mov edx, dword [edi]
lea eax, [ebp - 0xb64]
mov ecx, dword [ebp - 0xb64]
add esp, 0xc
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc60a
mov ecx, dword [ebp - 0xb64]
mov eax, dword [edi + 8]
mov dword [ecx], eax
lea eax, [ebp - 0xb64]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc60a
push dword [edi + 8]
push dword [edi + 0xc]
push dword [ebp - 0xb64]
call fcn.00bc13d0
mov edx, dword [edi + 8]
lea eax, [ebp - 0xb64]
mov ecx, dword [ebp - 0xb64]
add esp, 0xc
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc60a
mov ecx, dword [ebp - 0xb64]
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
lea eax, [ebp - 0xb64]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc60a
push dword [edi + 0x10]
push dword [edi + 0x14]
push dword [ebp - 0xb64]
call fcn.00bc13d0
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0xb64]
mov ecx, dword [ebp - 0xb64]
add esp, 0xc
push eax
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xac0]
test esi, esi
js 0xccc610
mov ecx, dword [ebp - 0xaec]
mov dword [ebp - 0xae8], eax
mov eax, ebx
mov dword [ebp - 0xbe0], ecx
jmp 0xccc610
mov eax, dword [ebp - 0xac0]
test eax, eax
je 0xccc623
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, 0x10000000
or esi, edi
jl 0xccd639
mov dword [ebp - 0xaec], ebx
mov dword [ebp - 0xcb0], 8
mov edx, dword [ebp - 0xb04]
lea eax, [ebp - 0xcb0]
push eax
push 8
pop ecx
call fcn.00b84e9a
mov esi, eax
or esi, edi
jl 0xccc88a
mov eax, dword [ebp - 0xcb0]
lea ecx, [eax + 7]
and ecx, 0xfffffff8
cmp ecx, eax
jae 0xccc676
mov esi, 0xc0000095
jmp 0xccc697
mov dword [ebp - 0xcac], ecx
lea eax, [ebp - 0xcac]
push eax
push 8
pop edx
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xcac]
test esi, esi
jns 0xccc69d
mov eax, dword [ebp - 0xd60]
mov dword [ebp - 0xaf0], eax
test esi, esi
js 0xccc88a
mov edi, dword [ebp - 0xbb0]
mov ecx, edi
mov dword [ebp - 0xb78], ecx
mov dword [ebp - 0xb04], ebx
mov eax, dword [ecx]
mov dword [ebp - 0xb2c], eax
lea eax, [ebp - 0xb78]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc88a
mov edx, dword [ebp - 0xb2c]
lea eax, [ebp - 0xb78]
mov ecx, dword [ebp - 0xb78]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc88a
mov eax, dword [ebp - 0xb04]
xor ecx, ecx
inc eax
inc ecx
cmp eax, ecx
mov dword [ebp - 0xb04], eax
mov ecx, dword [ebp - 0xb78]
jb 0xccc6bf
mov eax, dword [ecx]
mov dword [ebp - 0xb2c], eax
lea eax, [ebp - 0xb78]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc88a
mov eax, dword [ebp - 0xb2c]
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xb14], edi
mov dword [ebp - 0xb04], ebx
lea eax, [ebp - 0xb14]
mov ecx, edi
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc7c5
mov edx, dword [edi]
lea eax, [ebp - 0xb14]
mov ecx, dword [ebp - 0xb14]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc7c5
mov eax, dword [ebp - 0xb04]
inc eax
mov dword [ebp - 0xb04], eax
cmp eax, 2
jae 0xccc7a6
mov edi, dword [ebp - 0xb14]
jmp 0xccc759
mov ecx, dword [ebp - 0xb14]
lea eax, [ebp - 0xb14]
push eax
push 4
pop eax
mov edi, dword [ecx]
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
jns 0xccc7cf
mov edi, ebx
test esi, esi
js 0xccc88a
mov edx, dword [ebp - 0xaf0]
lea eax, [ebp - 0xb10]
push 4
pop ecx
push eax
mov dword [ebp - 0xb10], ecx
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc865
lea eax, [ebp - 0xb10]
mov edx, ecx
mov ecx, dword [ebp - 0xb10]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc865
mov edx, dword [ebp - 0xaec]
lea eax, [ebp - 0xb10]
mov ecx, dword [ebp - 0xb10]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc865
mov ecx, dword [ebp - 0xb10]
lea eax, [ebp - 0xb10]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccc865
mov ecx, dword [ebp - 0xb10]
lea eax, [ebp - 0xb10]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
mov eax, dword [ebp - 0xb10]
test esi, esi
jns 0xccc86f
mov eax, dword [ebp - 0xe30]
test esi, esi
js 0xccc88a
cmp eax, 0x400000
jbe 0xccc880
mov esi, 0x8000ffff
jmp 0xccd639
mov edi, eax
mov dword [ebp - 0xb30], edi
jmp 0xccc88c
mov edi, ebx
test esi, esi
js 0xccd639
push edi
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
jne 0xccc8b1
mov esi, 0xd0000017
mov ecx, ebx
jmp 0xccc8be
mov ecx, eax
mov dword [ebp - 0xbf4], ecx
mov esi, 0x10000000
test esi, esi
js 0xccd639
mov eax, dword [ebp - 0xae8]
test eax, eax
jne 0xccc8da
mov esi, 0x80070057
jmp 0xccd639
test ecx, ecx
je 0xccc8d0
mov dword [ebp - 0xe10], eax
mov eax, dword [ebp - 0xbe0]
mov dword [ebp - 0xe08], eax
lea eax, [ebp - 0xd64]
push eax
xor eax, eax
mov dword [ebp - 0xe0c], ecx
push 0xb2be98
inc eax
mov dword [ebp - 0xe04], edi
push eax
mov dword [ebp - 0xe00], ebx
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
jne 0xccc93c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0xccc933
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0xccc982
mov esi, 0x80004005
jmp 0xccc982
push 0xb2be7c
push dword [ebp - 0xd64]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0xccc91c
push ebx
push 0x14
lea eax, [ebp - 0xe10]
mov ecx, esi
push eax
push 0x86
call dword [0xd0cffc]
call esi
mov esi, eax
or esi, 0x10000000
jl 0xccc982
mov edi, dword [ebp - 0xe04]
mov dword [ebp - 0xb30], edi
cmp esi, 0xd0000023
jne 0xccc994
mov esi, 0x8007007a
jmp 0xccd639
test esi, esi
js 0xccd639
mov eax, dword [ebp - 0xbf4]
push 4
pop edx
mov dword [ebp - 0xaa0], ebx
mov dword [ebp - 0xb28], ebx
mov dword [ebp - 0xba0], eax
cmp edi, edx
jae 0xccc9c5
mov esi, 0xc000003e
jmp 0xcccd9d
mov edi, dword [eax]
lea ecx, [ebp - 0xba0]
push ecx
mov ecx, eax
mov dword [ebp - 0xb2c], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
lea eax, [ebp - 0xb28]
xor ecx, ecx
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov eax, dword [ebp - 0xb30]
sub eax, dword [ebp - 0xb28]
cmp eax, edi
jb 0xccc9bb
mov eax, dword [ebp - 0xba0]
lea ecx, [ebp - 0xba0]
push ecx
mov edx, edi
mov dword [ebp - 0xb04], eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov ecx, dword [ebp - 0xb28]
lea eax, [ebp - 0xb28]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov eax, dword [ebp - 0xb30]
sub eax, dword [ebp - 0xb28]
push 4
pop edx
cmp eax, edx
jb 0xccc9bb
mov ecx, dword [ebp - 0xba0]
lea eax, [ebp - 0xba0]
push eax
mov edi, dword [ecx]
mov dword [ebp - 0xbd0], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov ecx, dword [ebp - 0xb28]
lea eax, [ebp - 0xb28]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov eax, dword [ebp - 0xb30]
sub eax, dword [ebp - 0xb28]
cmp eax, edi
jb 0xccc9bb
mov eax, dword [ebp - 0xba0]
lea ecx, [ebp - 0xba0]
push ecx
mov edx, edi
mov dword [ebp - 0xaec], eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov ecx, dword [ebp - 0xb28]
lea eax, [ebp - 0xb28]
push eax
mov edx, edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov eax, dword [ebp - 0xb30]
sub eax, dword [ebp - 0xb28]
push 4
pop edx
cmp eax, edx
jb 0xccc9bb
mov ecx, dword [ebp - 0xba0]
mov eax, dword [ecx]
mov dword [ebp - 0xaf0], eax
lea eax, [ebp - 0xba0]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov ecx, dword [ebp - 0xb28]
lea eax, [ebp - 0xb28]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov eax, dword [ebp - 0xb30]
sub eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xaf0]
cmp eax, ecx
jb 0xccc9bb
lea eax, [ebp - 0xb28]
mov edx, ecx
mov ecx, dword [ebp - 0xb28]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xcccd9d
mov ecx, dword [ebp - 0xb30]
mov eax, ecx
sub eax, dword [ebp - 0xb28]
jne 0xccc9bb
mov eax, dword [ebp - 0xaf0]
mov esi, dword [ebp - 0xb2c]
add eax, 0xc
add eax, edi
add eax, esi
cmp eax, ecx
jne 0xccc9bb
push 0x18
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0xcccbee
mov esi, 0xc0000017
jmp 0xcccd22
cmp dword [ebp - 0xb04], 0
je 0xcccc2c
push esi
push 8
mov dword [edi], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
jne 0xcccc17
mov esi, 0xc0000017
jmp 0xccccc1
mov dword [edi + 4], eax
push esi
push dword [ebp - 0xb04]
push eax
call fcn.00bc13d0
add esp, 0xc
jmp 0xcccc31
mov dword [edi], ebx
mov dword [edi + 4], ebx
cmp dword [ebp - 0xaec], 0
je 0xcccc6c
mov esi, dword [ebp - 0xbd0]
push esi
push 8
mov dword [edi + 8], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
je 0xcccc0d
mov dword [edi + 0xc], eax
push esi
push dword [ebp - 0xaec]
push eax
call fcn.00bc13d0
add esp, 0xc
jmp 0xcccc72
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
cmp dword [ebp - 0xba0], 0
je 0xccccb1
mov esi, dword [ebp - 0xaf0]
push esi
push 8
mov dword [edi + 0x10], esi
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
test eax, eax
je 0xcccc0d
mov dword [edi + 0x14], eax
push esi
push dword [ebp - 0xba0]
push eax
call fcn.00bc13d0
add esp, 0xc
jmp 0xccccb7
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov dword [ebp - 0xaa0], edi
mov esi, ebx
mov edi, ebx
test edi, edi
je 0xcccd22
cmp dword [edi + 4], 0
je 0xccccdf
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xccccf9
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcccd13
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xcccd36
mov eax, dword [ebp - 0xaa0]
mov edi, ebx
mov dword [ebp - 0xac8], eax
jmp 0xcccd3c
mov edi, dword [ebp - 0xaa0]
test edi, edi
je 0xcccd9d
cmp dword [edi + 4], 0
je 0xcccd5a
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xcccd74
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xcccd8e
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
or esi, 0x10000000
jl 0xccd639
mov ecx, dword [ebp - 0xac8]
mov edi, ebx
mov dword [ebp - 0xbe4], ebx
test ecx, ecx
jne 0xcccdc5
mov esi, 0xd000000d
jmp 0xccd3a9
mov eax, dword [ecx + 4]
mov dword [ebp - 0xabc], eax
test eax, eax
je 0xcccdbb
mov eax, dword [ecx]
mov dword [ebp - 0xbb0], eax
test eax, eax
je 0xcccdbb
lea esi, [eax - 8]
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xbe0], eax
test eax, eax
je 0xccd391
mov ecx, dword [ebp - 0xabc]
mov edi, eax
mov dword [ebp - 0xaf0], ecx
mov dl, bl
mov dword [ebp - 0xaa0], edi
and esi, 7
je 0xccd33d
or eax, 0xffffffff
mov dword [ebp - 0xb38], ebx
mov dword [ebp - 0xb1c], eax
mov ecx, ebx
mov dword [ebp - 0xc00], ebx
mov eax, ebx
mov dword [ebp - 0xb14], ecx
mov dword [ebp - 0xb04], eax
test esi, esi
je 0xcccea4
mov edi, dword [ebp - 0xaf0]
push 4
pop ecx
cmp eax, ecx
mov ecx, dword [ebp - 0xb5c]
movzx eax, byte [edi]
jge 0xccce71
lea ecx, [ecx - 0x20]
shl eax, cl
mov ecx, dword [ebp - 0xb14]
or ecx, eax
mov dword [ebp - 0xb14], ecx
jmp 0xccce7f
shl eax, cl
or dword [ebp - 0xc00], eax
mov ecx, dword [ebp - 0xb14]
mov eax, dword [ebp - 0xb04]
sub dword [ebp - 0xb5c], 8
inc eax
inc edi
mov dword [ebp - 0xb04], eax
cmp eax, esi
jl 0xccce4c
mov dword [ebp - 0xaf0], edi
mov edi, dword [ebp - 0xaa0]
mov eax, ecx
mov dword [ebp - 0xbcc], ebx
mov ecx, dword [ebp - 0xc00]
xor eax, 0x92f65a5
xor ecx, 0x699a899c
mov dword [ebp - 0xad8], eax
mov dword [ebp - 0xb38], eax
mov dword [ebp - 0xb2c], ecx
mov dword [ebp - 0xb1c], ecx
test esi, esi
je 0xcccf17
cmp dword [ebp - 0xbcc], 4
jge 0xcccee9
rol eax, 8
mov byte [edi], al
jmp 0xccceee
rol ecx, 8
mov byte [edi], cl
inc dword [ebp - 0xbcc]
inc edi
cmp dword [ebp - 0xbcc], esi
jl 0xccced9
mov eax, dword [ebp - 0xb38]
mov dword [ebp - 0xaa0], edi
mov edi, dword [ebp - 0xb1c]
mov dword [ebp - 0xad8], eax
jmp 0xcccf1d
mov edi, dword [ebp - 0xb2c]
add esi, 0xfffffffc
test esi, esi
jle 0xccd311
push 4
pop eax
mov ecx, eax
sub ecx, esi
shl ecx, 3
shr edi, cl
shl edi, cl
mov dword [ebp - 0xb1c], edi
mov esi, dword [ebp - 0xad8]
mov eax, dword [ebp - 0xbb0]
mov ecx, dword [ebp - 0xaf0]
lea eax, [eax - 8]
shr eax, 3
mov dword [ebp - 0xaec], eax
test eax, eax
je 0xccd2d3
mov eax, dword [ebp - 0xaa0]
add eax, 7
add ecx, 2
mov dword [ebp - 0xb04], eax
mov dword [ebp - 0xb78], ecx
movzx ebx, byte [ecx - 2]
movzx eax, byte [ecx - 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl ecx, 8
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 0xb78]
xor esi, ebx
mov dword [ebp - 0xb2c], ebx
mov dword [ebp - 0xad8], esi
mov ebx, dword [ebp - 0xad8]
movzx eax, byte [eax + 3]
or ecx, eax
mov eax, dword [ebp - 0xb78]
shl ecx, 8
movzx eax, byte [eax + 4]
or ecx, eax
mov eax, dword [ebp - 0xb78]
shl ecx, 8
add dword [ebp - 0xb78], 8
movzx eax, byte [eax + 5]
or ecx, eax
mov esi, ecx
mov dword [ebp - 0xbd0], ecx
xor esi, edi
mov edi, 0xab69605e
xor esi, ebx
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add ecx, eax
xor ebx, ecx
lea eax, [ebx + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, ebx
rol eax, 2
sub ecx, eax
xor esi, ecx
imul ecx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor ebx, ecx
mov eax, ebx
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor esi, ecx
mov ecx, esi
xor ecx, edi
sub eax, ecx
xor ebx, eax
mov eax, ebx
mov ecx, ebx
xor eax, 0x137f
ror ecx, 6
imul eax, eax, 0xab69
xor ecx, eax
xor esi, ecx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, esi
rol eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [ebx + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 8
sub ecx, eax
xor esi, ecx
mov eax, esi
xor eax, edi
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor esi, ecx
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor ebx, eax
lea edi, [ebx - 0x7f1]
xor edi, esi
xor edi, 0xab69605e
mov eax, edi
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, edi
shr eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [ebx - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, ebx
rol eax, 7
add ecx, eax
xor edi, ecx
mov eax, edi
mov ecx, edi
xor eax, 0x137f
ror ecx, 9
imul eax, eax, 0x605e
add ecx, eax
xor ebx, ecx
mov eax, ebx
mov dword [ebp - 0xad8], ebx
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 7
add ecx, eax
xor edi, ecx
mov ebx, edi
xor ebx, dword [ebp - 0xad8]
xor ebx, 0xac987321
mov eax, ebx
ror eax, 3
sub eax, 0xab69
imul eax, eax, 0x137f
xor edi, eax
lea eax, [edi - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, edi
ror eax, 6
sub ecx, eax
xor ebx, ecx
lea eax, [ebx - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, ebx
rol eax, 0xe
add ecx, eax
xor edi, ecx
lea eax, [edi - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xe
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, ebx
shr eax, 3
xor ecx, eax
xor edi, ecx
mov eax, edi
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, edi
xor edi, dword [ebp - 0xc00]
rol eax, 2
mov dword [ebp - 0xb1c], edi
xor ecx, eax
xor ecx, dword [ebp - 0xb14]
xor ebx, ecx
mov ecx, dword [ebp - 0xb04]
mov dword [ebp - 0xb38], ebx
mov byte [ecx - 4], bl
mov al, byte [ebp - 0xb1c]
ror dword [ebp - 0xb38], 8
mov byte [ecx], al
mov al, byte [ebp - 0xb38]
ror dword [ebp - 0xb1c], 8
mov byte [ecx - 5], al
mov al, byte [ebp - 0xb1c]
ror dword [ebp - 0xb38], 8
mov byte [ecx - 1], al
mov al, byte [ebp - 0xb38]
ror dword [ebp - 0xb1c], 8
mov byte [ecx - 6], al
mov al, byte [ebp - 0xb1c]
ror dword [ebp - 0xb38], 8
mov byte [ecx - 2], al
ror dword [ebp - 0xb1c], 8
mov al, byte [ebp - 0xb38]
mov byte [ecx - 7], al
mov al, byte [ebp - 0xb1c]
mov byte [ecx - 3], al
add ecx, 8
mov esi, dword [ebp - 0xb38]
mov edi, dword [ebp - 0xb1c]
mov eax, dword [ebp - 0xb2c]
ror esi, 8
ror edi, 8
sub dword [ebp - 0xaec], 1
mov dword [ebp - 0xb14], eax
mov eax, dword [ebp - 0xbd0]
mov dword [ebp - 0xb04], ecx
mov ecx, dword [ebp - 0xb78]
mov dword [ebp - 0xb38], esi
mov dword [ebp - 0xb1c], edi
mov dword [ebp - 0xc00], eax
jne 0xcccf7a
xor ebx, ebx
mov esi, dword [ebp - 0xbb0]
mov eax, ebx
mov ecx, dword [ebp - 0xbe0]
add esi, 0xfffffff8
je 0xccd2ee
xor dl, byte [eax + ecx]
inc eax
cmp eax, esi
jb 0xccd2e6
mov edi, dword [ebp - 0xabc]
movzx eax, dl
cdq
cmp eax, dword [esi + edi]
jne 0xccd358
cmp edx, dword [esi + edi + 4]
jne 0xccd358
mov edi, ecx
mov dword [ebp - 0xbe4], esi
mov ecx, ebx
mov esi, ebx
jmp 0xccd35f
mov edi, ebx
mov dword [ebp - 0xb1c], edi
test esi, esi
jns 0xcccf3c
neg esi
shl esi, 3
mov ecx, esi
shr eax, cl
shl eax, cl
mov dword [ebp - 0xad8], eax
mov dword [ebp - 0xb38], eax
jmp 0xcccf3c
mov edi, ebx
mov dword [ebp - 0xb14], ebx
mov esi, ebx
mov dword [ebp - 0xb1c], edi
mov dword [ebp - 0xb38], esi
jmp 0xcccf42
mov esi, 0xc004d501
mov edi, ebx
test ecx, ecx
je 0xccd372
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xccd391
mov eax, dword [ebp - 0xbe4]
mov esi, 0x10000000
mov dword [ebp - 0xb98], edi
mov edi, ebx
mov dword [ebp - 0xbc8], eax
jmp 0xccd396
mov esi, 0xd0000001
test edi, edi
je 0xccd3a9
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xccd639
mov edi, dword [ebp - 0xbc8]
mov ecx, dword [ebp - 0xb98]
push 4
pop edx
mov dword [ebp - 0xb88], ebx
mov dword [ebp - 0xc44], ecx
cmp edi, edx
jb 0xccd62e
mov eax, dword [ecx]
mov dword [ebp - 0xb2c], eax
lea eax, [ebp - 0xc44]
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
lea eax, [ebp - 0xb88]
xor ecx, ecx
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov eax, edi
sub eax, dword [ebp - 0xb88]
push 4
pop edx
cmp eax, edx
jb 0xccd62e
mov ecx, dword [ebp - 0xc44]
lea eax, [ebp - 0xc44]
push eax
mov edi, dword [ecx]
mov dword [ebp - 0xaf0], edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov ecx, dword [ebp - 0xb88]
lea eax, [ebp - 0xb88]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov eax, dword [ebp - 0xbc8]
mov ecx, dword [ebp - 0xb88]
sub eax, ecx
cmp eax, edi
jb 0xccd62e
lea eax, [ebp - 0xb88]
mov edx, edi
push eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov edi, dword [ebp - 0xc44]
mov edx, dword [ebp - 0xaf0]
mov eax, dword [ebp - 0xb98]
mov esi, dword [ebp - 0xbc8]
add eax, esi
lea ecx, [edx + edi]
cmp eax, ecx
jb 0xccd62e
sub esi, edx
sub esi, edi
add esi, dword [ebp - 0xb98]
cmp esi, 8
jae 0xccd62e
mov dword [ebp - 0xaa0], ebx
mov eax, ebx
mov dword [ebp - 0xaec], eax
mov esi, ebx
test edi, edi
je 0xccd5c1
lea eax, [ebp - 0xc14]
mov dword [ebp - 0xb04], edi
push eax
mov ecx, edi
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov eax, dword [ebp - 0xc14]
cmp edi, eax
jae 0xccd5b5
lea eax, [ebp - 0xd68]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov eax, dword [ebp - 0xc14]
cmp dword [ebp - 0xd68], eax
ja 0xccd5e6
mov edx, dword [ecx]
lea eax, [ebp - 0xd6c]
push eax
push 4
pop eax
mov ecx, eax
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd565
mov eax, dword [ebp - 0xd6c]
mov dword [ebp - 0xd70], eax
jmp 0xccd56b
mov eax, dword [ebp - 0xd70]
test esi, esi
js 0xccd633
lea ecx, [ebp - 0xc58]
mov edx, eax
push ecx
mov ecx, dword [ebp - 0xb04]
call fcn.00b84e9a
mov esi, eax
test esi, esi
js 0xccd633
mov ecx, dword [ebp - 0xc58]
mov eax, dword [ebp - 0xc14]
mov dword [ebp - 0xb04], ecx
cmp ecx, eax
ja 0xccd5e6
inc dword [ebp - 0xaa0]
cmp ecx, eax
jb 0xccd511
cmp ecx, eax
jne 0xccd5e6
mov edx, dword [ebp - 0xaf0]
mov eax, ebx
test edx, edx
je 0xccd5f5
push edx
push 8
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0xaec], eax
test eax, eax
jne 0xccd5ed
mov esi, 0xc0000017
jmp 0xccd61c
mov esi, 0xc000000d
jmp 0xccd633
mov edx, dword [ebp - 0xaf0]
mov esi, ebx
test edi, edi
je 0xccd60a
push edx
push edi
push eax
call fcn.00bc13d0
mov eax, dword [ebp - 0xaec]
add esp, 0xc
mov dword [ebp - 0xcd0], eax
mov eax, dword [ebp - 0xaa0]
mov dword [ebp - 0xcd8], eax
test esi, esi
js 0xccd633
mov eax, dword [ebp - 0xb2c]
cmp eax, dword [ebp - 0xcd8]
je 0xccd633
mov esi, 0xc000003e
or esi, 0x10000000
mov eax, dword [ebp - 0xb80]
test eax, eax
je 0xccd652
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, dword [ebp - 0xbe8]
test edi, edi
je 0xccd6b9
cmp dword [edi + 4], 0
je 0xccd676
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xccd690
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xccd6aa
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xae8]
test eax, eax
je 0xccd6d2
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xbf4]
test eax, eax
je 0xccd6eb
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edi, dword [ebp - 0xac8]
test edi, edi
je 0xccd752
cmp dword [edi + 4], 0
je 0xccd70f
push dword [edi + 4]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 4], ebx
cmp dword [edi + 0xc], 0
je 0xccd729
push dword [edi + 0xc]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0xc], ebx
cmp dword [edi + 0x14], 0
je 0xccd743
push dword [edi + 0x14]
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov dword [edi + 0x14], ebx
push edi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xb98]
test eax, eax
je 0xccd76b
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
js 0xccd81c
mov esi, dword [ebp - 0xcd8]
xor eax, eax
inc eax
cmp esi, eax
jb 0xccd81c
mov ecx, dword [ebp - 0xcd0]
test ecx, ecx
je 0xccd81c
test esi, esi
je 0xccd81c
lea eax, [ebp - 0xc3c]
mov dword [ebp - 0xc3c], ecx
push eax
push 4
pop edi
mov edx, edi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov eax, dword [ecx]
neg eax
sbb eax, eax
and eax, dword [ebp - 0xc3c]
cmp dword [ecx], edi
jne 0xccd81c
cmp dword [eax], 0
jl 0xccd81c
xor eax, eax
inc eax
cmp esi, eax
jbe 0xccd81c
mov dword [ebp - 0xc38], ecx
mov esi, ebx
mov edi, dword [ecx]
lea eax, [ebp - 0xc38]
push eax
push 4
pop eax
mov edx, eax
call fcn.00b84e9a
test eax, eax
js 0xccd81c
mov ecx, dword [ebp - 0xc38]
lea eax, [ebp - 0xc38]
push eax
mov edx, edi
call fcn.00b84e9a
test eax, eax
js 0xccd81c
xor eax, eax
inc esi
inc eax
cmp esi, eax
jae 0xccd81c
mov ecx, dword [ebp - 0xc38]
jmp 0xccd7d9
mov esi, ebx
jmp 0xccd822
mov esi, dword [ebp - 0xa9c]
mov eax, dword [ebp - 0xaa4]
test eax, eax
je 0xccd83b
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov ecx, dword [ebp - 0xcd0]
test ecx, ecx
je 0xccd854
push ecx
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test esi, esi
je 0xccd867
push esi
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xaa8]
test eax, eax
je 0xccd880
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, dword [ebp - 0xb60]
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xc64], eax
jmp 0xcc3b2d
mov ecx, 0xc004f027
test ecx, ecx
js 0xcc3be6
push 4
pop ecx
cmp dword [ebp - 0xc34], ecx
jne 0xcc3be6
mov esi, dword [eax]
jmp 0xcc3be8