Function at 0xcb195f
Capabilities:
Encode data using xor
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x9dc
mov eax, dword [0xd08954]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x9c8]
mov ebx, ecx
mov dword [ebp - 0x8c4], eax
push 6
pop ecx
rep stosd dword es:[edi], eax
push eax
mov dword [ebp - 0x8e4], ebx
mov edi, eax
mov esi, eax
mov dword [ebp - 0x8a8], eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x920], eax
test eax, eax
jne 0xcb19d4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb19c4
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb64de
mov ebx, 0x80004005
jmp 0xcb64de
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 4], eax
test eax, eax
jne 0xcb1a09
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb19f9
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb64c4
mov ebx, 0x80004005
jmp 0xcb64c4
cmp dword [ebx + 0x40], 3
je 0xcb1a18
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x8a8], esi
xor eax, eax
push 0x2c
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x9c4]
add esp, 0xc
add eax, esi
add dword [ebx + 0xa4], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x894], eax
cmp eax, dword [ebp - 0x9c0]
jg 0xcb1a5a
mov eax, dword [ebp - 0x9c0]
mov dword [ebp - 0x894], eax
mov dword [ebx + 0xa8], eax
mov edx, 0xd0aed4
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0x8d8], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x8fc], eax
xor eax, eax
inc eax
mov ecx, eax
xor eax, eax
lock cmpxchg dword [edx], ecx
push 1
test eax, eax
pop eax
jne 0xcb1a7d
mov eax, dword [0xd0a150]
mov ebx, 0xb2bef2
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x884], 0x67
mov dword [ebp - 0x8b0], 0x337
mov dword [ebp - 0x8ac], 0x10b
mov dword [ebp - 0x8d4], 0x20b
test eax, eax
jne 0xcb20d5
push 0x338
mov esi, eax
mov dword [ebp - 0x90c], eax
push eax
mov dword [ebp - 0x890], eax
mov dword [ebp - 0x8e0], 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
mov dword [ebp - 0x8b4], ecx
test ecx, ecx
je 0xcb20c9
or dword [ebp - 0x888], 0xffffffff
xor edx, edx
add ecx, 7
mov dword [ebp - 0x180], 0xab69605e
mov al, dl
mov dword [ebp - 0x17c], 0x7f1137f
mov dword [ebp - 0x910], edx
mov esi, ebx
mov dword [ebp - 0x8f4], edx
mov dword [ebp - 0x908], edi
mov dword [ebp - 0x898], ecx
mov dword [ebp - 0x8a0], 0x67
movzx edx, byte [esi - 2]
movzx ecx, byte [esi - 1]
movzx ebx, byte [esi + 2]
shl edx, 8
or edx, ecx
shl ebx, 8
movzx ecx, byte [esi]
shl edx, 8
or edx, ecx
movzx ecx, byte [esi + 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [esi + 3]
or ebx, ecx
mov dword [ebp - 0x88c], edx
movzx ecx, byte [esi + 4]
xor edi, edx
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esi + 5]
add esi, 8
shl ebx, 8
or ebx, ecx
mov dword [ebp - 0x8a4], esi
mov esi, ebx
xor esi, dword [ebp - 0x8f4]
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, 0xab69605e
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, 0xab69605e
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 - 0x8cc], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0x8cc]
xor edi, 0xab69605e
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
mov dword [ebp - 0x8cc], esi
xor ecx, 0xab69
rol ecx, 5
imul edx, ecx, 0x7f1
mov ecx, esi
rol ecx, 7
add edx, ecx
mov ecx, esi
xor edi, edx
xor ecx, edi
xor ecx, 0xac987321
mov dword [ebp - 0x8cc], ecx
ror ecx, 3
sub ecx, 0xab69
mov esi, dword [ebp - 0x8cc]
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 esi, edx
lea ecx, [esi - 0x54969fa2]
rol ecx, 3
imul edx, ecx, 0x7f1
mov ecx, esi
rol ecx, 0xe
add edx, ecx
xor edi, edx
lea ecx, [edi - 0x54969fa2]
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, edi
ror ecx, 0xe
sub edx, ecx
xor esi, edx
mov ecx, esi
mov dword [ebp - 0x8cc], esi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, esi
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 - 0x888]
rol ecx, 2
mov dword [ebp - 0x8f4], edi
mov dword [ebp - 0x888], ebx
xor edx, ecx
mov ecx, esi
xor edx, dword [ebp - 0x910]
xor ecx, edx
mov esi, dword [ebp - 0x8a4]
mov edx, dword [ebp - 0x898]
mov dword [ebp - 0x908], ecx
mov byte [edx - 4], cl
mov cl, byte [ebp - 0x8f4]
ror dword [ebp - 0x908], 8
mov byte [edx], cl
mov cl, byte [ebp - 0x908]
ror dword [ebp - 0x8f4], 8
mov byte [edx - 5], cl
mov cl, byte [ebp - 0x8f4]
ror dword [ebp - 0x908], 8
mov byte [edx - 1], cl
mov cl, byte [ebp - 0x908]
ror dword [ebp - 0x8f4], 8
mov byte [edx - 6], cl
mov cl, byte [ebp - 0x8f4]
ror dword [ebp - 0x908], 8
mov byte [edx - 2], cl
mov cl, byte [ebp - 0x908]
ror dword [ebp - 0x8f4], 8
mov byte [edx - 7], cl
mov cl, byte [ebp - 0x8f4]
mov byte [edx - 3], cl
add edx, 8
mov ecx, dword [ebp - 0x908]
ror dword [ebp - 0x8f4], 8
ror ecx, 8
sub dword [ebp - 0x8a0], 1
mov dword [ebp - 0x8cc], ecx
mov edi, dword [ebp - 0x8cc]
mov dword [ebp - 0x908], ecx
mov ecx, dword [ebp - 0x88c]
mov dword [ebp - 0x910], ecx
mov dword [ebp - 0x898], edx
jne 0xcb1b49
xor ecx, ecx
mov edx, ecx
mov ecx, dword [ebp - 0x8b4]
xor al, byte [edx + ecx]
inc edx
cmp edx, 0x338
jb 0xcb1eb1
movzx eax, al
cdq
cmp eax, dword [0xb2c228]
jne 0xcb1ee6
cmp edx, dword [0xb2c22c]
jne 0xcb1ee6
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x8e0], edi
mov ecx, eax
mov ebx, 0x337
mov esi, eax
jmp 0xcb1ef6
mov edi, dword [ebp - 0x8e0]
or ebx, 0xffffffff
mov esi, 0xc004d501
xor eax, eax
test ecx, ecx
je 0xcb1f09
push ecx
push 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_HeapFree]
test esi, esi
js 0xcb20c3
xor eax, eax
mov esi, edi
push 0x40
mov byte [ebx + edi], al
mov ebx, 0xd0ae80
push eax
push ebx
call fcn.00bc259b
add esp, 0xc
cmp byte [edi], 0
je 0xcb2059
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x8c4]
jne 0xcb1f3b
sub ecx, ebx
xor ebx, ebx
push edi
sar ecx, 1
push edx
push ebx
lea esi, [esi + ecx*2]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xcb20bc
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0x890], ecx
cmp word [eax], dx
je 0xcb1f85
mov ecx, 0xc000007b
mov dword [ebp - 0x890], ecx
jmp 0xcb1fcd
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0xcb1f78
add edx, dword [edi]
cmp edx, dword [edi]
jb 0xcb1f78
cmp dword [edx], 0x4550
jne 0xcb1f78
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0x8ac]
je 0xcb1fbb
cmp ax, word [ebp - 0x8d4]
je 0xcb1fbb
mov ecx, 0xc000000d
jmp 0xcb1f7d
mov eax, dword [edx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi + 2]
add esi, 6
mov dword [ebp - 0x8b4], eax
test eax, eax
je 0xcb204d
mov edx, esi
mov dword [ebp - 0x8a4], esi
xor eax, eax
mov dword [ebp - 0x95c], eax
lea eax, [edx + 1]
mov dword [ebp - 0x88c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0xcb1ff6
sub edx, dword [ebp - 0x88c]
inc esi
add esi, edx
test ecx, ecx
js 0xcb203e
mov ecx, dword [ebp - 0x8a4]
lea eax, [ebp - 0x95c]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov ecx, eax
mov dword [ebp - 0x890], ecx
test ecx, ecx
js 0xcb2059
mov edx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x95c]
mov dword [edx*4 + section..data], eax
inc dword [ebp - 0x90c]
inc ebx
cmp ebx, dword [ebp - 0x8b4]
jb 0xcb1fdd
add edi, 0x10
cmp byte [esi], 0
jne 0xcb1f34
mov ebx, dword [ebp - 0x890]
mov esi, dword [ebp - 0x8e0]
test esi, esi
je 0xcb207a
push esi
xor eax, eax
push 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_HeapFree]
test ebx, ebx
jns 0xcb20d0
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcb2093
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcb2082
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 0xcb20db
mov ebx, 0xc000007a
jmp 0xcb205f
mov esi, dword [ebp - 0x8e0]
mov ebx, 0xc000007a
jmp 0xcb2065
mov eax, dword [0xd0a150]
inc eax
mov dword [0xd0a150], eax
xor eax, eax
mov ecx, 0xd0aed4
xchg dword [ecx], eax
xor eax, eax
push 0x2c
push eax
mov dword [ebp - 0x980], eax
mov ebx, eax
lea eax, [ebp - 0x214]
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x8d8]
add esp, 0xc
mov esi, dword [0xd0800c]
xor ecx, ecx
mov dword [ebp - 0x210], eax
xor edi, edi
mov eax, dword [ebp - 0x894]
inc edi
push 0x20
neg eax
mov dword [ebp - 0x214], 0x28
mov dword [ebp - 0x20c], eax
pop eax
push ecx
push ecx
mov word [ebp - 0x206], ax
lea eax, [ebp - 0x980]
push eax
push ecx
lea eax, [ebp - 0x214]
mov word [ebp - 0x208], di
push eax
push dword [ebp - 0x8fc]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, eax
mov dword [ebp - 0x914], esi
test esi, esi
jne 0xcb218b
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb2184
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb218b
mov ebx, 0x80004005
mov edx, 0xd0aed4
mov ecx, edi
xor eax, eax
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xcb2190
mov eax, dword [0xd0a150]
test eax, eax
jle 0xcb21f3
sub eax, 1
mov dword [0xd0a150], eax
jne 0xcb21f3
xor eax, eax
mov esi, eax
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcb21c4
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcb21b3
push 0x40
xor eax, eax
push eax
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 esi, dword [ebp - 0x914]
xor eax, eax
mov ecx, 0xd0aed4
xchg dword [ecx], eax
test ebx, ebx
js 0xcb64be
push esi
mov esi, dword [ebp - 0x8e4]
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esi + 8], eax
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x97c], eax
test eax, eax
jne 0xcb224c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb2241
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
mov edi, dword [ebp - 0x914]
jmp 0xcb19f9
xor ebx, ebx
cmp dword [esi + 0x48], ebx
je 0xcb2257
mov eax, ebx
jmp 0xcb2263
mov eax, dword [ebp - 0x9c4]
add eax, dword [ebp - 0x8a8]
mov dword [esi + 0x10], eax
lea ecx, [esi + 0x10]
mov dword [esi + 0x14], ebx
mov eax, dword [esi + 4]
mov dword [ebp - 0x8e0], eax
mov eax, dword [esi + 0x44]
push 0x54
mov dword [ebp - 0x8fc], eax
lea eax, [ebp - 0x568]
push ebx
push eax
mov dword [ebp - 0x8e4], ecx
call fcn.00bc259b
xor eax, eax
mov dword [ebp - 0x964], ebx
lea edi, [ebp - 0x930]
mov dword [ebp - 0x960], ebx
stosd dword es:[edi], eax
add esp, 0xc
mov dword [ebp - 0x8cc], ebx
mov dword [ebp - 0x90c], ebx
stosd dword es:[edi], eax
push 0x2c
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x298]
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0x910], ebx
mov edx, 0xd0aed4
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xcb22d7
mov eax, dword [0xd0a150]
test eax, eax
jne 0xcb28e8
push 0x338
mov esi, ebx
mov dword [ebp - 0x894], ebx
push ebx
mov dword [ebp - 0x890], ebx
mov dword [ebp - 0x8c0], esi
mov dword [ebp - 0x8c8], 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 - 0x8d8], eax
test eax, eax
je 0xcb28da
or dword [ebp - 0x898], 0xffffffff
mov edi, ebx
add eax, 7
mov dword [ebp - 0x188], 0xab69605e
mov cl, bl
mov dword [ebp - 0x184], 0x7f1137f
mov dword [ebp - 0x888], ebx
mov esi, 0xb2bef2
mov dword [ebp - 0x8f0], ebx
mov dword [ebp - 0x904], edi
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x8a8], 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 - 0x8a4], 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 - 0x8dc], esi
mov esi, edx
mov dword [ebp - 0x8b4], edx
xor esi, dword [ebp - 0x8f0]
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 - 0x88c], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0x88c]
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 - 0x8dc]
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 - 0x898]
rol eax, 2
mov dword [ebp - 0x8f0], edi
xor edx, eax
xor edx, dword [ebp - 0x888]
xor ebx, edx
mov edx, dword [ebp - 0x8a0]
mov dword [ebp - 0x904], ebx
mov byte [edx - 4], bl
mov al, byte [ebp - 0x8f0]
ror dword [ebp - 0x904], 8
mov byte [edx], al
mov al, byte [ebp - 0x904]
ror dword [ebp - 0x8f0], 8
mov byte [edx - 5], al
mov al, byte [ebp - 0x8f0]
ror dword [ebp - 0x904], 8
mov byte [edx - 1], al
mov al, byte [ebp - 0x904]
ror dword [ebp - 0x8f0], 8
mov byte [edx - 6], al
mov al, byte [ebp - 0x8f0]
ror dword [ebp - 0x904], 8
mov byte [edx - 2], al
mov al, byte [ebp - 0x904]
ror dword [ebp - 0x8f0], 8
mov byte [edx - 7], al
mov al, byte [ebp - 0x8f0]
mov byte [edx - 3], al
add edx, 8
mov edi, dword [ebp - 0x904]
mov eax, dword [ebp - 0x8a4]
ror dword [ebp - 0x8f0], 8
ror edi, 8
sub dword [ebp - 0x8a8], 1
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x904], edi
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x8a0], edx
jne 0xcb2375
mov esi, dword [ebp - 0x8d8]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xcb26b2
movzx eax, cl
cdq
cmp eax, dword [0xb2c228]
jne 0xcb26e4
cmp edx, dword [0xb2c22c]
jne 0xcb26e4
mov edi, esi
xor eax, eax
mov dword [ebp - 0x8c0], edi
mov esi, eax
mov ebx, 0x337
jmp 0xcb26f9
mov edi, dword [ebp - 0x8c0]
or ebx, 0xffffffff
mov dword [ebp - 0x8c8], 0xc004d501
xor eax, eax
test esi, esi
je 0xcb270c
push esi
push 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_HeapFree]
cmp dword [ebp - 0x8c8], 0
jl 0xcb28d4
xor eax, eax
mov esi, edi
push 0x40
mov byte [ebx + edi], al
mov ebx, 0xd0ae80
push eax
push ebx
call fcn.00bc259b
add esp, 0xc
cmp byte [edi], 0
je 0xcb286a
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x8c4]
jne 0xcb2743
sub ecx, ebx
xor ebx, ebx
push edi
sar ecx, 1
push edx
push ebx
lea esi, [esi + ecx*2]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xcb28cd
mov eax, dword [edi]
mov ecx, 0x5a4d
mov edx, ebx
mov dword [ebp - 0x890], edx
cmp word [eax], cx
je 0xcb278d
mov edx, 0xc000007b
mov dword [ebp - 0x890], edx
jmp 0xcb27d5
mov ecx, dword [eax + 0x3c]
cmp ecx, 0x10000000
jae 0xcb2780
add ecx, dword [edi]
cmp ecx, dword [edi]
jb 0xcb2780
cmp dword [ecx], 0x4550
jne 0xcb2780
movzx eax, word [ecx + 0x18]
cmp ax, word [ebp - 0x8ac]
je 0xcb27c3
cmp ax, word [ebp - 0x8d4]
je 0xcb27c3
mov edx, 0xc000000d
jmp 0xcb2785
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 + 2]
add esi, 6
mov dword [ebp - 0x8b4], eax
test eax, eax
je 0xcb285e
mov ecx, esi
mov dword [ebp - 0x8a4], esi
xor eax, eax
mov dword [ebp - 0x958], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x88c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb27fe
sub ecx, dword [ebp - 0x88c]
inc esi
add esi, ecx
test edx, edx
js 0xcb2848
mov ecx, dword [ebp - 0x8a4]
lea eax, [ebp - 0x958]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov edx, eax
mov dword [ebp - 0x890], edx
test edx, edx
js 0xcb286a
mov eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0x958]
mov dword [eax*4 + section..data], ecx
jmp 0xcb284e
mov eax, dword [ebp - 0x894]
inc eax
inc ebx
mov dword [ebp - 0x894], eax
cmp ebx, dword [ebp - 0x8b4]
jb 0xcb27e5
add edi, 0x10
cmp byte [esi], 0
jne 0xcb273c
mov ebx, dword [ebp - 0x890]
mov esi, dword [ebp - 0x8c0]
test esi, esi
je 0xcb288b
push esi
xor eax, eax
push 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_HeapFree]
test ebx, ebx
jns 0xcb28e1
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcb28a4
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcb2893
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 0xcb28ee
mov ebx, 0xc000007a
jmp 0xcb2870
mov esi, dword [ebp - 0x8c0]
mov ebx, 0xc000007a
jmp 0xcb2876
mov eax, dword [0xd0a150]
xor ebx, ebx
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 - 0x940]
mov dword [ebp - 0x8b8], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x8d0], ebx
mov dword [ebp - 0x8a8], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x9a4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xcb2923
mov eax, dword [0xd0a150]
test eax, eax
jne 0xcb2f26
push 0x338
mov esi, ebx
mov dword [ebp - 0x894], ebx
push ebx
mov dword [ebp - 0x890], ebx
mov dword [ebp - 0x8c0], esi
mov dword [ebp - 0x8d8], 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 - 0x8dc], eax
test eax, eax
je 0xcb2f18
or dword [ebp - 0x898], 0xffffffff
mov edi, ebx
add eax, 7
mov dword [ebp - 0x190], 0xab69605e
mov cl, bl
mov dword [ebp - 0x18c], 0x7f1137f
mov dword [ebp - 0x888], ebx
mov dword [ebp - 0x8ec], ebx
mov dword [ebp - 0x8f8], edi
mov dword [ebp - 0x8a0], eax
mov esi, dword [ebp - 0x89c]
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 - 0x8a4], 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 - 0x89c], esi
mov esi, edx
mov dword [ebp - 0x8b4], edx
xor esi, dword [ebp - 0x8ec]
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 - 0x88c], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0x88c]
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]
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 - 0x898]
rol eax, 2
mov dword [ebp - 0x8ec], edi
xor edx, eax
xor edx, dword [ebp - 0x888]
xor ebx, edx
mov edx, dword [ebp - 0x8a0]
mov dword [ebp - 0x8f8], ebx
mov byte [edx - 4], bl
mov al, byte [ebp - 0x8ec]
ror dword [ebp - 0x8f8], 8
mov byte [edx], al
mov al, byte [ebp - 0x8f8]
ror dword [ebp - 0x8ec], 8
mov byte [edx - 5], al
mov al, byte [ebp - 0x8ec]
ror dword [ebp - 0x8f8], 8
mov byte [edx - 1], al
mov al, byte [ebp - 0x8f8]
ror dword [ebp - 0x8ec], 8
mov byte [edx - 6], al
mov al, byte [ebp - 0x8ec]
ror dword [ebp - 0x8f8], 8
mov byte [edx - 2], al
mov al, byte [ebp - 0x8f8]
ror dword [ebp - 0x8ec], 8
mov byte [edx - 7], al
mov al, byte [ebp - 0x8ec]
mov byte [edx - 3], al
add edx, 8
mov edi, dword [ebp - 0x8f8]
mov eax, dword [ebp - 0x8a4]
ror dword [ebp - 0x8ec], 8
ror edi, 8
sub dword [ebp - 0x884], 1
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x8f8], edi
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x8a0], edx
jne 0xcb29b2
mov esi, dword [ebp - 0x8dc]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xcb2cef
movzx eax, cl
cdq
cmp eax, dword [0xb2c228]
jne 0xcb2d22
cmp edx, dword [0xb2c22c]
jne 0xcb2d22
mov ebx, dword [ebp - 0x8d8]
mov edi, esi
xor eax, eax
mov dword [ebp - 0x8c0], edi
mov esi, eax
jmp 0xcb2d36
or dword [ebp - 0x8b0], 0xffffffff
mov ebx, 0xc004d501
mov edi, dword [ebp - 0x8c0]
xor eax, eax
test esi, esi
je 0xcb2d49
push esi
push 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_HeapFree]
test ebx, ebx
js 0xcb2f12
mov eax, dword [ebp - 0x8b0]
xor ecx, ecx
push 0x40
push ecx
mov ebx, 0xd0ae80
mov esi, edi
push ebx
mov byte [edi + eax], cl
call fcn.00bc259b
add esp, 0xc
cmp byte [edi], 0
je 0xcb2ea8
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x8c4]
jne 0xcb2d81
sub ecx, ebx
xor ebx, ebx
push edi
sar ecx, 1
push edx
push ebx
lea esi, [esi + ecx*2]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleExW]
test eax, eax
je 0xcb2f0b
mov eax, dword [edi]
mov ecx, 0x5a4d
mov edx, ebx
mov dword [ebp - 0x890], edx
cmp word [eax], cx
je 0xcb2dcb
mov edx, 0xc000007b
mov dword [ebp - 0x890], edx
jmp 0xcb2e13
mov ecx, dword [eax + 0x3c]
cmp ecx, 0x10000000
jae 0xcb2dbe
add ecx, dword [edi]
cmp ecx, dword [edi]
jb 0xcb2dbe
cmp dword [ecx], 0x4550
jne 0xcb2dbe
movzx eax, word [ecx + 0x18]
cmp ax, word [ebp - 0x8ac]
je 0xcb2e01
cmp ax, word [ebp - 0x8d4]
je 0xcb2e01
mov edx, 0xc000000d
jmp 0xcb2dc3
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 + 2]
add esi, 6
mov dword [ebp - 0x8b4], eax
test eax, eax
je 0xcb2e9c
mov ecx, esi
mov dword [ebp - 0x8a4], esi
xor eax, eax
mov dword [ebp - 0x954], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x88c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb2e3c
sub ecx, dword [ebp - 0x88c]
inc esi
add esi, ecx
test edx, edx
js 0xcb2e86
mov ecx, dword [ebp - 0x8a4]
lea eax, [ebp - 0x954]
push eax
push edi
xor edx, edx
call fcn.00b884d0
mov edx, eax
mov dword [ebp - 0x890], edx
test edx, edx
js 0xcb2ea8
mov eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0x954]
mov dword [eax*4 + section..data], ecx
jmp 0xcb2e8c
mov eax, dword [ebp - 0x894]
inc eax
inc ebx
mov dword [ebp - 0x894], eax
cmp ebx, dword [ebp - 0x8b4]
jb 0xcb2e23
add edi, 0x10
cmp byte [esi], 0
jne 0xcb2d7a
mov ebx, dword [ebp - 0x890]
mov esi, dword [ebp - 0x8c0]
test esi, esi
je 0xcb2ec9
push esi
xor eax, eax
push 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_HeapFree]
test ebx, ebx
jns 0xcb2f1f
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcb2ee2
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcb2ed1
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 0xcb2f2c
mov ebx, 0xc000007a
jmp 0xcb2eae
mov esi, dword [ebp - 0x8c0]
mov ebx, 0xc000007a
jmp 0xcb2eb4
mov eax, dword [0xd0a150]
xor ebx, ebx
inc eax
mov dword [0xd0a150], eax
xor eax, eax
mov edi, 0xd0aed4
xchg dword [edi], eax
push 0x54
lea eax, [ebp - 0x568]
push ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x8fc]
add esp, 0xc
mov esi, dword [0xd0807c]
mov ecx, eax
mov dword [ebp - 0x930], ebx
push 0xf
pop edx
and ecx, edx
mov dword [ebp - 0x890], 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 - 0x8b0], eax
mov dword [ebp - 0x8c0], 0xffffff
test eax, eax
jne 0xcb2fd1
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb2fc1
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb43f4
mov ebx, 0x80004005
jmp 0xcb43f4
mov esi, dword [0xd08050]
mov eax, ebx
mov dword [ebp - 0x8bc], eax
mov edi, ebx
lea eax, [ebp - 0x934]
mov dword [ebp - 0x89c], edi
push eax
push ebx
lea eax, [ebp - 0x918]
mov dword [ebp - 0x91c], ebx
push eax
push 8
mov ecx, esi
mov dword [ebp - 0x8c8], ebx
mov dword [ebp - 0x884], ebx
mov dword [ebp - 0x934], ebx
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb30a7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3039
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb3210
mov ebx, 0x80004005
mov esi, dword [ebp - 0x884]
xor edx, edx
mov eax, dword [ebp - 0x91c]
test eax, eax
je 0xcb3068
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0xcb3068
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0xcb3060
test esi, esi
je 0xcb307b
push esi
push edx
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 - 0x91c]
test eax, eax
je 0xcb3972
push eax
xor eax, eax
push 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_HeapFree]
xor ecx, ecx
mov dword [ebp - 0x91c], ecx
jmp 0xcb3974
mov eax, dword [ebp - 0x934]
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 ebx, eax
mov dword [ebp - 0x8a0], ebx
test ebx, ebx
jne 0xcb30d4
mov ebx, 0x8007000e
jmp 0xcb3044
mov eax, dword [ebp - 0x918]
lea eax, [eax*4 + 4]
push eax
xor eax, eax
push 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 - 0x898], eax
test eax, eax
je 0xcb31f5
mov esi, eax
lea eax, [ebp - 0x934]
push eax
push ebx
mov ebx, dword [0xd08050]
lea eax, [ebp - 0x918]
push eax
push 8
mov ecx, ebx
call dword [0xd0cffc]
call ebx
test eax, eax
jne 0xcb314c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb313e
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb3145
mov ebx, 0x80004005
xor ecx, ecx
jmp 0xcb31e0
mov eax, dword [ebp - 0x898]
xor ecx, ecx
mov ebx, eax
mov edi, dword [ebp - 0x8a0]
mov dword [ebp - 0x888], ecx
cmp dword [ebp - 0x918], ecx
jbe 0xcb31bd
mov esi, dword [0xd08058]
push ecx
push edi
mov ecx, esi
call dword [0xd0cffc]
call esi
mov ecx, edi
mov dword [ebx], eax
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xcb3185
sub ecx, edx
sar ecx, 1
push 4
pop eax
add ebx, eax
mov eax, dword [ebp - 0x888]
lea edi, [edi + ecx*2]
add edi, 2
inc eax
push 0
mov dword [ebp - 0x888], eax
pop ecx
cmp eax, dword [ebp - 0x918]
jb 0xcb316a
mov eax, dword [ebp - 0x898]
mov dword [ebx], 0x409
mov edi, eax
mov ebx, dword [ebp - 0x8bc]
mov esi, ecx
mov dword [ebp - 0x89c], eax
mov eax, dword [ebp - 0x918]
inc eax
mov dword [ebp - 0x888], eax
test esi, esi
je 0xcb31fa
push esi
push ecx
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 0xcb31fa
mov ebx, 0x8007000e
push dword [ebp - 0x8a0]
xor eax, eax
push 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_HeapFree]
test ebx, ebx
js 0xcb3044
xor eax, eax
mov ebx, eax
mov edx, eax
mov dword [ebp - 0x894], ebx
cmp dword [ebp - 0x888], eax
jbe 0xcb3257
mov ecx, eax
mov eax, dword [edi + edx*4]
cmp eax, dword [ecx*4 + 0xb40a18]
je 0xcb324d
inc ecx
cmp ecx, 0x26
jb 0xcb322e
inc edx
xor eax, eax
cmp edx, dword [ebp - 0x888]
jae 0xcb3257
jmp 0xcb322c
mov ebx, ecx
xor eax, eax
mov dword [ebp - 0x894], ebx
mov esi, dword [0xd08054]
mov ecx, esi
push eax
mov dword [ebp - 0x8d4], eax
lea eax, [ebp - 0xc0]
push 0x55
push eax
push dword [ebx*4 + 0xb40a18]
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb32c0
mov esi, dword [0xd08048]
lea eax, [ebp - 0x430]
push 0x10
push eax
push 0x58
lea eax, [ebp - 0xc0]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
test eax, eax
jle 0xcb32c0
mov ebx, dword [ebp - 0x424]
shr ebx, 0x1b
and ebx, 1
mov dword [ebp - 0x8d4], ebx
mov ebx, dword [ebp - 0x894]
xor eax, eax
mov edx, 0xb2fcd8
mov esi, eax
mov ecx, edx
mov dword [ebp + esi*4 - 0x128], edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x8c4]
jne 0xcb32d5
sub ecx, edi
sar ecx, 1
lea edx, [edx + ecx*2]
add edx, 2
inc esi
cmp esi, 0x13
jb 0xcb32c9
imul ecx, ebx, 3
movzx eax, byte [ecx + 0xb320b0]
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x940], eax
movzx eax, byte [ecx + 0xb320b1]
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x93c], eax
movzx eax, byte [ecx + 0xb320b2]
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x938], eax
xor ebx, ebx
push 0x1c90
mov eax, ebx
push ebx
mov dword [ebp - 0x8bc], 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 - 0x8d8], ecx
test ecx, ecx
je 0xcb30ca
or dword [ebp - 0x898], 0xffffffff
mov edi, ebx
add ecx, 7
mov dword [ebp - 0x198], 0xab69605e
mov al, bl
mov dword [ebp - 0x194], 0x7f1137f
mov dword [ebp - 0x888], ebx
mov esi, 0xb40ac2
mov dword [ebp - 0x8e8], ebx
mov dword [ebp - 0x900], edi
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x8ac], 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 - 0x8a4], 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 - 0x8dc], esi
mov esi, edx
mov dword [ebp - 0x8b4], edx
xor esi, dword [ebp - 0x8e8]
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 - 0x88c], edi
add edi, 0xfffff80f
xor edi, esi
mov esi, dword [ebp - 0x88c]
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 - 0x8dc]
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 - 0x898]
rol ecx, 2
mov dword [ebp - 0x8e8], edi
xor edx, ecx
xor edx, dword [ebp - 0x888]
xor ebx, edx
mov edx, dword [ebp - 0x8a0]
mov dword [ebp - 0x900], ebx
mov byte [edx - 4], bl
mov cl, byte [ebp - 0x8e8]
ror dword [ebp - 0x900], 8
mov byte [edx], cl
mov cl, byte [ebp - 0x900]
ror dword [ebp - 0x8e8], 8
mov byte [edx - 5], cl
mov cl, byte [ebp - 0x8e8]
ror dword [ebp - 0x900], 8
mov byte [edx - 1], cl
mov cl, byte [ebp - 0x900]
ror dword [ebp - 0x8e8], 8
mov byte [edx - 6], cl
mov cl, byte [ebp - 0x8e8]
ror dword [ebp - 0x900], 8
mov byte [edx - 2], cl
mov cl, byte [ebp - 0x900]
ror dword [ebp - 0x8e8], 8
mov byte [edx - 7], cl
mov cl, byte [ebp - 0x8e8]
mov byte [edx - 3], cl
add edx, 8
mov edi, dword [ebp - 0x900]
mov ecx, dword [ebp - 0x8a4]
ror dword [ebp - 0x8e8], 8
ror edi, 8
sub dword [ebp - 0x8ac], 1
mov dword [ebp - 0x888], ecx
mov ecx, dword [ebp - 0x8b4]
mov dword [ebp - 0x900], edi
mov dword [ebp - 0x898], ecx
mov dword [ebp - 0x8a0], edx
jne 0xcb33a9
xor ecx, ecx
mov esi, 0x1c90
mov edx, ecx
mov ecx, dword [ebp - 0x8d8]
xor al, byte [edx + ecx]
inc edx
cmp edx, esi
jb 0xcb36f7
movzx eax, al
cdq
cmp eax, dword [0xb42750]
jne 0xcb372b
cmp edx, dword [0xb42754]
jne 0xcb372b
mov ebx, dword [ebp - 0x8bc]
xor edx, edx
mov dword [ebp - 0x91c], ecx
mov ecx, edx
mov dword [ebp - 0x8c8], esi
jmp 0xcb3738
mov ebx, 0xc004d501
xor edx, edx
mov dword [ebp - 0x8bc], ebx
test ecx, ecx
je 0xcb374b
push ecx
push edx
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 ebx, ebx
js 0xcb3044
mov edi, dword [ebp - 0x91c]
xor eax, eax
mov ebx, dword [ebp - 0x894]
mov esi, eax
mov edx, eax
cmp ebx, edx
jne 0xcb3770
mov dword [ebp + esi*4 - 0xd8], edi
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x88c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb377b
sub ecx, dword [ebp - 0x88c]
inc edi
add edi, ecx
inc edx
cmp edx, 0x26
jb 0xcb3765
inc esi
push 0
pop eax
cmp esi, 6
jb 0xcb3763
push 0xc
push 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 ebx, dword [ebp - 0x8bc]
mov edx, eax
mov dword [ebp - 0x888], edx
test edx, edx
jne 0xcb37ca
xor edx, edx
mov ebx, 0x8007000e
mov esi, edx
jmp 0xcb304c
mov edi, edx
xor eax, eax
mov esi, edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x894], eax
movzx edx, word [ebp + ecx*2 - 0xc]
cmp dx, word [eax*2 + 0xb40ab0]
je 0xcb37f7
inc eax
cmp eax, 6
jb 0xcb37e2
jmp 0xcb38b6
mov edx, dword [ebp + eax*4 - 0xd8]
mov ecx, edx
mov dword [ebp - 0x88c], edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb3809
xor eax, eax
sub ecx, edi
mov edi, dword [0xd08060]
push eax
push eax
lea eax, [ecx + 1]
mov ecx, edi
push eax
push edx
xor eax, eax
push eax
push 0xfde9
call dword [0xd0cffc]
call edi
mov dword [ebp - 0x8a4], eax
test eax, eax
je 0xcb38ee
lea ecx, [eax + eax]
xor eax, eax
push ecx
push 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, dword [ebp - 0x894]
mov edi, eax
mov eax, dword [ebp - 0x888]
mov dword [eax + ecx*4], edi
test edi, edi
je 0xcb38e7
mov edx, dword [ebp - 0x88c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x88c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xcb387b
push dword [ebp - 0x8a4]
sub ecx, dword [ebp - 0x88c]
push edi
mov edi, dword [0xd08060]
lea eax, [ecx + 1]
mov ecx, edi
push eax
push edx
xor eax, eax
push eax
push 0xfde9
call dword [0xd0cffc]
call edi
test eax, eax
je 0xcb38ee
mov ecx, dword [ebp - 0x894]
inc ecx
mov dword [ebp - 0x894], ecx
push 0
pop eax
cmp ecx, 3
jb 0xcb37dd
mov eax, dword [ebp - 0x888]
xor edx, edx
mov dword [ebp - 0x8a8], eax
mov esi, edx
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0x568], eax
jmp 0xcb390e
mov ebx, 0x8007000e
jmp 0xcb390c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3905
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb390c
mov ebx, 0x80004005
xor edx, edx
test esi, esi
je 0xcb304c
mov edi, edx
mov edx, dword [esi + edi*4]
test edx, edx
je 0xcb3967
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x88c], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x8c4]
jne 0xcb392a
sub ecx, dword [ebp - 0x88c]
xor eax, eax
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xcb3956
mov byte [edx], al
inc edx
sub ecx, 1
jne 0xcb394e
push dword [esi + edi*4]
push 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_HeapFree]
inc edi
cmp edi, 3
jb 0xcb3918
jmp 0xcb304a
xor ecx, ecx
mov eax, dword [ebp - 0x89c]
test eax, eax
je 0xcb398d
push eax
push ecx
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 ebx, ebx
js 0xcb43d6
mov eax, dword [ebp - 0x8a8]
mov esi, dword [0xd080b4]
mov ecx, dword [eax]
mov dword [ebp - 0x560], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x55c], ecx
xor ecx, ecx
mov eax, dword [eax + 8]
mov edi, ecx
push ecx
mov dword [ebp - 0x558], eax
mov ebx, ecx
lea eax, [ebp - 0x9b0]
mov dword [ebp - 0x9ac], ecx
push eax
push ecx
mov dword [ebp - 0x9a8], ecx
mov ecx, esi
push 0x42
mov dword [ebp - 0x9b0], 0xc
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb3a10
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3a07
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb3a19
mov ebx, 0x80004005
jmp 0xcb3a19
mov edi, dword [ebp - 0x9ac]
and edi, 1
mov dword [ebp - 0x564], edi
test ebx, ebx
js 0xcb43d6
mov ebx, dword [ebp - 0x890]
mov eax, ebx
push 0xb
pop edx
push 0x2a
pop ecx
mov dword [ebp - 0x89c], ecx
sub eax, 1
je 0xcb3a69
sub eax, 1
je 0xcb3a5d
sub eax, 1
jne 0xcb3a75
mov eax, 0xe1
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8d0], eax
jmp 0xcb3a75
mov dword [ebp - 0x8b8], 0xf
jmp 0xcb3a6f
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8d0], edx
push 0x60
pop edi
xor eax, eax
mov dword [ebp - 0x884], edi
lea esi, [edi + 0x7c]
push esi
push eax
lea eax, [ebp - 0x510]
push eax
call fcn.00bc259b
add esp, 0xc
mov word [ebp - 0x4cc], si
mov esi, dword [0xd08070]
lea eax, [ebp - 0x510]
mov ecx, esi
push eax
push 0xffffffffffffffff
xor eax, eax
push eax
call dword [0xd0cffc]
call esi
xor edx, edx
test eax, eax
je 0xcb3b0a
movzx edi, word [ebp - 0x46a]
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x460]
mov dword [ebp - 0x884], edi
mov dword [ebp - 0x9a0], edx
mov dword [ebp - 0x9a4], edx
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x898], ecx
mov dword [ebp - 0x998], ecx
cmp edi, 0x60
jae 0xcb3b22
push 0x60
pop edi
mov dword [ebp - 0x884], edi
jmp 0xcb3b22
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x99c]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x940]
cmp ebx, 1
je 0xcb3b33
mov eax, dword [ebp - 0x938]
push 0x5c
mov dword [ebp - 0x888], eax
lea eax, [ebp - 0x410]
push edx
push eax
call fcn.00bc259b
mov esi, dword [0xd0807c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x88c], eax
test eax, eax
jne 0xcb3b97
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3b87
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb3c37
mov ebx, 0x80004005
jmp 0xcb43d6
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x48
push edi
push dword [ebp - 0x8b8]
call dword [0xd0cffc]
call esi
push dword [ebp - 0x888]
neg eax
mov dword [ebp - 0x400], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x410], eax
mov byte [ebp - 0x3f6], 5
call fcn.00b7db60
mov esi, dword [0xd08010]
lea eax, [ebp - 0x410]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb3c18
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3c0f
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb3c1e
mov ebx, 0x80004005
jmp 0xcb3c1e
mov dword [ebp - 0x554], eax
push dword [ebp - 0x88c]
mov esi, dword [0xd080b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test ebx, ebx
js 0xcb43d6
cmp dword [ebp - 0x890], 1
mov eax, dword [ebp - 0x940]
je 0xcb3c54
mov eax, dword [ebp - 0x938]
mov dword [ebp - 0x888], eax
xor eax, eax
push 0x5c
push eax
lea eax, [ebp - 0x3b0]
push eax
call fcn.00bc259b
mov esi, dword [0xd0807c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x88c], eax
test eax, eax
jne 0xcb3d29
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3cae
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
jns 0xcb3b8d
push 0x20
pop edi
test ebx, ebx
js 0xcb43d6
mov ebx, dword [ebp - 0x890]
xor ecx, ecx
mov eax, ecx
mov edx, ecx
mov ecx, ebx
sub ecx, 1
je 0xcb3ce0
sub ecx, 1
je 0xcb3dd0
sub ecx, 1
jne 0xcb3cec
mov eax, dword [ebp - 0x894]
mov edx, dword [ebp - 0x898]
xor ecx, ecx
mov dword [ebp - 0x928], eax
mov dword [ebp - 0x924], edx
xor edx, edx
inc edx
cmp ebx, edx
je 0xcb3e0b
jbe 0xcb3de5
cmp ebx, 3
ja 0xcb3de5
xor ebx, ebx
mov edx, ecx
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x8b8], ebx
jmp 0xcb3e16
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x48
push edi
push dword [ebp - 0x8d0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0x888]
neg eax
mov dword [ebp - 0x3a0], 0x190
push 0x20
pop edi
mov edx, edi
mov dword [ebp - 0x3b0], eax
lea ecx, [ebp - 0x394]
mov byte [ebp - 0x396], 5
call fcn.00b7db60
mov esi, dword [0xd08010]
lea eax, [ebp - 0x3b0]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb3dac
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb3da3
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb3db2
mov ebx, 0x80004005
jmp 0xcb3db2
mov dword [ebp - 0x550], eax
push dword [ebp - 0x88c]
mov esi, dword [0xd080b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
jmp 0xcb3cb7
mov eax, dword [ebp - 0x894]
push 4
pop ecx
cdq
idiv ecx
xor ecx, ecx
mov edx, ecx
jmp 0xcb3cee
mov ecx, dword [ebp - 0x920]
mov edx, dword [ebp - 0x920]
mov dword [ebp - 0x8b8], ecx
mov ecx, dword [ebp - 0x920]
mov dword [ebp - 0x89c], ecx
mov ecx, dword [ebp - 0x920]
jmp 0xcb3e16
mov edx, 0x96
mov dword [ebp - 0x8b8], edi
mov dword [ebp - 0x8ac], edx
mov dword [ebp - 0x894], ecx
push dword [ebp - 0x554]
mov esi, dword [0xd0803c]
sub eax, edx
push dword [ebp - 0x8b0]
mov edi, dword [ebp - 0x560]
sub eax, ecx
mov dword [ebp - 0x8a4], eax
mov ecx, esi
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x53c], eax
xor eax, eax
mov ebx, eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
mov ecx, esi
mov dword [ebp - 0x88c], eax
xor eax, eax
push eax
push 0xc50
lea eax, [ebp - 0x544]
push eax
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x8b0]
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb3e96
mov ebx, 0x80004005
mov eax, dword [ebp - 0x88c]
test eax, eax
je 0xcb3eb2
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
test ebx, ebx
js 0xcb43d6
push dword [ebp - 0x550]
mov esi, dword [0xd0803c]
xor eax, eax
push dword [ebp - 0x8b0]
mov edi, dword [ebp - 0x55c]
mov ecx, esi
mov ebx, eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
mov ecx, esi
mov dword [ebp - 0x88c], eax
xor eax, eax
push eax
push 0xc50
lea eax, [ebp - 0x534]
push eax
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x8b0]
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb3f18
mov ebx, 0x80004005
mov eax, dword [ebp - 0x88c]
test eax, eax
je 0xcb3f34
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
test ebx, ebx
js 0xcb43d6
mov eax, dword [ebp - 0x890]
cmp eax, 2
je 0xcb3f4c
cmp eax, 3
jne 0xcb3f62
mov edi, dword [ebp - 0x52c]
cmp dword [ebp - 0x53c], edi
jle 0xcb3f68
mov edi, dword [ebp - 0x53c]
jmp 0xcb3f68
mov edi, dword [ebp - 0x8a4]
cmp dword [ebp - 0x568], 0
mov esi, dword [0xd080a8]
mov ecx, esi
push dword [ebp - 0x89c]
je 0xcb3fa9
mov ebx, dword [ebp - 0x894]
mov eax, ebx
sub eax, dword [ebp - 0x53c]
add eax, edi
push eax
lea eax, [ebp - 0x544]
push eax
call dword [0xd0cffc]
call esi
sub ebx, dword [ebp - 0x52c]
add ebx, edi
jmp 0xcb3fbf
mov ebx, dword [ebp - 0x8ac]
lea eax, [ebp - 0x544]
push ebx
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x538]
add eax, dword [ebp - 0x8b8]
mov esi, dword [0xd080a8]
mov ecx, esi
push eax
push ebx
lea eax, [ebp - 0x534]
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x890]
cmp eax, 2
je 0xcb42b4
cmp eax, 3
je 0xcb42b4
xor edx, edx
inc edx
cmp eax, edx
jne 0xcb42d3
xor eax, eax
mov dword [ebp - 0x548], 0xffffff
push 0x5c
push eax
lea eax, [ebp - 0x350]
push eax
call fcn.00bc259b
mov esi, dword [0xd0807c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x88c], eax
test eax, eax
jne 0xcb406c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb4061
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb410d
jmp 0xcb3b8d
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x48
push dword [ebp - 0x884]
push 0xb
call dword [0xd0cffc]
call esi
push dword [ebp - 0x93c]
neg eax
mov dword [ebp - 0x340], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x350], eax
mov byte [ebp - 0x336], 5
call fcn.00b7db60
mov esi, dword [0xd08010]
lea eax, [ebp - 0x350]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb40ee
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb40e5
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb40f4
mov ebx, 0x80004005
jmp 0xcb40f4
mov dword [ebp - 0x54c], eax
push dword [ebp - 0x88c]
mov esi, dword [0xd080b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test ebx, ebx
js 0xcb43d6
push dword [ebp - 0x54c]
mov esi, dword [0xd0803c]
xor eax, eax
push dword [ebp - 0x8b0]
mov dword [ebp - 0x51c], edi
mov ecx, esi
mov edi, dword [ebp - 0x558]
mov ebx, eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
mov ecx, esi
mov dword [ebp - 0x88c], eax
xor eax, eax
push eax
push 0x460
lea eax, [ebp - 0x524]
push eax
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x8b0]
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb4179
mov ebx, 0x80004005
mov eax, dword [ebp - 0x88c]
test eax, eax
je 0xcb4195
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
test ebx, ebx
js 0xcb43d6
mov eax, dword [ebp - 0x51c]
push 0x5a
add eax, 0x18
pop ecx
mov dword [ebp - 0x51c], eax
cmp eax, ecx
jge 0xcb41b9
mov dword [ebp - 0x51c], ecx
mov ebx, dword [ebp - 0x884]
mov esi, dword [0xd0805c]
mov ecx, esi
push 0x60
pop edi
push edi
push ebx
push dword [ebp - 0x524]
mov dword [ebp - 0x518], 0x20
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0805c]
mov ecx, esi
push edi
push ebx
push dword [ebp - 0x520]
mov dword [ebp - 0x524], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0805c]
mov ecx, esi
push edi
push ebx
push dword [ebp - 0x51c]
mov dword [ebp - 0x520], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0805c]
mov ecx, esi
push edi
push ebx
push dword [ebp - 0x518]
mov dword [ebp - 0x51c], eax
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0x568], 0
mov dword [ebp - 0x518], eax
je 0xcb4285
mov ecx, dword [ebp - 0x544]
cmp ecx, dword [ebp - 0x534]
jl 0xcb4261
mov ecx, dword [ebp - 0x534]
mov eax, dword [ebp - 0x528]
add eax, 0x24
push eax
push ecx
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x524]
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
jmp 0xcb42d0
mov ecx, dword [ebp - 0x53c]
cmp ecx, dword [ebp - 0x52c]
jg 0xcb4299
mov ecx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x528]
add eax, 0x24
push eax
mov eax, dword [ebp - 0x524]
sub eax, dword [ebp - 0x51c]
add eax, ecx
push eax
jmp 0xcb426c
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x928], edi
mov dword [ebp - 0x924], eax
mov dword [ebp - 0x548], 0xffa8a8a8
xor edx, edx
inc edx
mov eax, dword [ebp - 0x568]
lea edi, [ebp - 0x9d8]
mov ebx, dword [ebp - 0x928]
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x924]
mov dword [ebp - 0x888], 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 - 0x890]
sub eax, 1
je 0xcb456e
sub eax, 1
je 0xcb449b
sub eax, 1
jne 0xcb43d4
mov esi, dword [0xd080a4]
lea edi, [ebp - 0x1e8]
push 0xa
pop ecx
rep stosd dword es:[edi], eax
push edx
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08084]
lea ecx, [ebp - 0x1e8]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x1e8], 0x28
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb43d4
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x1d4]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x1cc]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x1cc]
lea esi, [ebp - 0x1d4]
sub eax, ebx
lea edi, [ebp - 0x9d8]
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 - 0x930], eax
mov eax, dword [ebp - 0x1c8]
sub eax, dword [ebp - 0x888]
movsd dword es:[edi], dword [esi]
imul eax, eax, 0x32
movsd dword es:[edi], dword [esi]
cdq
idiv ecx
mov dword [ebp - 0x92c], eax
xor ebx, ebx
push dword [ebp - 0x8b0]
mov esi, dword [0xd080b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov edi, 0xd0aed4
xor esi, esi
inc esi
mov ecx, esi
xor eax, eax
lock cmpxchg dword [edi], ecx
test eax, eax
jne 0xcb43f7
mov eax, dword [0xd0a150]
test eax, eax
jle 0xcb445c
sub eax, 1
mov dword [0xd0a150], eax
jne 0xcb445c
xor eax, eax
mov esi, eax
mov eax, dword [esi + 0xd0ae80]
test eax, eax
je 0xcb442b
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xcb441a
push 0x40
xor eax, eax
push eax
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 - 0x8a8]
test eax, eax
je 0xcb447b
push eax
xor eax, eax
push 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_HeapFree]
test ebx, ebx
js 0xcb62ca
mov eax, dword [ebp - 0x8e4]
test eax, eax
je 0xcb4581
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0xcb458d
mov esi, dword [0xd080a4]
lea edi, [ebp - 0x1c0]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
push edx
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08084]
lea ecx, [ebp - 0x1c0]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x1c0], 0x28
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb43d4
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x1ac]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd080a0]
lea eax, [ebp - 0x1a4]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0x88c], 0
lea esi, [ebp - 0x1ac]
lea edi, [ebp - 0x9d8]
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 0xcb4546
imul eax, dword [ebp - 0x1a4], 5
cdq
idiv ecx
add eax, dword [ebp - 0x1ac]
jmp 0xcb4554
mov eax, dword [ebp - 0x1a4]
sub eax, ebx
imul eax, eax, 0x5f
cdq
idiv ecx
mov dword [ebp - 0x930], eax
mov eax, dword [ebp - 0x1a0]
sub eax, dword [ebp - 0x888]
imul eax, eax, 0x5f
jmp 0xcb43cb
xor ebx, ebx
mov dword [ebp - 0x930], ebx
mov dword [ebp - 0x92c], ebx
jmp 0xcb43d6
mov edi, dword [ebp - 0x930]
mov ebx, dword [ebp - 0x92c]
xor eax, eax
mov dword [ebp - 0x960], ebx
push 0x54
push eax
lea eax, [ebp - 0x5c0]
mov dword [ebp - 0x964], edi
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0x888], esi
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push dword [ebp - 0x8e0]
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb4614
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x5c0]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb4614
push 0x20
pop eax
cmp word [ebp - 0x5ae], ax
jne 0xcb4614
cmp dword [ebp - 0x5ac], 0
je 0xcb4614
cmp dword [ebp - 0x5bc], 0
jle 0xcb4614
cmp dword [ebp - 0x5b8], 0
jg 0xcb4625
xor eax, eax
cmp dword [ebp - 0x890], 1
mov dword [ebp - 0x888], eax
jne 0xcb468f
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x544]
push ebx
push edi
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd080a8]
lea eax, [ebp - 0x534]
push ebx
push edi
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
mov ebx, dword [ebp - 0x890]
cmp ebx, 1
jne 0xcb4695
mov eax, dword [ebp - 0x564]
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 - 0x910], eax
jmp 0xcb4695
mov ebx, dword [ebp - 0x890]
mov esi, dword [0xd08040]
mov ecx, esi
push 1
push dword [ebp - 0x8e0]
call dword [0xd0cffc]
call esi
cmp dword [ebp - 0x568], 0
mov dword [ebp - 0x978], eax
mov dword [ebp - 0x8d0], 0x810
je 0xcb46d0
mov dword [ebp - 0x8d0], 0x20812
cmp dword [ebp - 0x888], 0
je 0xcb52b4
mov eax, dword [ebp - 0x564]
xor ebx, ebx
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x554]
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x560]
push 0x54
mov dword [ebp - 0x8a4], eax
lea eax, [ebp - 0x618]
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
lea eax, [ebp - 0x880]
push 0x54
push ebx
push eax
call fcn.00bc259b
add esp, 0xc
mov dword [ebp - 0x898], ebx
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x888], ebx
mov dword [ebp - 0x8ac], ebx
mov dword [ebp - 0x884], ebx
push 0x2c
push ebx
push eax
call fcn.00bc259b
xor eax, eax
mov dword [ebp - 0x8c8], ebx
mov ebx, dword [ebp - 0x8e0]
lea edi, [ebp - 0x138]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ebx, ebx
jne 0xcb4777
mov ebx, 0x80070057
jmp 0xcb62af
cmp dword [ebp - 0x560], 0
je 0xcb476d
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push ebx
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb47b9
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb47ae
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb4cb9
jmp 0xcb5334
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x618]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb47fb
mov eax, dword [ebp - 0x604]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x8ac], eax
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0x884], eax
mov esi, dword [0xd08008]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
mov edi, eax
mov dword [ebp - 0x8b8], edi
test edi, edi
je 0xcb4797
xor eax, eax
push 0x2c
mov ebx, eax
mov dword [ebp - 0x994], eax
push eax
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x8bc], ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x53c]
add esp, 0xc
sub eax, dword [ebp - 0x544]
xor ecx, ecx
mov esi, dword [0xd0800c]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x540]
sub eax, dword [ebp - 0x538]
mov dword [ebp - 0x2e8], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x2f0], 0x28
mov word [ebp - 0x2e4], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x2e2], ax
lea eax, [ebp - 0x994]
push eax
push ecx
lea eax, [ebp - 0x2f0]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x89c], eax
test eax, eax
jne 0xcb48e4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
jle 0xcb48d1
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
mov eax, dword [ebp - 0x89c]
js 0xcb48e4
mov ebx, 0x80004005
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
js 0xcb4c71
test eax, eax
je 0xcb491a
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 0xcb491a
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x53c]
sub eax, dword [ebp - 0x544]
push dword [ebp - 0x89c]
mov esi, dword [0xd0803c]
mov ecx, esi
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x538]
sub eax, dword [ebp - 0x540]
push edi
mov dword [ebp - 0x12c], 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 - 0x88c]
mov esi, dword [0xd0803c]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
mov dword [ebp - 0x8c8], eax
xor eax, eax
push eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x138]
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
xor eax, eax
push eax
push dword [ebp - 0x8d0]
lea eax, [ebp - 0x138]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0x8a4]
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x890], eax
jne 0xcb4a16
cmp dword [ebp - 0x8b4], 0
je 0xcb4a0a
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x8c4], eax
jmp 0xcb4a20
mov dword [ebp - 0x8c4], 0xffffff
jmp 0xcb4a20
mov dword [ebp - 0x8c4], 0xffa8a8a8
mov edi, dword [ebp - 0x544]
xor edx, edx
mov eax, dword [ebp - 0x540]
mov esi, edx
mov dword [ebp - 0x8d4], edi
mov ecx, edx
test edi, edi
jns 0xcb4a46
mov esi, edi
mov dword [ebp - 0x8d4], edx
neg esi
test eax, eax
jns 0xcb4a50
mov ecx, eax
mov eax, edx
neg ecx
mov edi, dword [ebp - 0x8ac]
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x894], edi
sub edx, esi
mov edi, dword [ebp - 0x8d4]
sub dword [ebp - 0x894], edi
mov edi, dword [ebp - 0x894]
mov dword [ebp - 0x8a8], edx
cmp edx, edi
jl 0xcb4a88
mov edx, edi
mov dword [ebp - 0x8a8], edi
mov edi, dword [ebp - 0x12c]
sub dword [ebp - 0x884], eax
sub edi, ecx
mov dword [ebp - 0x894], edi
cmp edi, dword [ebp - 0x884]
jl 0xcb4ab0
mov edi, dword [ebp - 0x884]
mov dword [ebp - 0x894], edi
test edx, edx
jle 0xcb4c6b
test edi, edi
jle 0xcb4c6b
imul ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x888]
add ecx, esi
mov esi, dword [ebp - 0x8ac]
imul eax, esi
lea ecx, [edx + ecx*4]
mov edx, dword [ebp - 0x898]
mov dword [ebp - 0x8a0], ecx
add eax, dword [ebp - 0x8d4]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x8a8]
mov dword [ebp - 0x8ac], eax
test edi, edi
jle 0xcb4c6b
mov ebx, dword [ebp - 0x130]
shl ebx, 2
shl esi, 2
mov dword [ebp - 0x88c], ebx
mov dword [ebp - 0x8a4], esi
test edx, edx
jle 0xcb4c46
mov esi, eax
mov dword [ebp - 0x898], edx
lea ebx, [eax + 3]
sub esi, ecx
mov dword [ebp - 0x884], ebx
lea edi, [ecx + 2]
mov dword [ebp - 0x888], esi
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 0xcb4c06
mov bl, byte [esi + edi]
mov eax, dword [ebp - 0x8c4]
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 - 0x888]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0x884]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x8c4]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x884]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x8c2]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x884]
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 - 0x888]
cdq
idiv ecx
mov edx, dword [ebp - 0x898]
add al, bl
mov ebx, dword [ebp - 0x884]
mov byte [ebx], al
push 4
pop eax
add ebx, eax
add edi, eax
sub edx, 1
mov dword [ebp - 0x884], ebx
mov dword [ebp - 0x898], edx
jne 0xcb4b40
mov edi, dword [ebp - 0x894]
mov edx, dword [ebp - 0x8a8]
mov ecx, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x8ac]
mov ebx, dword [ebp - 0x88c]
mov esi, dword [ebp - 0x8a4]
add ecx, ebx
add eax, esi
sub edi, 1
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x894], edi
jne 0xcb4b1c
mov ebx, dword [ebp - 0x8bc]
mov edi, dword [ebp - 0x8b8]
mov eax, dword [ebp - 0x89c]
test eax, eax
je 0xcb4c8c
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x8c8]
test eax, eax
je 0xcb4ca8
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
test ebx, ebx
js 0xcb62af
mov eax, dword [ebp - 0x564]
mov ebx, dword [ebp - 0x55c]
mov dword [ebp - 0x8a4], eax
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x88c], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x670]
mov dword [ebp - 0x898], ebx
push eax
call fcn.00bc259b
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x778]
push eax
call fcn.00bc259b
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x8ac], eax
push 0x2c
push eax
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x148]
mov dword [ebp - 0x8c4], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ebx, ebx
je 0xcb476d
mov ebx, dword [ebp - 0x8e0]
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push ebx
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb4d92
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb4d87
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb52a1
jmp 0xcb5334
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x670]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb4dd4
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x8ac], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x884], eax
mov esi, dword [0xd08008]
mov ecx, esi
push ebx
call dword [0xd0cffc]
call esi
mov edi, eax
mov dword [ebp - 0x8b8], edi
test edi, edi
je 0xcb4d70
xor eax, eax
push 0x2c
mov ebx, eax
mov dword [ebp - 0x990], eax
push eax
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x8bc], ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x52c]
add esp, 0xc
sub eax, dword [ebp - 0x534]
xor ecx, ecx
mov esi, dword [0xd0800c]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x530]
sub eax, dword [ebp - 0x528]
mov dword [ebp - 0x2bc], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x2c4], 0x28
mov word [ebp - 0x2b8], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x2b6], ax
lea eax, [ebp - 0x990]
push eax
push ecx
lea eax, [ebp - 0x2c4]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x89c], eax
test eax, eax
jne 0xcb4ebd
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
jle 0xcb4eaa
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
mov eax, dword [ebp - 0x89c]
js 0xcb4ebd
mov ebx, 0x80004005
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
js 0xcb5259
test eax, eax
je 0xcb4ef3
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x778]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb4ef3
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x52c]
sub eax, dword [ebp - 0x534]
push dword [ebp - 0x89c]
mov esi, dword [0xd0803c]
mov ecx, esi
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x528]
sub eax, dword [ebp - 0x530]
push edi
mov dword [ebp - 0x13c], 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 - 0x88c]
mov esi, dword [0xd0803c]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
mov dword [ebp - 0x8c4], eax
xor eax, eax
push eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x148]
push eax
push edi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
xor eax, eax
push eax
push dword [ebp - 0x8d0]
lea eax, [ebp - 0x148]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0x898]
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x890], eax
jne 0xcb4ff7
cmp dword [ebp - 0x8a4], 0
je 0xcb4feb
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
mov edx, eax
mov dword [ebp - 0x8c0], edx
mov dword [ebp - 0x8a8], edx
jmp 0xcb5008
mov dword [ebp - 0x8a8], 0xffffff
jmp 0xcb5008
mov eax, 0xffa8a8a8
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8a8], eax
mov edi, dword [ebp - 0x534]
xor edx, edx
mov eax, dword [ebp - 0x530]
mov esi, edx
mov dword [ebp - 0x8d4], edi
mov ecx, edx
test edi, edi
jns 0xcb502e
mov esi, edi
mov dword [ebp - 0x8d4], edx
neg esi
test eax, eax
jns 0xcb5038
mov ecx, eax
mov eax, edx
neg ecx
mov edi, dword [ebp - 0x8ac]
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x894], edi
sub edx, esi
mov edi, dword [ebp - 0x8d4]
sub dword [ebp - 0x894], edi
mov edi, dword [ebp - 0x894]
mov dword [ebp - 0x8c8], edx
cmp edx, edi
jl 0xcb5070
mov edx, edi
mov dword [ebp - 0x8c8], edi
mov edi, dword [ebp - 0x13c]
sub dword [ebp - 0x884], eax
sub edi, ecx
mov dword [ebp - 0x894], edi
cmp edi, dword [ebp - 0x884]
jl 0xcb5098
mov edi, dword [ebp - 0x884]
mov dword [ebp - 0x894], edi
test edx, edx
jle 0xcb5253
test edi, edi
jle 0xcb5253
imul ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x8a0]
add ecx, esi
mov esi, dword [ebp - 0x888]
lea ecx, [esi + ecx*4]
mov esi, dword [ebp - 0x8ac]
imul eax, esi
mov dword [ebp - 0x8d0], ecx
add eax, dword [ebp - 0x8d4]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x8c8]
mov dword [ebp - 0x8a0], eax
test edi, edi
jle 0xcb5253
mov ebx, dword [ebp - 0x140]
shl ebx, 2
shl esi, 2
mov dword [ebp - 0x88c], ebx
mov dword [ebp - 0x8a4], esi
test edx, edx
jle 0xcb522e
mov esi, eax
mov dword [ebp - 0x898], edx
lea ebx, [eax + 3]
sub esi, ecx
mov dword [ebp - 0x884], ebx
lea edi, [ecx + 2]
mov dword [ebp - 0x888], esi
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 0xcb51ee
mov bl, byte [esi + edi]
mov eax, dword [ebp - 0x8c0]
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 - 0x888]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0x884]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x8c0]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x884]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x8a6]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x884]
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 - 0x888]
cdq
idiv ecx
mov edx, dword [ebp - 0x898]
add al, bl
mov ebx, dword [ebp - 0x884]
mov byte [ebx], al
push 4
pop eax
add ebx, eax
add edi, eax
sub edx, 1
mov dword [ebp - 0x884], ebx
mov dword [ebp - 0x898], edx
jne 0xcb5128
mov edi, dword [ebp - 0x894]
mov edx, dword [ebp - 0x8c8]
mov ecx, dword [ebp - 0x8d0]
mov eax, dword [ebp - 0x8a0]
mov ebx, dword [ebp - 0x88c]
mov esi, dword [ebp - 0x8a4]
add ecx, ebx
add eax, esi
sub edi, 1
mov dword [ebp - 0x8d0], ecx
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x894], edi
jne 0xcb5104
mov ebx, dword [ebp - 0x8bc]
mov edi, dword [ebp - 0x8b8]
mov eax, dword [ebp - 0x89c]
test eax, eax
je 0xcb5274
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x8c4]
test eax, eax
je 0xcb5290
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
test ebx, ebx
js 0xcb62af
mov edi, dword [ebp - 0x8cc]
jmp 0xcb625e
xor edx, edx
inc edx
cmp dword [ebp - 0x564], 0
jne 0xcb52c8
cmp ebx, edx
je 0xcb52c8
mov al, 0xc0
jmp 0xcb52ca
or al, 0xff
mov byte [ebp - 0x892], al
lea edi, [ebp - 0x950]
xor eax, eax
mov esi, dword [0xd08008]
stosd dword es:[edi], eax
xor ecx, ecx
push dword [ebp - 0x8e0]
mov word [ebp - 0x894], cx
mov ecx, esi
mov byte [ebp - 0x891], dl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x974]
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 - 0x8cc], eax
test eax, eax
jne 0xcb533e
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb532e
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb62af
mov ebx, 0x80004005
jmp 0xcb62af
xor eax, eax
inc eax
cmp ebx, eax
jne 0xcb5432
mov ecx, dword [ebp - 0x53c]
mov edx, dword [ebp - 0x52c]
mov edi, dword [ebp - 0x544]
sub ecx, edi
mov eax, dword [ebp - 0x534]
sub edx, eax
cmp edx, ecx
jle 0xcb5373
mov ebx, edx
mov dword [ebp - 0x8c4], ebx
jmp 0xcb537b
mov ebx, ecx
mov dword [ebp - 0x8c4], ecx
mov esi, dword [ebp - 0x528]
sub esi, dword [ebp - 0x540]
cmp dword [ebp - 0x568], 0
mov dword [ebp - 0x8b8], esi
je 0xcb53b4
sub edi, dword [ebp - 0x53c]
sub eax, dword [ebp - 0x52c]
add edi, ebx
add eax, ebx
mov dword [ebp - 0x950], edi
mov dword [ebp - 0x974], eax
jmp 0xcb53c0
mov edi, dword [ebp - 0x950]
mov eax, dword [ebp - 0x974]
add ecx, edi
mov dword [ebp - 0x8a8], edi
mov edi, dword [ebp - 0x538]
sub edi, dword [ebp - 0x540]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x948], ecx
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x530]
sub eax, dword [ebp - 0x540]
mov dword [ebp - 0x8a0], edi
mov dword [ebp - 0x944], edi
mov edi, eax
sub edi, dword [ebp - 0x530]
add edi, dword [ebp - 0x528]
mov dword [ebp - 0x96c], ecx
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x970], eax
mov dword [ebp - 0x888], edi
mov dword [ebp - 0x968], edi
jmp 0xcb54be
mov eax, dword [ebp - 0x928]
lea esi, [ebp - 0x544]
lea edi, [ebp - 0x950]
mov dword [ebp - 0x8c4], eax
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x924]
mov dword [ebp - 0x8b8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x944]
lea esi, [ebp - 0x534]
mov ecx, dword [ebp - 0x948]
lea edi, [ebp - 0x974]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebp - 0x950]
mov dword [ebp - 0x8a8], eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x89c], ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x968]
mov ecx, dword [ebp - 0x96c]
mov esi, dword [ebp - 0x8b8]
mov dword [ebp - 0x888], eax
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x974]
mov dword [ebp - 0x8ac], eax
xor eax, eax
mov dword [ebp - 0x8d4], ecx
push 0x2c
push eax
mov dword [ebp - 0x98c], eax
mov ebx, eax
lea eax, [ebp - 0x298]
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x8c4]
add esp, 0xc
mov edi, dword [ebp - 0x8cc]
xor ecx, ecx
mov dword [ebp - 0x294], eax
neg esi
xor eax, eax
mov dword [ebp - 0x290], esi
mov esi, dword [0xd0800c]
inc eax
push 0x20
mov word [ebp - 0x28c], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x28a], ax
lea eax, [ebp - 0x98c]
push eax
push ecx
lea eax, [ebp - 0x298]
mov dword [ebp - 0x298], 0x28
push eax
push edi
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x90c], eax
test eax, eax
jne 0xcb556a
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb555d
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
mov eax, dword [ebp - 0x90c]
js 0xcb556a
mov ebx, 0x80004005
test ebx, ebx
js 0xcb627f
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push edi
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x890], eax
jne 0xcb55e9
mov ecx, dword [ebp - 0x910]
test ecx, ecx
je 0xcb55e9
mov esi, dword [0xd08074]
lea edi, [ebp - 0x174]
xor eax, eax
stosd dword es:[edi], eax
push ecx
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x8c4]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x8b8]
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x8cc]
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x564]
mov ebx, dword [ebp - 0x560]
mov dword [ebp - 0x8e4], eax
mov eax, dword [ebp - 0x554]
mov dword [ebp - 0x8b4], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x6c8]
mov dword [ebp - 0x8dc], ebx
push eax
call fcn.00bc259b
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x7d0]
push eax
call fcn.00bc259b
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8d8], eax
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x8c8], eax
push 0x2c
push eax
mov dword [ebp - 0x884], eax
lea eax, [ebp - 0x26c]
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x158]
mov dword [ebp - 0x8a4], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x8cc]
test ebx, ebx
jne 0xcb5687
mov ebx, 0x80070057
jmp 0xcb627f
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb56c5
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb56b5
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb5be0
mov ebx, 0x80004005
jmp 0xcb627f
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x6c8]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb5707
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0x8d8], eax
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0x8c8], eax
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x884], eax
mov esi, dword [0xd08008]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, eax
mov dword [ebp - 0x8b0], esi
test esi, esi
je 0xcb569e
xor eax, eax
push 0x2c
mov ebx, eax
mov dword [ebp - 0x984], eax
push eax
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x8bc], ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x89c]
add esp, 0xc
mov edi, dword [ebp - 0x8a8]
xor ecx, ecx
sub eax, edi
mov dword [ebp - 0x26c], 0x28
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x94c]
sub eax, dword [ebp - 0x8a0]
mov dword [ebp - 0x264], eax
xor eax, eax
push 0x20
inc eax
mov word [ebp - 0x260], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x25e], ax
lea eax, [ebp - 0x984]
push eax
push ecx
lea eax, [ebp - 0x26c]
push eax
push esi
mov esi, dword [0xd0800c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x8a8], eax
test eax, eax
jne 0xcb57f8
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
jle 0xcb57e5
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
mov eax, dword [ebp - 0x8a8]
js 0xcb57f8
mov ebx, 0x80004005
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
js 0xcb5b88
test eax, eax
je 0xcb582e
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 0xcb582e
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x8fc], eax
push dword [ebp - 0x8a8]
mov ecx, dword [ebp - 0x89c]
mov eax, dword [ebp - 0x8a0]
sub eax, dword [ebp - 0x94c]
push dword [ebp - 0x8b0]
mov esi, dword [0xd0803c]
mov dword [ebp - 0x150], ecx
mov ecx, esi
mov dword [ebp - 0x14c], eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0x8b4]
mov esi, dword [0xd0803c]
mov ecx, esi
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
mov dword [ebp - 0x8a4], eax
xor eax, eax
push eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
xor eax, eax
push eax
push dword [ebp - 0x8d0]
lea eax, [ebp - 0x158]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0x8dc]
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x890], eax
jne 0xcb593d
cmp dword [ebp - 0x8e4], 0
je 0xcb5931
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x89c], eax
jmp 0xcb5947
mov dword [ebp - 0x89c], 0xffffff
jmp 0xcb5947
mov dword [ebp - 0x89c], 0xffa8a8a8
xor eax, eax
mov dword [ebp - 0x8e4], eax
mov edx, eax
mov ecx, eax
test edi, edi
jns 0xcb5963
mov edx, edi
mov edi, eax
neg edx
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x94c]
test eax, eax
jns 0xcb5973
mov ecx, eax
neg ecx
xor eax, eax
mov esi, dword [ebp - 0x150]
sub esi, edx
mov edx, dword [ebp - 0x8c8]
sub edx, edi
mov dword [ebp - 0x8a0], esi
cmp esi, edx
jl 0xcb5995
mov esi, edx
mov dword [ebp - 0x8a0], edx
mov edx, dword [ebp - 0x14c]
sub dword [ebp - 0x884], eax
sub edx, ecx
mov dword [ebp - 0x898], edx
cmp edx, dword [ebp - 0x884]
jl 0xcb59bd
mov edx, dword [ebp - 0x884]
mov dword [ebp - 0x898], edx
test esi, esi
jle 0xcb5b88
test edx, edx
jle 0xcb5b88
imul eax, dword [ebp - 0x8c8]
imul ecx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x8fc]
add eax, edi
mov edi, dword [ebp - 0x8d8]
add ecx, dword [ebp - 0x8e4]
lea eax, [edi + eax*4]
mov dword [ebp - 0x8b4], eax
lea ecx, [esi + ecx*4]
mov esi, dword [ebp - 0x8a0]
mov dword [ebp - 0x8dc], ecx
test edx, edx
jle 0xcb5b88
mov ebx, dword [ebp - 0x150]
shl ebx, 2
mov dword [ebp - 0x8e4], ebx
mov ebx, dword [ebp - 0x8c8]
shl ebx, 2
mov dword [ebp - 0x8c8], ebx
mov ebx, dword [ebp - 0x8e4]
mov edi, dword [ebp - 0x8c8]
test esi, esi
jle 0xcb5b63
mov ebx, eax
mov dword [ebp - 0x8fc], esi
lea edx, [eax + 3]
sub ebx, ecx
mov dword [ebp - 0x884], edx
lea edi, [ecx + 2]
mov dword [ebp - 0x8d8], 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 0xcb5b23
mov bl, byte [ebx + edi]
mov eax, dword [ebp - 0x89c]
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 - 0x8d8]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0x884]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x89c]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x884]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x89a]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x884]
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 - 0x8fc]
cdq
idiv ecx
mov edx, dword [ebp - 0x884]
add al, bl
mov ebx, dword [ebp - 0x8d8]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub esi, 1
mov dword [ebp - 0x884], edx
mov dword [ebp - 0x8fc], esi
jne 0xcb5a5d
mov edx, dword [ebp - 0x898]
mov esi, dword [ebp - 0x8a0]
mov ecx, dword [ebp - 0x8dc]
mov eax, dword [ebp - 0x8b4]
mov ebx, dword [ebp - 0x8e4]
mov edi, dword [ebp - 0x8c8]
add ecx, ebx
add eax, edi
sub edx, 1
mov dword [ebp - 0x8dc], ecx
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x898], edx
jne 0xcb5a39
mov ebx, dword [ebp - 0x8bc]
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0xcb5ba3
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0xcb5bc4
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0x8b0]
mov esi, dword [0xd08018]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov edi, dword [ebp - 0x8cc]
test ebx, ebx
js 0xcb627f
mov eax, dword [ebp - 0x564]
mov ebx, dword [ebp - 0x55c]
mov dword [ebp - 0x8d8], eax
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x8dc], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x720]
mov dword [ebp - 0x898], ebx
push eax
call fcn.00bc259b
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x828]
push eax
call fcn.00bc259b
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a8], eax
push 0x2c
push eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x240]
push eax
call fcn.00bc259b
xor eax, eax
lea edi, [ebp - 0x168]
mov dword [ebp - 0x8e4], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x8cc]
test ebx, ebx
je 0xcb567d
mov esi, dword [0xd08028]
mov ecx, esi
push 7
push edi
call dword [0xd0cffc]
call esi
test eax, eax
jne 0xcb5cb9
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xcb5cae
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xcb61d4
jmp 0xcb56bb
mov esi, dword [0xd08034]
lea ecx, [ebp - 0x720]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
je 0xcb5cfb
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x8a8], eax
mov eax, dword [ebp - 0x718]
mov dword [ebp - 0x89c], eax
mov esi, dword [0xd08008]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov esi, eax
mov dword [ebp - 0x8b0], esi
test esi, esi
je 0xcb5c97
xor eax, eax
push 0x2c
mov ebx, eax
mov dword [ebp - 0x988], eax
push eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x8bc], ebx
push eax
call fcn.00bc259b
mov eax, dword [ebp - 0x8d4]
add esp, 0xc
sub eax, dword [ebp - 0x8ac]
xor ecx, ecx
mov edi, dword [ebp - 0x88c]
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x23c], eax
mov eax, edi
sub eax, dword [ebp - 0x888]
mov dword [ebp - 0x238], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x240], 0x28
mov word [ebp - 0x234], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x232], ax
lea eax, [ebp - 0x988]
push eax
push ecx
lea eax, [ebp - 0x240]
push eax
push esi
mov esi, dword [0xd0800c]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov dword [ebp - 0x884], eax
test eax, eax
jne 0xcb5dec
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
jle 0xcb5dd9
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
mov eax, dword [ebp - 0x884]
js 0xcb5dec
mov ebx, 0x80004005
mov dword [ebp - 0x8bc], ebx
test ebx, ebx
js 0xcb617c
test eax, eax
je 0xcb5e28
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 0xcb5e22
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x8a4], eax
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0x8d4]
mov esi, dword [0xd0803c]
mov dword [ebp - 0x160], ecx
mov ecx, dword [ebp - 0x888]
sub ecx, edi
push eax
push dword [ebp - 0x8b0]
mov dword [ebp - 0x15c], ecx
mov ecx, esi
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0x8dc]
mov esi, dword [0xd0803c]
mov ecx, esi
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08038]
mov ecx, esi
mov dword [ebp - 0x8e4], eax
xor eax, eax
push eax
call dword [0xd0cffc]
call esi
mov esi, dword [0xd08074]
mov ecx, esi
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
mov esi, dword [0xd0806c]
xor eax, eax
push eax
push dword [ebp - 0x8d0]
lea eax, [ebp - 0x168]
mov ecx, esi
push eax
push 0xffffffffffffffff
push dword [ebp - 0x898]
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x890], eax
jne 0xcb5f28
cmp dword [ebp - 0x8d8], 0
je 0xcb5f1c
mov esi, dword [0xd0808c]
mov ecx, esi
push 8
call dword [0xd0cffc]
call esi
jmp 0xcb5f2d
mov dword [ebp - 0x888], 0xffffff
jmp 0xcb5f39
mov eax, 0xffa8a8a8
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x8c0], eax
xor eax, eax
mov edx, eax
mov ecx, eax
mov eax, dword [ebp - 0x8ac]
mov dword [ebp - 0x88c], edx
test eax, eax
jns 0xcb5f5b
mov edx, eax
neg edx
xor eax, eax
mov dword [ebp - 0x88c], edx
test edi, edi
jns 0xcb5f67
mov ecx, edi
neg ecx
xor esi, esi
mov edi, esi
mov esi, dword [ebp - 0x160]
sub esi, edx
mov edx, dword [ebp - 0x8a8]
sub edx, eax
mov dword [ebp - 0x898], esi
cmp esi, edx
jl 0xcb5f89
mov esi, edx
mov dword [ebp - 0x898], edx
mov edx, dword [ebp - 0x15c]
sub dword [ebp - 0x89c], edi
sub edx, ecx
mov dword [ebp - 0x8a0], edx
cmp edx, dword [ebp - 0x89c]
jl 0xcb5fb1
mov edx, dword [ebp - 0x89c]
mov dword [ebp - 0x8a0], edx
test esi, esi
jle 0xcb617c
test edx, edx
jle 0xcb617c
imul ecx, dword [ebp - 0x160]
imul edi, dword [ebp - 0x8a8]
mov esi, dword [ebp - 0x8a4]
add ecx, dword [ebp - 0x88c]
add edi, eax
mov eax, dword [ebp - 0x8b4]
lea ecx, [esi + ecx*4]
mov esi, dword [ebp - 0x898]
mov dword [ebp - 0x8d8], ecx
lea eax, [eax + edi*4]
mov dword [ebp - 0x8fc], eax
test edx, edx
jle 0xcb617c
mov ebx, dword [ebp - 0x160]
shl ebx, 2
mov dword [ebp - 0x8b4], ebx
mov ebx, dword [ebp - 0x8a8]
shl ebx, 2
mov dword [ebp - 0x8dc], ebx
mov ebx, dword [ebp - 0x8b4]
mov edi, dword [ebp - 0x8dc]
test esi, esi
jle 0xcb6157
mov ebx, eax
mov dword [ebp - 0x8a4], esi
lea edx, [eax + 3]
sub ebx, ecx
mov dword [ebp - 0x8d0], edx
lea edi, [ecx + 2]
mov dword [ebp - 0x88c], 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 0xcb6117
mov bl, byte [edi + ebx]
mov eax, dword [ebp - 0x8c0]
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 - 0x88c]
add al, bl
mov byte [edi + ecx], al
mov eax, dword [ebp - 0x8d0]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x8c0]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x8d0]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x886]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x8d0]
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 - 0x8a4]
cdq
idiv ecx
mov edx, dword [ebp - 0x8d0]
add al, bl
mov ebx, dword [ebp - 0x88c]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub esi, 1
mov dword [ebp - 0x8d0], edx
mov dword [ebp - 0x8a4], esi
jne 0xcb6051
mov edx, dword [ebp - 0x8a0]
mov esi, dword [ebp - 0x898]
mov ecx, dword [ebp - 0x8d8]
mov eax, dword [ebp - 0x8fc]
mov ebx, dword [ebp - 0x8b4]
mov edi, dword [ebp - 0x8dc]
add ecx, ebx
add eax, edi
sub edx, 1
mov dword [ebp - 0x8d8], ecx
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x8a0], edx
jne 0xcb602d
mov ebx, dword [ebp - 0x8bc]
mov eax, dword [ebp - 0x884]
test eax, eax
je 0xcb6197
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x8e4]
test eax, eax
je 0xcb61b8
mov esi, dword [0xd0803c]
mov ecx, esi
push eax
push dword [ebp - 0x8b0]
call dword [0xd0cffc]
call esi
push dword [ebp - 0x8b0]
mov esi, dword [0xd08018]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov edi, dword [ebp - 0x8cc]
test ebx, ebx
js 0xcb627f
xor eax, eax
inc eax
cmp dword [ebp - 0x890], eax
jne 0xcb6221
mov esi, dword [section..data]
xor eax, eax
push 0xcc0020
push eax
push eax
push edi
push dword [ebp - 0x8b8]
mov ecx, esi
push dword [ebp - 0x8c4]
push dword [ebp - 0x540]
push dword [ebp - 0x544]
push dword [ebp - 0x8e0]
call dword [0xd0cffc]
call esi
jmp 0xcb625e
push dword [ebp - 0x894]
mov ecx, dword [ebp - 0x8b8]
xor edx, edx
mov eax, dword [ebp - 0x8c4]
mov esi, dword [0xd08020]
push ecx
push eax
push edx
push edx
push edi
push ecx
push eax
push dword [ebp - 0x92c]
mov ecx, esi
push dword [ebp - 0x930]
push dword [ebp - 0x8e0]
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x8e0]
test eax, eax
je 0xcb627f
push dword [ebp - 0x978]
mov esi, dword [0xd08040]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x90c]
test eax, eax
je 0xcb629a
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
test edi, edi
je 0xcb62af
mov esi, dword [0xd08018]
mov ecx, esi
push edi
call dword [0xd0cffc]
call esi
mov eax, dword [ebp - 0x910]
test eax, eax
je 0xcb62ca
mov esi, dword [0xd0801c]
mov ecx, esi
push eax
call dword [0xd0cffc]
call esi
mov ecx, dword [ebp - 0x560]
test ecx, ecx
je 0xcb6321
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xcb62d9
mov eax, dword [ebp - 0x560]
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xcb6303
xor edx, edx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0xcb62fb
push dword [ebp - 0x560]
xor eax, eax
push 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_HeapFree]
xor eax, eax
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x55c]
test ecx, ecx
je 0xcb6378
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xcb6330
mov eax, dword [ebp - 0x55c]
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xcb635a
xor edx, edx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0xcb6352
push dword [ebp - 0x55c]
xor eax, eax
push 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_HeapFree]
xor eax, eax
mov dword [ebp - 0x55c], eax
mov edx, dword [ebp - 0x558]
test edx, edx
je 0xcb63cc
mov ecx, edx
xor edi, edi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0xcb6389
sub ecx, esi
xor eax, eax
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xcb63b3
mov byte [edx], al
inc edx
sub ecx, 1
jne 0xcb63a5
mov edx, dword [ebp - 0x558]
push edx
push 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_HeapFree]
xor edx, edx
mov dword [ebp - 0x558], edx
jmp 0xcb63ce
xor edx, edx
cmp dword [ebp - 0x554], 0
je 0xcb63f5
push dword [ebp - 0x554]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
xor edx, edx
mov dword [ebp - 0x554], edx
cmp dword [ebp - 0x550], 0
je 0xcb641c
push dword [ebp - 0x550]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
xor edx, edx
mov dword [ebp - 0x550], edx
cmp dword [ebp - 0x54c], 0
je 0xcb6443
push dword [ebp - 0x54c]
mov esi, dword [0xd0801c]
mov ecx, esi
call dword [0xd0cffc]
call esi
xor edx, edx
mov dword [ebp - 0x54c], edx
xor edx, edx
mov esi, 0xd0aed4
lea ecx, [edx + 1]
xor eax, eax
lock cmpxchg dword [esi], ecx
test eax, eax
jne 0xcb644a
mov eax, dword [0xd0a150]
push 0
pop edx
test eax, eax
jle 0xcb64a9
sub eax, 1
mov dword [0xd0a150], eax
jne 0xcb64a9
mov edi, edx
mov eax, dword [edi + 0xd0ae80]
test eax, eax
je 0xcb6480
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add edi, 0x10
cmp edi, 0x40
jb 0xcb646f
push 0x40
xor eax, eax
push eax
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
push dword [ebp - 0x97c]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edi, dword [ebp - 0x914]
push dword [ebp - 0x920]
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
test edi, edi
je 0xcb64de
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00bc0ea0
mov esp, ebp
pop ebp
ret