Function at 0xc08fa0
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, 0x99c
mov eax, dword [0xc940a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x98c]
mov ebx, ecx
mov dword [ebp - 0x89c], eax
push 6
pop ecx
rep stosd dword es:[edi], eax
push eax
mov dword [ebp - 0x8c8], ebx
mov edi, eax
mov esi, eax
mov dword [ebp - 0x8a8], eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x908], eax
test eax, eax
jne 0xc09015
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc09005
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0dc3f
mov ebx, 0x80004005
jmp 0xc0dc3f
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 4], eax
test eax, eax
jne 0xc0904a
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0903a
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0dc25
mov ebx, 0x80004005
jmp 0xc0dc25
cmp dword [ebx + 0x40], 3
je 0xc09059
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x8a8], esi
xor eax, eax
push 0x2c
push eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.00ab4bf6
mov eax, dword [ebp - 0x988]
add esp, 0xc
add eax, esi
add dword [ebx + 0xa4], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x8ac], eax
cmp eax, dword [ebp - 0x984]
jg 0xc09099
xor edx, edx
mov eax, edx
mov dword [ebp - 0x8ac], edx
mov dword [ebx + 0xa8], eax
xor edx, edx
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0x8cc], eax
mov eax, dword [ebx + 4]
mov ebx, 0xc96238
mov dword [ebp - 0x8e8], eax
lea ecx, [edx + 1]
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
jne 0xc090bb
mov eax, dword [0xc95890]
mov ebx, 0x9fbcf2
mov dword [ebp - 0x8f0], ebx
mov dword [ebp - 0x8d8], 0x67
mov dword [ebp - 0x8b8], 0x337
mov dword [ebp - 0x8ec], 0x10b
mov dword [ebp - 0x8e0], 0x20b
push 0
pop edx
test eax, eax
jne 0xc09739
push 0x338
mov esi, edx
mov dword [ebp - 0x8fc], edx
push edx
mov dword [ebp - 0x8b0], edx
mov dword [ebp - 0x8c4], esi
mov dword [ebp - 0x8b4], 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_HeapAlloc]
mov ecx, eax
mov dword [ebp - 0x8c0], ecx
test ecx, ecx
je 0xc0972d
or dword [ebp - 0x8d4], 0xffffffff
xor edx, edx
add ecx, 7
mov dword [ebp - 0x2d8], 0xab69605e
mov edi, ebx
mov dword [ebp - 0x2d4], 0x7f1137f
mov al, dl
mov dword [ebp - 0x904], edx
mov esi, edx
mov dword [ebp - 0x8d0], ecx
mov dword [ebp - 0x8f8], edi
mov dword [ebp - 0x8a4], 0x67
movzx ebx, byte [edi - 2]
movzx ecx, byte [edi - 1]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [edi]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [edi + 1]
movzx edi, byte [edi + 2]
shl ebx, 8
or ebx, ecx
shl edi, 8
mov ecx, dword [ebp - 0x8f8]
xor edx, ebx
mov dword [ebp - 0x894], edx
movzx ecx, byte [ecx + 3]
or edi, ecx
mov ecx, dword [ebp - 0x8f8]
shl edi, 8
movzx ecx, byte [ecx + 4]
or edi, ecx
mov ecx, dword [ebp - 0x8f8]
shl edi, 8
add dword [ebp - 0x8f8], 8
movzx ecx, byte [ecx + 5]
or edi, ecx
xor esi, edi
mov dword [ebp - 0x898], esi
mov esi, edx
xor esi, dword [ebp - 0x898]
xor esi, 0xac987321
lea ecx, [esi + 0x54969fa2]
rol ecx, 5
imul edx, ecx, 0x137f
mov ecx, esi
rol ecx, 0xa
add edx, ecx
mov ecx, dword [ebp - 0x894]
xor ecx, edx
mov dword [ebp - 0x894], ecx
add ecx, 0x7f1137f
ror ecx, 9
imul edx, ecx, 0xab69
mov ecx, dword [ebp - 0x894]
rol ecx, 2
sub edx, ecx
xor esi, edx
imul edx, esi, 0x605e
mov ecx, esi
shr ecx, 0xd
sub edx, ecx
mov ecx, dword [ebp - 0x894]
sub edx, 0x756c8a2
xor ecx, edx
mov dword [ebp - 0x894], ecx
xor ecx, 0xab69
rol ecx, 6
imul edx, ecx, 0x7f1
mov ecx, dword [ebp - 0x894]
rol ecx, 2
sub edx, ecx
mov ecx, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub ecx, edx
mov edx, dword [ebp - 0x894]
xor edx, ecx
mov dword [ebp - 0x894], edx
mov ecx, dword [ebp - 0x894]
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
mov ecx, dword [ebp - 0x894]
xor ecx, edx
mov dword [ebp - 0x894], ecx
add ecx, 0x54969fa2
ror ecx, 0xe
imul edx, ecx, 0x7f1
mov ecx, dword [ebp - 0x894]
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
mov ecx, dword [ebp - 0x894]
xor ecx, edx
mov dword [ebp - 0x894], ecx
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, dword [ebp - 0x894]
shr ecx, 0xa
xor edx, ecx
xor esi, edx
mov edx, dword [ebp - 0x894]
mov ecx, esi
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor edx, ecx
mov dword [ebp - 0x894], edx
lea ecx, [edx - 0x7f1]
xor ecx, esi
mov esi, dword [ebp - 0x894]
xor ecx, 0xab69605e
mov dword [ebp - 0x898], ecx
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, dword [ebp - 0x898]
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
mov ecx, dword [ebp - 0x898]
xor ecx, edx
mov dword [ebp - 0x898], ecx
mov edx, ecx
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 dword [ebp - 0x898], edx
mov edx, dword [ebp - 0x898]
xor esi, edx
xor esi, 0xac987321
mov ecx, esi
ror ecx, 3
imul ecx, ecx, 0x137f
sub ecx, 0xd0dd417
xor edx, ecx
mov dword [ebp - 0x898], edx
lea ecx, [edx - 0x7f1137f]
ror ecx, 1
imul edx, ecx, 0x605e
mov ecx, dword [ebp - 0x898]
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
mov ecx, dword [ebp - 0x898]
xor ecx, edx
mov dword [ebp - 0x898], ecx
add ecx, 0xab69605e
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, dword [ebp - 0x898]
ror ecx, 0xe
sub edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [ebp - 0x898]
xor ecx, edx
mov dword [ebp - 0x898], ecx
xor ecx, 0x7f1137f
rol ecx, 4
imul edx, ecx, 0x605e
mov ecx, dword [ebp - 0x898]
rol ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x898]
xor edx, dword [ebp - 0x904]
xor ecx, dword [ebp - 0x8d4]
xor esi, edx
mov edx, esi
mov dword [ebp - 0x894], esi
mov esi, dword [ebp - 0x8d0]
mov dword [ebp - 0x8d4], edi
mov edi, dword [ebp - 0x8f8]
mov dword [ebp - 0x904], ebx
mov byte [esi - 4], dl
mov byte [esi], cl
ror edx, 8
mov byte [esi - 5], dl
ror ecx, 8
mov byte [esi - 1], cl
ror edx, 8
mov byte [esi - 6], dl
ror ecx, 8
mov byte [esi - 2], cl
ror edx, 8
ror ecx, 8
mov byte [esi - 7], dl
mov byte [esi - 3], cl
add esi, 8
ror ecx, 8
ror edx, 8
sub dword [ebp - 0x8a4], 1
mov dword [ebp - 0x8d0], esi
mov esi, ecx
mov dword [ebp - 0x898], ecx
jne 0xc0918a
xor ecx, ecx
mov edx, ecx
mov ecx, dword [ebp - 0x8c0]
xor al, byte [edx + ecx]
inc edx
cmp edx, 0x338
jb 0xc09528
movzx eax, al
cdq
cmp eax, dword [0x9fc028]
jne 0xc09561
cmp edx, dword [0x9fc02c]
jne 0xc09561
mov esi, dword [ebp - 0x8b4]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x8c4], edi
mov ecx, eax
mov ebx, 0x337
jmp 0xc09571
mov edi, dword [ebp - 0x8c4]
or ebx, 0xffffffff
mov esi, 0xc004d501
xor eax, eax
test ecx, ecx
je 0xc09584
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 0xc09727
xor eax, eax
mov esi, edi
push 0x40
mov byte [ebx + edi], al
mov ebx, 0xc960a0
push eax
push ebx
call fcn.00ab4bf6
add esp, 0xc
cmp byte [edi], 0
je 0xc096bd
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x89c]
jne 0xc095b6
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 0xc09720
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0x8b0], ecx
cmp word [eax], dx
je 0xc09600
mov ecx, 0xc000007b
mov dword [ebp - 0x8b0], ecx
jmp 0xc09648
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0xc095f3
add edx, dword [edi]
cmp edx, dword [edi]
jb 0xc095f3
cmp dword [edx], 0x4550
jne 0xc095f3
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0x8ec]
je 0xc09636
cmp ax, word [ebp - 0x8e0]
je 0xc09636
mov ecx, 0xc000000d
jmp 0xc095f8
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 - 0x8bc], eax
test eax, eax
je 0xc096b1
mov edx, esi
mov dword [ebp - 0x8b4], esi
lea eax, [edx + 1]
mov dword [ebp - 0x8c0], eax
mov al, byte [edx]
inc edx
test al, al
jne 0xc09669
sub edx, dword [ebp - 0x8c0]
inc esi
add esi, edx
test ecx, ecx
js 0xc096a2
push dword [ebp - 0x8b4]
push dword [edi]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
test eax, eax
je 0xc096bd
mov ecx, dword [ebp - 0x8fc]
mov dword [ecx*4 + section..data], eax
mov ecx, dword [ebp - 0x8b0]
inc dword [ebp - 0x8fc]
inc ebx
cmp ebx, dword [ebp - 0x8bc]
jb 0xc09658
add edi, 0x10
cmp byte [esi], 0
jne 0xc095af
mov ebx, dword [ebp - 0x8b0]
mov esi, dword [ebp - 0x8c4]
test esi, esi
je 0xc096de
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push esi
xor ecx, ecx
push ecx
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test ebx, ebx
jns 0xc09734
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0xc960a0]
test eax, eax
je 0xc096f7
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xc096e6
push 0x40
push ebx
push 0xc960a0
call fcn.00ab4bf6
add esp, 0xc
mov esi, 0x9e6748
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xc0973f
mov ebx, 0xc000007a
jmp 0xc096c3
mov esi, dword [ebp - 0x8c4]
mov ebx, 0xc000007a
jmp 0xc096c9
mov eax, dword [0xc95890]
inc eax
mov dword [0xc95890], eax
xor eax, eax
mov ecx, 0xc96238
xchg dword [ecx], eax
mov eax, dword [ebp - 0x8cc]
xor ecx, ecx
mov esi, dword [0xc9300c]
xor edi, edi
mov dword [ebp - 0x1cc], eax
mov ebx, ecx
mov eax, dword [ebp - 0x8ac]
inc edi
push 0x20
neg eax
mov dword [ebp - 0x958], ecx
mov dword [ebp - 0x1c8], eax
pop eax
push ecx
push ecx
mov word [ebp - 0x1c2], ax
lea eax, [ebp - 0x958]
push eax
push ecx
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1c0], ecx
push eax
push dword [ebp - 0x8e8]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a8], ecx
mov ecx, esi
mov dword [ebp - 0x1d0], 0x28
mov word [ebp - 0x1c4], di
call dword [0xc99200]
call esi
mov esi, eax
mov dword [ebp - 0x90c], esi
test esi, esi
jne 0xc09805
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc097fe
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc09805
mov ebx, 0x80004005
mov edx, 0xc96238
mov ecx, edi
xor eax, eax
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xc0980a
mov eax, dword [0xc95890]
test eax, eax
jle 0xc0986d
sub eax, 1
mov dword [0xc95890], eax
jne 0xc0986d
xor eax, eax
mov esi, eax
mov eax, dword [esi + 0xc960a0]
test eax, eax
je 0xc0983e
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xc0982d
push 0x40
xor eax, eax
push eax
push 0xc960a0
call fcn.00ab4bf6
add esp, 0xc
mov esi, 0x9e6748
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x90c]
xor eax, eax
mov ecx, 0xc96238
xchg dword [ecx], eax
test ebx, ebx
js 0xc0dc1f
push esi
mov esi, dword [ebp - 0x8c8]
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 - 0x954], eax
test eax, eax
jne 0xc098c6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc098bb
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
mov edi, dword [ebp - 0x90c]
jmp 0xc0903a
xor ebx, ebx
cmp dword [esi + 0x48], ebx
je 0xc098d1
mov eax, ebx
jmp 0xc098dd
mov eax, dword [ebp - 0x988]
add eax, dword [ebp - 0x8a8]
mov dword [esi + 0x10], eax
lea edi, [ebp - 0x134]
mov dword [esi + 0x14], ebx
lea ecx, [esi + 0x10]
mov eax, dword [esi + 4]
mov dword [ebp - 0x900], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x8a0], eax
xor eax, eax
stosd dword es:[edi], eax
push 0x2c
push ebx
mov dword [ebp - 0x8f4], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x8f8], ebx
mov dword [ebp - 0x8fc], ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x254]
push eax
call fcn.00ab4bf6
add esp, 0xc
mov dword [ebp - 0x904], ebx
mov edx, 0xc96238
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xc09932
mov eax, dword [0xc95890]
test eax, eax
jne 0xc09f61
push 0x338
mov esi, ebx
mov dword [ebp - 0x8ac], ebx
push ebx
mov dword [ebp - 0x8b0], ebx
mov dword [ebp - 0x8c4], esi
mov dword [ebp - 0x8cc], 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 - 0x8c0], eax
test eax, eax
je 0xc09f53
or dword [ebp - 0x8d0], 0xffffffff
mov edi, 0x9fbcf2
add eax, 7
mov dword [ebp - 0x2d0], 0xab69605e
mov cl, bl
mov dword [ebp - 0x2cc], 0x7f1137f
mov dword [ebp - 0x8d4], ebx
mov edx, ebx
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8e4], edi
mov dword [ebp - 0x8a8], 0x67
movzx ebx, byte [edi - 2]
movzx eax, byte [edi - 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [edi]
shl ebx, 8
or ebx, eax
movzx eax, byte [edi + 1]
movzx edi, byte [edi + 2]
shl ebx, 8
or ebx, eax
shl edi, 8
mov eax, dword [ebp - 0x8e4]
xor edx, ebx
mov dword [ebp - 0x898], edx
movzx eax, byte [eax + 3]
or edi, eax
mov eax, dword [ebp - 0x8e4]
shl edi, 8
movzx eax, byte [eax + 4]
or edi, eax
mov eax, dword [ebp - 0x8e4]
shl edi, 8
add dword [ebp - 0x8e4], 8
movzx eax, byte [eax + 5]
or edi, eax
xor esi, edi
mov dword [ebp - 0x894], esi
mov esi, edx
xor esi, dword [ebp - 0x894]
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
mov eax, dword [ebp - 0x898]
xor eax, edx
mov dword [ebp - 0x898], eax
add eax, 0x7f1137f
ror eax, 9
imul edx, eax, 0xab69
mov eax, dword [ebp - 0x898]
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
mov eax, dword [ebp - 0x898]
sub edx, 0x756c8a2
xor eax, edx
mov dword [ebp - 0x898], eax
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0x898]
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
mov edx, dword [ebp - 0x898]
xor edx, eax
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x898]
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
mov eax, dword [ebp - 0x898]
xor eax, edx
mov dword [ebp - 0x898], eax
add eax, 0x54969fa2
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0x898]
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
mov eax, dword [ebp - 0x898]
xor eax, edx
mov dword [ebp - 0x898], eax
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, dword [ebp - 0x898]
shr eax, 0xa
xor edx, eax
xor edx, esi
mov esi, dword [ebp - 0x898]
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor esi, eax
lea eax, [esi - 0x7f1]
xor eax, edx
xor eax, 0xab69605e
mov dword [ebp - 0x894], eax
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, dword [ebp - 0x894]
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
mov eax, dword [ebp - 0x894]
xor eax, edx
mov dword [ebp - 0x894], eax
mov edx, eax
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 dword [ebp - 0x894], edx
mov edx, dword [ebp - 0x894]
xor esi, edx
xor esi, 0xac987321
mov eax, esi
ror eax, 3
imul eax, eax, 0x137f
sub eax, 0xd0dd417
xor edx, eax
mov dword [ebp - 0x894], edx
lea eax, [edx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, dword [ebp - 0x894]
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
mov eax, dword [ebp - 0x894]
xor eax, edx
mov dword [ebp - 0x894], eax
add eax, 0xab69605e
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, dword [ebp - 0x894]
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 0x894]
xor eax, edx
mov dword [ebp - 0x894], eax
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, dword [ebp - 0x894]
rol eax, 2
xor edx, eax
mov eax, dword [ebp - 0x894]
xor edx, dword [ebp - 0x8d4]
xor eax, dword [ebp - 0x8d0]
xor esi, edx
mov edx, esi
mov dword [ebp - 0x898], esi
mov esi, dword [ebp - 0x8a4]
mov dword [ebp - 0x8d0], edi
mov edi, dword [ebp - 0x8e4]
mov dword [ebp - 0x8d4], ebx
mov byte [esi - 4], dl
mov byte [esi], al
ror edx, 8
mov byte [esi - 5], dl
ror eax, 8
mov byte [esi - 1], al
ror edx, 8
mov byte [esi - 6], dl
ror eax, 8
mov byte [esi - 2], al
ror edx, 8
ror eax, 8
mov byte [esi - 7], dl
mov byte [esi - 3], al
add esi, 8
ror eax, 8
ror edx, 8
sub dword [ebp - 0x8a8], 1
mov dword [ebp - 0x8a4], esi
mov esi, eax
mov dword [ebp - 0x894], eax
jne 0xc099ca
mov esi, dword [ebp - 0x8c0]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xc09d4b
movzx eax, cl
cdq
cmp eax, dword [0x9fc028]
jne 0xc09d7d
cmp edx, dword [0x9fc02c]
jne 0xc09d7d
mov edi, esi
xor eax, eax
mov dword [ebp - 0x8c4], edi
mov esi, eax
mov ebx, 0x337
jmp 0xc09d92
mov edi, dword [ebp - 0x8c4]
or ebx, 0xffffffff
mov dword [ebp - 0x8cc], 0xc004d501
xor eax, eax
test esi, esi
je 0xc09da5
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 - 0x8cc], 0
jl 0xc09f4d
xor eax, eax
mov esi, edi
push 0x40
mov byte [ebx + edi], al
mov ebx, 0xc960a0
push eax
push ebx
call fcn.00ab4bf6
add esp, 0xc
cmp byte [edi], 0
je 0xc09ee3
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x89c]
jne 0xc09ddc
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 0xc09f46
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0x8b0], ecx
cmp word [eax], dx
je 0xc09e26
mov ecx, 0xc000007b
mov dword [ebp - 0x8b0], ecx
jmp 0xc09e6e
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0xc09e19
add edx, dword [edi]
cmp edx, dword [edi]
jb 0xc09e19
cmp dword [edx], 0x4550
jne 0xc09e19
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0x8ec]
je 0xc09e5c
cmp ax, word [ebp - 0x8e0]
je 0xc09e5c
mov ecx, 0xc000000d
jmp 0xc09e1e
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 - 0x8bc], eax
test eax, eax
je 0xc09ed7
mov edx, esi
mov dword [ebp - 0x8b4], esi
lea eax, [edx + 1]
mov dword [ebp - 0x8c0], eax
mov al, byte [edx]
inc edx
test al, al
jne 0xc09e8f
sub edx, dword [ebp - 0x8c0]
inc esi
add esi, edx
test ecx, ecx
js 0xc09ec8
push dword [ebp - 0x8b4]
push dword [edi]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
test eax, eax
je 0xc09ee3
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx*4 + section..data], eax
mov ecx, dword [ebp - 0x8b0]
inc dword [ebp - 0x8ac]
inc ebx
cmp ebx, dword [ebp - 0x8bc]
jb 0xc09e7e
add edi, 0x10
cmp byte [esi], 0
jne 0xc09dd5
mov ebx, dword [ebp - 0x8b0]
mov esi, dword [ebp - 0x8c4]
test esi, esi
je 0xc09f04
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push esi
xor ecx, ecx
push ecx
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test ebx, ebx
jns 0xc09f5a
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0xc960a0]
test eax, eax
je 0xc09f1d
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xc09f0c
push 0x40
push ebx
push 0xc960a0
call fcn.00ab4bf6
add esp, 0xc
mov esi, 0x9e6748
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xc09f67
mov ebx, 0xc000007a
jmp 0xc09ee9
mov esi, dword [ebp - 0x8c4]
mov ebx, 0xc000007a
jmp 0xc09eef
mov eax, dword [0xc95890]
xor ebx, ebx
inc eax
mov dword [0xc95890], eax
xor eax, eax
mov edx, 0xc96238
xchg dword [edx], eax
xor eax, eax
mov dword [ebp - 0x8e8], ebx
lea edi, [ebp - 0x974]
mov dword [ebp - 0x8cc], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x8b0], ebx
mov dword [ebp - 0x8a8], ebx
mov dword [ebp - 0x8b4], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x8a4], ebx
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 0xc09fa0
mov eax, dword [0xc95890]
test eax, eax
jne 0xc0a5b5
push 0x338
mov esi, ebx
mov dword [ebp - 0x8ac], ebx
push ebx
mov dword [ebp - 0x8dc], ebx
mov dword [ebp - 0x8c4], esi
mov dword [ebp - 0x8bc], 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 - 0x8c0], eax
test eax, eax
je 0xc0a5a7
or dword [ebp - 0x8d0], 0xffffffff
mov cl, bl
add eax, 7
mov dword [ebp - 0x2c8], 0xab69605e
mov dword [ebp - 0x2c4], 0x7f1137f
mov edx, ebx
mov dword [ebp - 0x8d4], ebx
mov dword [ebp - 0x898], ebx
mov dword [ebp - 0x8c8], eax
mov esi, dword [ebp - 0x8f0]
movzx ebx, byte [esi - 2]
movzx eax, byte [esi - 1]
movzx edi, byte [esi + 2]
shl ebx, 8
or ebx, eax
shl edi, 8
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 edi, eax
xor edx, ebx
movzx eax, byte [esi + 4]
shl edi, 8
or edi, eax
mov dword [ebp - 0x894], edx
movzx eax, byte [esi + 5]
add esi, 8
mov dword [ebp - 0x8f0], esi
shl edi, 8
or edi, eax
mov esi, edi
xor esi, dword [ebp - 0x898]
xor esi, edx
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
mov eax, dword [ebp - 0x894]
xor eax, edx
mov dword [ebp - 0x894], eax
add eax, 0x7f1137f
ror eax, 9
imul edx, eax, 0xab69
mov eax, dword [ebp - 0x894]
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
mov eax, dword [ebp - 0x894]
sub edx, 0x756c8a2
xor eax, edx
mov dword [ebp - 0x894], eax
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0x894]
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
mov edx, dword [ebp - 0x894]
xor edx, eax
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x894]
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
mov eax, dword [ebp - 0x894]
xor eax, edx
mov dword [ebp - 0x894], eax
add eax, 0x54969fa2
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0x894]
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
mov eax, dword [ebp - 0x894]
xor eax, edx
mov dword [ebp - 0x894], eax
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, dword [ebp - 0x894]
shr eax, 0xa
xor edx, eax
xor esi, edx
mov edx, dword [ebp - 0x894]
mov eax, esi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor edx, eax
mov dword [ebp - 0x894], edx
lea eax, [edx - 0x7f1]
xor eax, esi
mov esi, dword [ebp - 0x894]
xor eax, 0xab69605e
mov dword [ebp - 0x898], eax
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, dword [ebp - 0x898]
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
mov eax, dword [ebp - 0x898]
xor eax, edx
mov dword [ebp - 0x898], eax
mov edx, eax
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 dword [ebp - 0x898], edx
mov edx, dword [ebp - 0x898]
xor esi, edx
xor esi, 0xac987321
mov eax, esi
ror eax, 3
imul eax, eax, 0x137f
sub eax, 0xd0dd417
xor edx, eax
mov dword [ebp - 0x898], edx
lea eax, [edx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, dword [ebp - 0x898]
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
mov eax, dword [ebp - 0x898]
xor eax, edx
mov dword [ebp - 0x898], eax
add eax, 0xab69605e
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, dword [ebp - 0x898]
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 0x898]
xor eax, edx
mov dword [ebp - 0x898], eax
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, dword [ebp - 0x898]
rol eax, 2
xor edx, eax
mov eax, dword [ebp - 0x898]
xor edx, dword [ebp - 0x8d4]
xor eax, dword [ebp - 0x8d0]
xor esi, edx
mov edx, esi
mov dword [ebp - 0x894], esi
mov esi, dword [ebp - 0x8c8]
mov dword [ebp - 0x8d4], ebx
mov dword [ebp - 0x8d0], edi
mov byte [esi - 4], dl
mov byte [esi], al
ror edx, 8
mov byte [esi - 5], dl
ror eax, 8
mov byte [esi - 1], al
ror edx, 8
mov byte [esi - 6], dl
ror eax, 8
mov byte [esi - 2], al
ror edx, 8
ror eax, 8
mov byte [esi - 7], dl
mov byte [esi - 3], al
add esi, 8
ror eax, 8
ror edx, 8
sub dword [ebp - 0x8d8], 1
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x8c8], esi
jne 0xc0a029
mov esi, dword [ebp - 0x8c0]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0xc0a39e
movzx eax, cl
cdq
cmp eax, dword [0x9fc028]
jne 0xc0a3d1
cmp edx, dword [0x9fc02c]
jne 0xc0a3d1
mov ebx, dword [ebp - 0x8bc]
mov edi, esi
xor eax, eax
mov dword [ebp - 0x8c4], edi
mov esi, eax
jmp 0xc0a3e5
or dword [ebp - 0x8b8], 0xffffffff
mov ebx, 0xc004d501
mov edi, dword [ebp - 0x8c4]
xor eax, eax
test esi, esi
je 0xc0a3f8
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 0xc0a5a1
mov eax, dword [ebp - 0x8b8]
xor ecx, ecx
push 0x40
push ecx
mov ebx, 0xc960a0
mov esi, edi
push ebx
mov byte [eax + edi], cl
call fcn.00ab4bf6
add esp, 0xc
cmp byte [edi], 0
je 0xc0a537
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x89c]
jne 0xc0a430
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 0xc0a59a
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0x8dc], ecx
cmp word [eax], dx
je 0xc0a47a
mov ecx, 0xc000007b
mov dword [ebp - 0x8dc], ecx
jmp 0xc0a4c2
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0xc0a46d
add edx, dword [edi]
cmp edx, dword [edi]
jb 0xc0a46d
cmp dword [edx], 0x4550
jne 0xc0a46d
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0x8ec]
je 0xc0a4b0
cmp ax, word [ebp - 0x8e0]
je 0xc0a4b0
mov ecx, 0xc000000d
jmp 0xc0a472
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 - 0x8b8], eax
test eax, eax
je 0xc0a52b
mov edx, esi
mov dword [ebp - 0x8bc], esi
lea eax, [edx + 1]
mov dword [ebp - 0x8c0], eax
mov al, byte [edx]
inc edx
test al, al
jne 0xc0a4e3
sub edx, dword [ebp - 0x8c0]
inc esi
add esi, edx
test ecx, ecx
js 0xc0a51c
push dword [ebp - 0x8bc]
push dword [edi]
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
test eax, eax
je 0xc0a537
mov ecx, dword [ebp - 0x8ac]
mov dword [ecx*4 + section..data], eax
mov ecx, dword [ebp - 0x8dc]
inc dword [ebp - 0x8ac]
inc ebx
cmp ebx, dword [ebp - 0x8b8]
jb 0xc0a4d2
add edi, 0x10
cmp byte [esi], 0
jne 0xc0a429
mov ebx, dword [ebp - 0x8dc]
mov esi, dword [ebp - 0x8c4]
test esi, esi
je 0xc0a558
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push esi
xor ecx, ecx
push ecx
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
test ebx, ebx
jns 0xc0a5ae
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0xc960a0]
test eax, eax
je 0xc0a571
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xc0a560
push 0x40
push ebx
push 0xc960a0
call fcn.00ab4bf6
add esp, 0xc
mov esi, 0x9e6748
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0xc0a5bb
mov ebx, 0xc000007a
jmp 0xc0a53d
mov esi, dword [ebp - 0x8c4]
mov ebx, 0xc000007a
jmp 0xc0a543
mov eax, dword [0xc95890]
xor ebx, ebx
inc eax
mov dword [0xc95890], eax
xor eax, eax
mov ecx, 0xc96238
xchg dword [ecx], eax
push 0x54
lea eax, [ebp - 0x578]
push ebx
push eax
call fcn.00ab4bf6
xor eax, eax
mov esi, dword [0xc9307c]
lea edi, [ebp - 0x138]
add esp, 0xc
stosd dword es:[edi], eax
push 0xf
stosd dword es:[edi], eax
pop edx
push 0x403
push ebx
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x8a0]
mov ecx, eax
and ecx, edx
mov dword [ebp - 0x8dc], ecx
mov ecx, eax
shr ecx, 4
and ecx, edx
mov word [ebp - 0xc], cx
mov ecx, eax
shr ecx, 8
and ecx, edx
shr eax, 0xc
mov word [ebp - 0xa], cx
and eax, edx
mov ecx, esi
mov word [ebp - 8], ax
call dword [0xc99200]
call esi
mov dword [ebp - 0x8e4], eax
mov dword [ebp - 0x8c4], 0xffffff
test eax, eax
jne 0xc0a666
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0a656
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0bb3d
mov ebx, 0x80004005
jmp 0xc0bb3d
mov eax, ebx
mov dword [ebp - 0x910], ebx
mov dword [ebp - 0x898], eax
mov edi, ebx
lea eax, [ebp - 0x918]
mov dword [ebp - 0x8bc], ebx
push eax
xor eax, eax
mov dword [ebp - 0x918], ebx
push eax
lea eax, [ebp - 0x914]
mov dword [ebp - 0x8f0], edi
mov esi, ebx
mov ebx, dword [0xc93050]
push eax
push 8
mov ecx, ebx
mov dword [ebp - 0x8ec], esi
call dword [0xc99200]
call ebx
test eax, eax
jne 0xc0a7b6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0a6d2
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0a935
mov ebx, 0x80004005
mov edi, dword [ebp - 0x8b0]
xor ecx, ecx
test esi, esi
je 0xc0a759
mov eax, ecx
mov dword [ebp - 0x8ac], ecx
mov edx, dword [esi + eax*4]
test edx, edx
je 0xc0a74d
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x8a0], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x89c]
jne 0xc0a703
sub ecx, dword [ebp - 0x8a0]
xor eax, eax
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xc0a738
mov byte [edx], al
inc edx
sub ecx, 1
jne 0xc0a727
mov edx, dword [ebp - 0x8ac]
mov edx, dword [esi + edx*4]
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]
mov eax, dword [ebp - 0x8ac]
inc eax
mov dword [ebp - 0x8ac], eax
cmp eax, 3
jb 0xc0a6f1
mov eax, dword [ebp - 0x910]
xor edx, edx
test eax, eax
je 0xc0a777
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0xc0a777
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0xc0a76f
test esi, esi
je 0xc0a78a
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 - 0x910]
test eax, eax
je 0xc0b0db
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 - 0x910], ecx
jmp 0xc0b0dd
mov eax, dword [ebp - 0x918]
xor ebx, ebx
add eax, eax
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov dword [ebp - 0x8c8], eax
test eax, eax
jne 0xc0a7e3
mov ebx, 0x8007000e
jmp 0xc0a920
mov eax, dword [ebp - 0x914]
lea eax, [eax*4 + 4]
push eax
push ebx
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov edi, eax
mov dword [ebp - 0x8a0], edi
test edi, edi
jne 0xc0a817
mov ebx, 0x8007000e
xor ecx, ecx
jmp 0xc0a901
mov ebx, dword [0xc93050]
lea eax, [ebp - 0x918]
push eax
push dword [ebp - 0x8c8]
lea eax, [ebp - 0x914]
mov ecx, ebx
push eax
push 8
call dword [0xc99200]
call ebx
test eax, eax
jne 0xc0a861
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0a858
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0a810
mov ebx, 0x80004005
jmp 0xc0a810
xor ecx, ecx
mov eax, edi
mov dword [ebp - 0x8b8], ecx
cmp dword [ebp - 0x914], ecx
jbe 0xc0a8e0
mov esi, edi
mov edi, dword [ebp - 0x8c8]
mov ebx, dword [0xc93058]
push ecx
push edi
mov ecx, ebx
call dword [0xc99200]
call ebx
mov ecx, edi
mov dword [esi], eax
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0xc0a896
sub ecx, edx
sar ecx, 1
push 4
pop eax
add esi, eax
mov eax, dword [ebp - 0x8b8]
lea edi, [edi + ecx*2]
add edi, 2
inc eax
push 0
mov dword [ebp - 0x8b8], eax
pop ecx
cmp eax, dword [ebp - 0x914]
jb 0xc0a87b
mov edi, dword [ebp - 0x8a0]
mov dword [ebp - 0x8c0], esi
mov esi, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8c0]
mov ebx, dword [ebp - 0x898]
mov dword [eax], 0x409
mov eax, dword [ebp - 0x914]
inc eax
mov dword [ebp - 0x8f0], edi
mov edi, ecx
mov dword [ebp - 0x8b8], eax
test edi, edi
je 0xc0a914
push edi
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]
mov edi, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8c8]
test eax, eax
je 0xc0a935
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 0xc0a6dd
xor eax, eax
mov ebx, eax
mov ecx, eax
mov dword [ebp - 0x8ac], ebx
cmp dword [ebp - 0x8b8], eax
jbe 0xc0a97a
mov edx, dword [edi + ecx*4]
cmp edx, dword [eax*4 + 0xa192e8]
je 0xc0a970
inc eax
cmp eax, 0x26
jb 0xc0a954
inc ecx
xor eax, eax
cmp ecx, dword [ebp - 0x8b8]
jae 0xc0a97a
jmp 0xc0a951
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x8ac], ebx
mov edi, dword [0xc93054]
mov ecx, edi
push eax
mov dword [ebp - 0x8e0], eax
lea eax, [ebp - 0xc0]
push 0x55
push eax
push dword [ebx*4 + 0xa192e8]
call dword [0xc99200]
call edi
test eax, eax
je 0xc0a9e3
mov edi, dword [0xc93048]
lea eax, [ebp - 0x440]
push 0x10
push eax
push 0x58
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call dword [0xc99200]
call edi
test eax, eax
jle 0xc0a9e3
mov ebx, dword [ebp - 0x434]
shr ebx, 0x1b
and ebx, 1
mov dword [ebp - 0x8e0], ebx
mov ebx, dword [ebp - 0x8ac]
xor eax, eax
mov edx, 0x9fba10
mov edi, eax
mov ecx, edx
mov dword [ebp + edi*4 - 0x128], edx
lea eax, [ecx + 2]
mov dword [ebp - 0x8a0], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x89c]
jne 0xc0a9fe
sub ecx, dword [ebp - 0x8a0]
sar ecx, 1
lea edx, [edx + ecx*2]
add edx, 2
inc edi
cmp edi, 0x13
jb 0xc0a9ec
imul ecx, ebx, 3
movzx eax, byte [ecx + 0xa00b58]
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x8a8], eax
movzx eax, byte [ecx + 0xa00b59]
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x8b4], eax
movzx eax, byte [ecx + 0xa00b5a]
mov eax, dword [ebp + eax*4 - 0x128]
mov dword [ebp - 0x8a4], eax
xor ebx, ebx
push 0x1c90
mov eax, ebx
push ebx
mov dword [ebp - 0x898], 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 - 0x8c0], ecx
test ecx, ecx
jne 0xc0aa93
mov ebx, 0x8007000e
jmp 0xc0a6dd
or dword [ebp - 0x8d4], 0xffffffff
lea esi, [ecx + 7]
mov al, bl
mov dword [ebp - 0x8b8], ebx
mov dword [ebp - 0x8d8], ebx
mov edi, ebx
mov ebx, 0xa19392
mov dword [ebp - 0x2c0], 0xab69605e
mov dword [ebp - 0x2bc], 0x7f1137f
mov dword [ebp - 0x8c8], ebx
mov dword [ebp - 0x8d0], 0x392
movzx edx, byte [ebx - 2]
movzx ecx, byte [ebx - 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [ebx]
shl edx, 8
or edx, ecx
movzx ecx, byte [ebx + 1]
movzx ebx, byte [ebx + 2]
shl edx, 8
or edx, ecx
shl ebx, 8
mov ecx, dword [ebp - 0x8c8]
xor edi, edx
mov dword [ebp - 0x8a0], edx
mov edx, dword [ebp - 0x8d8]
mov dword [ebp - 0x894], edi
movzx ecx, byte [ecx + 3]
or ebx, ecx
mov ecx, dword [ebp - 0x8c8]
shl ebx, 8
movzx ecx, byte [ecx + 4]
or ebx, ecx
mov ecx, dword [ebp - 0x8c8]
shl ebx, 8
add dword [ebp - 0x8c8], 8
movzx ecx, byte [ecx + 5]
or ebx, ecx
xor edx, ebx
xor edx, edi
xor edx, 0xac987321
mov edi, edx
lea ecx, [edx + 0x54969fa2]
rol edx, 0xa
rol ecx, 5
imul ecx, ecx, 0x137f
add ecx, edx
mov edx, dword [ebp - 0x894]
xor edx, ecx
mov dword [ebp - 0x894], edx
lea ecx, [edx + 0x7f1137f]
ror ecx, 9
imul edx, ecx, 0xab69
mov ecx, dword [ebp - 0x894]
rol ecx, 2
sub edx, ecx
xor edi, edx
imul edx, edi, 0x605e
mov ecx, edi
shr ecx, 0xd
sub edx, ecx
mov ecx, dword [ebp - 0x894]
sub edx, 0x756c8a2
xor ecx, edx
mov dword [ebp - 0x894], ecx
xor ecx, 0xab69
rol ecx, 6
imul edx, ecx, 0x7f1
mov ecx, dword [ebp - 0x894]
rol ecx, 2
sub edx, ecx
mov ecx, 0x7f1137f
xor edi, edx
mov edx, edi
xor edx, 0xab69605e
sub ecx, edx
mov edx, dword [ebp - 0x894]
xor edx, ecx
mov dword [ebp - 0x894], edx
mov ecx, dword [ebp - 0x894]
xor ecx, 0x137f
ror edx, 6
imul ecx, ecx, 0xab69
xor edx, ecx
xor edi, edx
lea ecx, [edi + 0x7f1137f]
ror ecx, 0xf
imul edx, ecx, 0x605e
mov ecx, edi
rol ecx, 2
add edx, ecx
mov ecx, dword [ebp - 0x894]
xor ecx, edx
mov dword [ebp - 0x894], ecx
add ecx, 0x54969fa2
ror ecx, 0xe
imul edx, ecx, 0x7f1
mov ecx, dword [ebp - 0x894]
rol ecx, 8
sub edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, 0xab69605e
ror ecx, 0xc
imul edx, ecx, 0x137f
mov ecx, edi
ror ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x894]
xor ecx, edx
mov dword [ebp - 0x894], ecx
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, dword [ebp - 0x894]
shr ecx, 0xa
xor edx, ecx
xor edi, edx
mov edx, dword [ebp - 0x894]
mov ecx, edi
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor edx, ecx
mov dword [ebp - 0x894], edx
lea ecx, [edx - 0x7f1]
xor ecx, edi
mov edi, dword [ebp - 0x894]
xor ecx, 0xab69605e
mov dword [ebp - 0x8d8], ecx
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, dword [ebp - 0x8d8]
shr ecx, 2
add edx, ecx
xor edi, edx
lea ecx, [edi - 0x7f1137f]
ror ecx, 6
imul edx, ecx, 0xab69
mov ecx, edi
rol ecx, 7
add edx, ecx
mov ecx, dword [ebp - 0x8d8]
xor ecx, edx
mov dword [ebp - 0x8d8], ecx
mov edx, ecx
xor ecx, 0x137f
ror edx, 9
imul ecx, ecx, 0x605e
add edx, ecx
xor edi, edx
mov ecx, edi
xor ecx, 0xab69
rol ecx, 5
imul edx, ecx, 0x7f1
mov ecx, edi
rol ecx, 7
add edx, ecx
xor dword [ebp - 0x8d8], edx
mov edx, dword [ebp - 0x8d8]
xor edi, edx
xor edi, 0xac987321
mov ecx, edi
ror ecx, 3
imul ecx, ecx, 0x137f
sub ecx, 0xd0dd417
xor edx, ecx
mov dword [ebp - 0x8d8], edx
lea ecx, [edx - 0x7f1137f]
ror ecx, 1
imul edx, ecx, 0x605e
mov ecx, dword [ebp - 0x8d8]
ror ecx, 6
sub edx, ecx
xor edi, edx
lea ecx, [edi - 0x54969fa2]
rol ecx, 3
imul edx, ecx, 0x7f1
mov ecx, edi
rol ecx, 0xe
add edx, ecx
mov ecx, dword [ebp - 0x8d8]
xor ecx, edx
mov dword [ebp - 0x8d8], ecx
add ecx, 0xab69605e
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, dword [ebp - 0x8d8]
ror ecx, 0xe
sub edx, ecx
xor edi, edx
mov ecx, edi
mov dword [ebp - 0x894], edi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, edi
mov edi, dword [ebp - 0x8d8]
shr ecx, 3
xor edx, ecx
xor edi, edx
mov ecx, edi
mov dword [ebp - 0x8d8], edi
xor ecx, 0x7f1137f
rol ecx, 4
imul edx, ecx, 0x605e
mov ecx, edi
rol ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x894]
xor edx, dword [ebp - 0x8b8]
xor ecx, edx
mov edx, edi
xor edx, dword [ebp - 0x8d4]
mov byte [esi - 4], cl
mov byte [esi], dl
lea esi, [esi + 8]
ror ecx, 8
mov byte [esi - 0xd], cl
ror edx, 8
mov byte [esi - 9], dl
ror ecx, 8
mov byte [esi - 0xe], cl
ror edx, 8
ror ecx, 8
mov byte [esi - 0xa], dl
mov byte [esi - 0xf], cl
ror edx, 8
ror ecx, 8
mov byte [esi - 0xb], dl
mov dword [ebp - 0x894], ecx
mov ecx, dword [ebp - 0x8a0]
mov edi, dword [ebp - 0x894]
ror edx, 8
sub dword [ebp - 0x8d0], 1
mov dword [ebp - 0x8d4], ebx
mov ebx, dword [ebp - 0x8c8]
mov dword [ebp - 0x8d8], edx
mov dword [ebp - 0x8b8], ecx
jne 0xc0aad6
mov esi, dword [ebp - 0x8ec]
xor ecx, ecx
mov edx, ecx
mov edi, 0x1c90
mov ecx, dword [ebp - 0x8c0]
xor al, byte [edx + ecx]
inc edx
cmp edx, edi
jb 0xc0ae81
movzx eax, al
cdq
cmp eax, dword [0xa1b020]
jne 0xc0aeb5
cmp edx, dword [0xa1b024]
jne 0xc0aeb5
mov ebx, dword [ebp - 0x898]
xor edx, edx
mov dword [ebp - 0x910], ecx
mov ecx, edx
mov dword [ebp - 0x8bc], edi
jmp 0xc0aec2
mov ebx, 0xc004d501
xor edx, edx
mov dword [ebp - 0x898], ebx
test ecx, ecx
je 0xc0aed5
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 0xc0a6dd
mov edi, dword [ebp - 0x910]
xor eax, eax
mov ebx, dword [ebp - 0x8ac]
mov esi, eax
mov edx, eax
cmp ebx, edx
jne 0xc0aefa
mov dword [ebp + esi*4 - 0xd8], edi
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x8a0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xc0af05
sub ecx, dword [ebp - 0x8a0]
inc edi
add edi, ecx
inc edx
cmp edx, 0x26
jb 0xc0aeef
inc esi
push 0
pop eax
cmp esi, 6
jb 0xc0aeed
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 - 0x898]
mov esi, eax
test esi, esi
je 0xc0aa89
xor eax, eax
mov edi, esi
mov edx, esi
mov dword [ebp - 0x8ac], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov ecx, eax
mov eax, esi
sub eax, esi
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8d4], eax
movzx edi, word [ebp + ecx*2 - 0xc]
xor eax, eax
cmp di, word [eax*2 + 0xa19380]
je 0xc0af83
inc eax
cmp eax, 6
jb 0xc0af6e
jmp 0xc0b054
mov edi, dword [ebp + eax*4 - 0xd8]
mov ecx, edi
mov edx, dword [0xc93060]
mov dword [ebp - 0x8c0], edx
lea eax, [ecx + 1]
mov dword [ebp - 0x8a0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xc0afa1
sub ecx, dword [ebp - 0x8a0]
xor eax, eax
push eax
push eax
lea eax, [ecx + 1]
mov ecx, edx
push eax
push edi
xor eax, eax
push eax
push 0xfde9
call dword [0xc99200]
call dword [ebp - 0x8c0]
mov dword [ebp - 0x8c0], eax
test eax, eax
je 0xc0b0ae
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 - 0x8ac]
mov edx, dword [ebp - 0x8d4]
mov dword [edx + ecx], eax
mov edx, dword [ecx]
test edx, edx
je 0xc0aa89
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x8a0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0xc0b013
push dword [ebp - 0x8c0]
sub ecx, dword [ebp - 0x8a0]
push edx
lea eax, [ecx + 1]
push eax
push edi
mov edi, dword [0xc93060]
xor eax, eax
push eax
push 0xfde9
mov ecx, edi
call dword [0xc99200]
call edi
test eax, eax
je 0xc0b08c
mov ecx, dword [ebp - 0x8b8]
mov edx, dword [ebp - 0x8ac]
push 4
inc ecx
pop eax
add edx, eax
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8ac], edx
cmp ecx, 3
jb 0xc0af67
mov eax, dword [ebp - 0x8e0]
mov edi, esi
xor ecx, ecx
mov dword [ebp - 0x8b0], edi
mov esi, ecx
mov dword [ebp - 0x578], eax
jmp 0xc0a6e5
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b0a3
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0a6dd
jmp 0xc0a6d8
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b0c5
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
mov edi, dword [ebp - 0x8b0]
js 0xc0a6e3
mov ebx, 0x80004005
jmp 0xc0a6e3
xor ecx, ecx
mov eax, dword [ebp - 0x8f0]
test eax, eax
je 0xc0b0f6
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 0xc0bb24
mov eax, dword [edi]
xor ecx, ecx
mov esi, dword [0xc930b4]
mov ebx, ecx
mov dword [ebp - 0x570], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x56c], eax
mov eax, dword [edi + 8]
mov edi, ecx
push ecx
mov dword [ebp - 0x568], eax
lea eax, [ebp - 0x964]
push eax
push ecx
mov dword [ebp - 0x960], ecx
mov dword [ebp - 0x95c], ecx
mov ecx, esi
push 0x42
mov dword [ebp - 0x964], 0xc
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b173
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b16a
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0b17c
mov ebx, 0x80004005
jmp 0xc0b17c
mov edi, dword [ebp - 0x960]
and edi, 1
mov dword [ebp - 0x574], edi
test ebx, ebx
js 0xc0bb24
mov ebx, dword [ebp - 0x8dc]
mov eax, ebx
push 0xb
pop edx
push 0x2a
pop ecx
mov dword [ebp - 0x8f0], ecx
sub eax, 1
je 0xc0b1cc
sub eax, 1
je 0xc0b1c0
sub eax, 1
jne 0xc0b1d8
mov eax, 0xe1
mov dword [ebp - 0x8e8], eax
mov dword [ebp - 0x8cc], eax
jmp 0xc0b1d8
mov dword [ebp - 0x8e8], 0xf
jmp 0xc0b1d2
mov dword [ebp - 0x8e8], ecx
mov dword [ebp - 0x8cc], edx
push 0x60
pop edi
xor eax, eax
mov dword [ebp - 0x89c], edi
lea esi, [edi + 0x7c]
push esi
push eax
lea eax, [ebp - 0x520]
push eax
call fcn.00ab4bf6
add esp, 0xc
mov word [ebp - 0x4dc], si
mov esi, dword [0xc93070]
lea eax, [ebp - 0x520]
mov ecx, esi
push eax
push 0xffffffffffffffff
xor eax, eax
push eax
call dword [0xc99200]
call esi
test eax, eax
je 0xc0b25f
movzx edi, word [ebp - 0x47a]
mov eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x89c], edi
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x96c], eax
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x968], ecx
cmp edi, 0x60
jae 0xc0b277
push 0x60
pop edi
mov dword [ebp - 0x89c], edi
jmp 0xc0b277
mov eax, dword [ebp - 0x968]
mov dword [ebp - 0x8b8], eax
mov eax, dword [ebp - 0x96c]
mov dword [ebp - 0x8ac], eax
mov eax, dword [ebp - 0x8a8]
cmp ebx, 1
je 0xc0b288
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x8bc], eax
xor eax, eax
push 0x5c
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.00ab4bf6
mov esi, dword [0xc9307c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0xc99200]
call esi
mov dword [ebp - 0x8a0], eax
test eax, eax
jne 0xc0b2ee
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b2de
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0b38e
mov ebx, 0x80004005
jmp 0xc0bb24
mov esi, dword [0xc9305c]
mov ecx, esi
push 0x48
push edi
push dword [ebp - 0x8e8]
call dword [0xc99200]
call esi
push dword [ebp - 0x8bc]
neg eax
mov dword [ebp - 0x410], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x404]
mov dword [ebp - 0x420], eax
mov byte [ebp - 0x406], 5
call fcn.00a535e0
mov esi, dword [0xc93010]
lea eax, [ebp - 0x420]
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b36f
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b366
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0b375
mov ebx, 0x80004005
jmp 0xc0b375
mov dword [ebp - 0x564], eax
push dword [ebp - 0x8a0]
mov esi, dword [0xc930b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0bb24
cmp dword [ebp - 0x8dc], 1
je 0xc0b3ab
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x8a8], eax
xor eax, eax
push 0x5c
push eax
lea eax, [ebp - 0x3c0]
push eax
call fcn.00ab4bf6
mov esi, dword [0xc9307c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0xc99200]
call esi
mov dword [ebp - 0x8a0], eax
test eax, eax
jne 0xc0b47c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b3ff
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
jns 0xc0b2e4
push 0x20
pop edi
test ebx, ebx
js 0xc0bb24
mov ebx, dword [ebp - 0x8dc]
xor eax, eax
mov ecx, eax
mov edx, eax
mov eax, ebx
sub eax, 1
je 0xc0b431
sub eax, 1
je 0xc0b523
sub eax, 1
jne 0xc0b43d
mov ecx, dword [ebp - 0x8ac]
mov edx, dword [ebp - 0x8b8]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], edx
xor edx, edx
inc edx
cmp ebx, edx
je 0xc0b566
lea eax, [ebx - 2]
xor ebx, ebx
cmp eax, edx
ja 0xc0b53a
mov eax, ebx
mov dword [ebp - 0x8f0], ebx
mov edx, ebx
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a8], ebx
jmp 0xc0b57b
mov esi, dword [0xc9305c]
mov ecx, esi
push 0x48
push edi
push dword [ebp - 0x8cc]
call dword [0xc99200]
call esi
push dword [ebp - 0x8a8]
neg eax
mov dword [ebp - 0x3b0], 0x190
push 0x20
pop edi
mov edx, edi
mov dword [ebp - 0x3c0], eax
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 0x3a6], 5
call fcn.00a535e0
mov esi, dword [0xc93010]
lea eax, [ebp - 0x3c0]
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b4ff
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b4f6
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0b505
mov ebx, 0x80004005
jmp 0xc0b505
mov dword [ebp - 0x560], eax
push dword [ebp - 0x8a0]
mov esi, dword [0xc930b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xc99200]
call esi
jmp 0xc0b408
mov eax, dword [ebp - 0x8ac]
push 4
cdq
pop ecx
idiv ecx
mov ecx, eax
xor eax, eax
mov edx, eax
jmp 0xc0b43d
mov eax, dword [ebp - 0x908]
mov edx, dword [ebp - 0x908]
mov dword [ebp - 0x8a8], eax
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x8f0], eax
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x8a4], eax
jmp 0xc0b57b
xor ebx, ebx
mov dword [ebp - 0x8a8], edi
mov edx, 0x96
mov dword [ebp - 0x8a4], ebx
mov eax, ebx
mov dword [ebp - 0x8ac], edx
push dword [ebp - 0x564]
mov esi, dword [0xc9303c]
sub ecx, edx
push dword [ebp - 0x8e4]
mov edi, dword [ebp - 0x570]
sub ecx, eax
mov dword [ebp - 0x8c0], ecx
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x54c], ecx
mov ecx, esi
call dword [0xc99200]
call esi
mov esi, dword [0xc9306c]
mov ecx, esi
mov dword [ebp - 0x8a0], eax
xor eax, eax
push eax
push 0xc50
lea eax, [ebp - 0x554]
push eax
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x8e4]
push edi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b5f1
mov ebx, 0x80004005
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0xc0b60d
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0bb24
push dword [ebp - 0x560]
mov esi, dword [0xc9303c]
xor eax, eax
push dword [ebp - 0x8e4]
mov edi, dword [ebp - 0x56c]
mov ecx, esi
mov ebx, eax
call dword [0xc99200]
call esi
mov esi, dword [0xc9306c]
mov ecx, esi
mov dword [ebp - 0x8a0], eax
xor eax, eax
push eax
push 0xc50
lea eax, [ebp - 0x544]
push eax
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x8e4]
push edi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b673
mov ebx, 0x80004005
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0xc0b68f
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0bb24
mov eax, dword [ebp - 0x8dc]
cmp eax, 2
je 0xc0b6a7
cmp eax, 3
jne 0xc0b6bd
mov edi, dword [ebp - 0x53c]
cmp dword [ebp - 0x54c], edi
jle 0xc0b6c3
mov edi, dword [ebp - 0x54c]
jmp 0xc0b6c3
mov edi, dword [ebp - 0x8c0]
cmp dword [ebp - 0x578], 0
mov esi, dword [0xc930a8]
mov ecx, esi
push dword [ebp - 0x8f0]
je 0xc0b704
mov ebx, dword [ebp - 0x8a4]
mov eax, ebx
sub eax, dword [ebp - 0x54c]
add eax, edi
push eax
lea eax, [ebp - 0x554]
push eax
call dword [0xc99200]
call esi
sub ebx, dword [ebp - 0x53c]
add ebx, edi
jmp 0xc0b71a
mov ebx, dword [ebp - 0x8ac]
lea eax, [ebp - 0x554]
push ebx
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x548]
add eax, dword [ebp - 0x8a8]
mov esi, dword [0xc930a8]
mov ecx, esi
push eax
push ebx
lea eax, [ebp - 0x544]
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8dc]
cmp eax, 2
je 0xc0ba0e
cmp eax, 3
je 0xc0ba0e
xor edx, edx
inc edx
cmp eax, edx
jne 0xc0ba2d
xor eax, eax
mov dword [ebp - 0x558], 0xffffff
push 0x5c
push eax
lea eax, [ebp - 0x360]
push eax
call fcn.00ab4bf6
mov esi, dword [0xc9307c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0xc99200]
call esi
mov dword [ebp - 0x8a0], eax
test eax, eax
jne 0xc0b7c7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b7bc
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0b868
jmp 0xc0b2e4
mov esi, dword [0xc9305c]
mov ecx, esi
push 0x48
push dword [ebp - 0x89c]
push 0xb
call dword [0xc99200]
call esi
push dword [ebp - 0x8b4]
neg eax
mov dword [ebp - 0x350], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x360], eax
mov byte [ebp - 0x346], 5
call fcn.00a535e0
mov esi, dword [0xc93010]
lea eax, [ebp - 0x360]
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b849
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0b840
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0b84f
mov ebx, 0x80004005
jmp 0xc0b84f
mov dword [ebp - 0x55c], eax
push dword [ebp - 0x8a0]
mov esi, dword [0xc930b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0bb24
push dword [ebp - 0x55c]
mov esi, dword [0xc9303c]
xor eax, eax
push dword [ebp - 0x8e4]
mov dword [ebp - 0x52c], edi
mov ecx, esi
mov edi, dword [ebp - 0x568]
mov ebx, eax
call dword [0xc99200]
call esi
mov esi, dword [0xc9306c]
mov ecx, esi
mov dword [ebp - 0x8a0], eax
xor eax, eax
push eax
push 0x460
lea eax, [ebp - 0x534]
push eax
push 0xffffffffffffffff
push edi
mov edi, dword [ebp - 0x8e4]
push edi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0b8d4
mov ebx, 0x80004005
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0xc0b8f0
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0bb24
mov eax, dword [ebp - 0x52c]
push 0x5a
add eax, 0x18
pop ecx
mov dword [ebp - 0x52c], eax
cmp eax, ecx
jge 0xc0b914
mov dword [ebp - 0x52c], ecx
mov ebx, dword [ebp - 0x89c]
mov esi, dword [0xc9305c]
mov ecx, esi
push 0x60
pop edi
push edi
push ebx
push dword [ebp - 0x534]
mov dword [ebp - 0x528], 0x20
call dword [0xc99200]
call esi
mov esi, dword [0xc9305c]
mov ecx, esi
push edi
push ebx
push dword [ebp - 0x530]
mov dword [ebp - 0x534], eax
call dword [0xc99200]
call esi
mov esi, dword [0xc9305c]
mov ecx, esi
push edi
push ebx
push dword [ebp - 0x52c]
mov dword [ebp - 0x530], eax
call dword [0xc99200]
call esi
mov esi, dword [0xc9305c]
mov ecx, esi
push edi
push ebx
push dword [ebp - 0x528]
mov dword [ebp - 0x52c], eax
call dword [0xc99200]
call esi
cmp dword [ebp - 0x578], 0
mov esi, dword [0xc930a8]
mov dword [ebp - 0x528], eax
je 0xc0b9e0
mov ecx, dword [ebp - 0x538]
mov eax, dword [ebp - 0x554]
add ecx, 0x24
cmp eax, dword [ebp - 0x544]
jl 0xc0b9cb
mov eax, dword [ebp - 0x544]
push ecx
push eax
lea eax, [ebp - 0x534]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
jmp 0xc0ba2a
mov eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x54c]
add eax, 0x24
cmp ecx, dword [ebp - 0x53c]
jg 0xc0b9fd
mov ecx, dword [ebp - 0x53c]
push eax
mov eax, dword [ebp - 0x534]
sub eax, dword [ebp - 0x52c]
add eax, ecx
jmp 0xc0b9cc
mov eax, dword [ebp - 0x538]
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x558], 0xffa8a8a8
xor edx, edx
inc edx
mov eax, dword [ebp - 0x578]
mov ebx, dword [ebp - 0x130]
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x8dc]
sub eax, 1
je 0xc0bcbc
sub eax, 1
je 0xc0bbe9
sub eax, 1
jne 0xc0bb22
mov esi, dword [0xc930a4]
lea edi, [ebp - 0x300]
push 0xa
pop ecx
rep stosd dword es:[edi], eax
push edx
push eax
mov ecx, esi
call dword [0xc99200]
call esi
mov esi, dword [0xc93084]
lea ecx, [ebp - 0x300]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x300], 0x28
call dword [0xc99200]
call esi
test eax, eax
je 0xc0bb22
mov esi, dword [0xc930a0]
lea eax, [ebp - 0x2ec]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov esi, dword [0xc930a0]
lea eax, [ebp - 0x2e4]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x2e4]
lea esi, [ebp - 0x2ec]
sub eax, ebx
lea edi, [ebp - 0x99c]
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 - 0x138], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x8b4]
movsd dword es:[edi], dword [esi]
imul eax, eax, 0x32
movsd dword es:[edi], dword [esi]
cdq
idiv ecx
mov dword [ebp - 0x134], eax
xor ebx, ebx
push dword [ebp - 0x8e4]
mov esi, dword [0xc930b0]
xor eax, eax
push eax
mov ecx, esi
call dword [0xc99200]
call esi
xor esi, esi
mov edx, 0xc96238
inc esi
mov ecx, esi
xor eax, eax
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0xc0bb45
mov eax, dword [0xc95890]
test eax, eax
jle 0xc0bba5
sub eax, 1
mov dword [0xc95890], eax
jne 0xc0bba5
xor eax, eax
mov esi, eax
mov eax, dword [esi + 0xc960a0]
test eax, eax
je 0xc0bb79
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add esi, 0x10
cmp esi, 0x40
jb 0xc0bb68
push 0x40
xor eax, eax
push eax
push 0xc960a0
call fcn.00ab4bf6
add esp, 0xc
mov esi, 0x9e6748
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
xor esi, esi
inc esi
xor eax, eax
mov ecx, 0xc96238
xchg dword [ecx], eax
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0xc0bbc9
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 0xc0da2b
mov eax, dword [ebp - 0x8f4]
test eax, eax
je 0xc0bccf
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0xc0bcdb
mov esi, dword [0xc930a4]
lea edi, [ebp - 0x2b8]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
push edx
push eax
mov ecx, esi
call dword [0xc99200]
call esi
mov esi, dword [0xc93084]
lea ecx, [ebp - 0x2b8]
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x2b8], 0x28
call dword [0xc99200]
call esi
test eax, eax
je 0xc0bb22
mov esi, dword [0xc930a0]
lea eax, [ebp - 0x2a4]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov esi, dword [0xc930a0]
lea eax, [ebp - 0x29c]
push eax
xor eax, eax
mov ecx, esi
push eax
call dword [0xc99200]
call esi
cmp dword [ebp - 0x8a0], 0
lea esi, [ebp - 0x2a4]
lea edi, [ebp - 0x99c]
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 0xc0bc94
imul eax, dword [ebp - 0x29c], 5
cdq
idiv ecx
add eax, dword [ebp - 0x2a4]
jmp 0xc0bca2
mov eax, dword [ebp - 0x29c]
sub eax, ebx
imul eax, eax, 0x5f
cdq
idiv ecx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x298]
sub eax, dword [ebp - 0x8b4]
imul eax, eax, 0x5f
jmp 0xc0bb19
xor ebx, ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
jmp 0xc0bb24
mov edi, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x134]
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x5d0]
push eax
call fcn.00ab4bf6
add esp, 0xc
mov dword [ebp - 0x8b4], esi
mov esi, dword [0xc93028]
mov ecx, esi
push 7
push dword [ebp - 0x900]
call dword [0xc99200]
call esi
test eax, eax
je 0xc0bd56
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x5d0]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0bd56
push 0x20
pop eax
cmp word [ebp - 0x5be], ax
jne 0xc0bd56
cmp dword [ebp - 0x5bc], 0
je 0xc0bd56
cmp dword [ebp - 0x5cc], 0
jle 0xc0bd56
cmp dword [ebp - 0x5c8], 0
jg 0xc0bd67
xor eax, eax
cmp dword [ebp - 0x8dc], 1
mov dword [ebp - 0x8b4], eax
jne 0xc0bdd1
mov esi, dword [0xc930a8]
lea eax, [ebp - 0x554]
push ebx
push edi
push eax
mov ecx, esi
call dword [0xc99200]
call esi
mov esi, dword [0xc930a8]
lea eax, [ebp - 0x544]
push ebx
push edi
push eax
mov ecx, esi
call dword [0xc99200]
call esi
mov ebx, dword [ebp - 0x8dc]
cmp ebx, 1
jne 0xc0bdd7
mov eax, dword [ebp - 0x574]
mov esi, dword [0xc93014]
neg eax
mov ecx, esi
sbb eax, eax
and eax, 0xff4d98e0
add eax, 0xb26720
push eax
call dword [0xc99200]
call esi
mov dword [ebp - 0x904], eax
jmp 0xc0bdd7
mov ebx, dword [ebp - 0x8dc]
mov esi, dword [0xc93040]
mov ecx, esi
mov edi, dword [ebp - 0x900]
push 1
push edi
call dword [0xc99200]
call esi
cmp dword [ebp - 0x578], 0
mov dword [ebp - 0x950], eax
mov dword [ebp - 0x8d8], 0x810
je 0xc0be13
mov dword [ebp - 0x8d8], 0x20812
cmp dword [ebp - 0x8b4], 0
je 0xc0c9f5
mov eax, dword [ebp - 0x574]
mov ebx, dword [ebp - 0x570]
mov dword [ebp - 0x8c0], eax
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x8f4], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x730]
mov dword [ebp - 0x8a0], ebx
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x838]
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8a4], eax
push 0x2c
push eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.00ab4bf6
xor eax, eax
lea edi, [ebp - 0x178]
mov dword [ebp - 0x8cc], 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 - 0x900]
test edi, edi
jne 0xc0bebe
mov ebx, 0x80070057
jmp 0xc0da10
test ebx, ebx
je 0xc0beb4
mov esi, dword [0xc93028]
mov ecx, esi
push 7
push edi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0befb
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0bef0
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0c3fe
jmp 0xc0ca9c
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x730]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0bf3d
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x8b8], eax
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x8a4], eax
mov eax, dword [ebp - 0x728]
mov dword [ebp - 0x89c], eax
mov esi, dword [0xc93008]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov edi, eax
mov dword [ebp - 0x8e0], edi
test edi, edi
je 0xc0bed9
mov eax, dword [ebp - 0x54c]
xor ecx, ecx
sub eax, dword [ebp - 0x554]
mov ebx, ecx
mov esi, dword [0xc9300c]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x550]
sub eax, dword [ebp - 0x548]
mov dword [ebp - 0x19c], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x93c], ecx
mov word [ebp - 0x198], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x196], ax
lea eax, [ebp - 0x93c]
push eax
push ecx
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x194], ecx
push eax
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x898], ebx
mov dword [ebp - 0x1a4], 0x28
call dword [0xc99200]
call esi
mov dword [ebp - 0x8a8], eax
test eax, eax
jne 0xc0c03c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x898], ebx
test ebx, ebx
jle 0xc0c029
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x898], ebx
test ebx, ebx
mov eax, dword [ebp - 0x8a8]
js 0xc0c03c
mov ebx, 0x80004005
mov dword [ebp - 0x898], ebx
test ebx, ebx
js 0xc0c3b6
test eax, eax
je 0xc0c072
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x838]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0c072
mov eax, dword [ebp - 0x824]
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x54c]
sub eax, dword [ebp - 0x554]
push dword [ebp - 0x8a8]
mov esi, dword [0xc9303c]
mov ecx, esi
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x548]
sub eax, dword [ebp - 0x550]
push edi
mov dword [ebp - 0x16c], eax
call dword [0xc99200]
call esi
mov esi, dword [0xc93040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
push dword [ebp - 0x8f4]
mov esi, dword [0xc9303c]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93038]
mov ecx, esi
mov edi, dword [0xc93074]
mov dword [ebp - 0x8cc], eax
xor eax, eax
push eax
call dword [0xc99200]
call esi
push eax
lea eax, [ebp - 0x178]
mov ecx, edi
push eax
push dword [ebp - 0x8e0]
call dword [0xc99200]
call edi
mov edi, dword [ebp - 0x8e0]
xor eax, eax
mov esi, dword [0xc9306c]
mov ecx, esi
push eax
push dword [ebp - 0x8d8]
lea eax, [ebp - 0x178]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x8a0]
push edi
call dword [0xc99200]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x8dc], eax
jne 0xc0c179
cmp dword [ebp - 0x8c0], 0
je 0xc0c16d
mov esi, dword [0xc9308c]
mov ecx, esi
push 8
call dword [0xc99200]
call esi
mov dword [ebp - 0x8c8], eax
jmp 0xc0c183
mov dword [ebp - 0x8c8], 0xffffff
jmp 0xc0c183
mov dword [ebp - 0x8c8], 0xffa8a8a8
mov esi, dword [ebp - 0x554]
xor ecx, ecx
mov eax, dword [ebp - 0x550]
mov edx, ecx
mov dword [ebp - 0x8ac], esi
mov dword [ebp - 0x8b4], edx
test esi, esi
jns 0xc0c1b5
mov edx, esi
neg edx
xor esi, esi
mov dword [ebp - 0x8b4], edx
mov dword [ebp - 0x8ac], esi
test eax, eax
jns 0xc0c1bf
mov ecx, eax
neg ecx
xor eax, eax
mov esi, dword [ebp - 0x170]
sub esi, edx
mov edx, dword [ebp - 0x8a4]
sub edx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8d0], esi
cmp esi, edx
jl 0xc0c1e5
mov esi, edx
mov dword [ebp - 0x8d0], edx
mov edx, dword [ebp - 0x16c]
sub dword [ebp - 0x89c], eax
sub edx, ecx
mov dword [ebp - 0x8ec], edx
cmp edx, dword [ebp - 0x89c]
jl 0xc0c20d
mov edx, dword [ebp - 0x89c]
mov dword [ebp - 0x8ec], edx
test esi, esi
jle 0xc0c3b6
test edx, edx
jle 0xc0c3b6
mov edx, dword [ebp - 0x170]
imul eax, dword [ebp - 0x8a4]
mov edi, dword [ebp - 0x8bc]
imul ecx, edx
shl edx, 2
mov dword [ebp - 0x8f4], edx
add eax, dword [ebp - 0x8ac]
mov edx, dword [ebp - 0x8a4]
add ecx, dword [ebp - 0x8b4]
shl edx, 2
mov dword [ebp - 0x8a0], edx
lea ecx, [edi + ecx*4]
mov edi, dword [ebp - 0x8b8]
mov dword [ebp - 0x8d4], ecx
lea eax, [edi + eax*4]
mov dword [ebp - 0x8b8], eax
mov edi, eax
mov dword [ebp - 0x8bc], esi
lea ebx, [eax + 3]
sub edi, ecx
lea edx, [ecx + 2]
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x8a4], edx
mov dword [ebp - 0x8b4], edi
movzx eax, byte [edx - 2]
movzx ecx, byte [edx - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edx]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xc0c351
mov bl, byte [edi + edx]
mov edi, 0xff
mov eax, dword [ebp - 0x8c8]
movzx eax, al
movzx esi, cl
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x8a4]
imul eax, esi
cdq
idiv edi
mov edx, dword [ebp - 0x8b4]
add al, bl
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x89c]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x8c8]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x89c]
imul eax, esi
cdq
idiv edi
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x8c6]
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x89c]
imul eax, esi
cdq
idiv edi
add al, bl
mov byte [ecx - 3], al
mov eax, edi
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
imul eax, esi
mov esi, dword [ebp - 0x8bc]
cdq
idiv edi
mov edx, dword [ebp - 0x8a4]
mov edi, dword [ebp - 0x8b4]
add al, bl
mov ebx, dword [ebp - 0x89c]
mov byte [ebx], al
push 4
pop eax
add edx, eax
add ebx, eax
sub esi, 1
mov dword [ebp - 0x8a4], edx
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x8bc], esi
jne 0xc0c291
mov ecx, dword [ebp - 0x8d4]
mov eax, dword [ebp - 0x8b8]
add ecx, dword [ebp - 0x8f4]
add eax, dword [ebp - 0x8a0]
sub dword [ebp - 0x8ec], 1
mov esi, dword [ebp - 0x8d0]
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8b8], eax
jne 0xc0c26f
mov ebx, dword [ebp - 0x898]
mov edi, dword [ebp - 0x8e0]
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0xc0c3d1
mov esi, dword [0xc9301c]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8cc]
test eax, eax
je 0xc0c3ed
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93018]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0da10
mov eax, dword [ebp - 0x574]
mov ebx, dword [ebp - 0x56c]
mov dword [ebp - 0x8c0], eax
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x8f4], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x6d8]
mov dword [ebp - 0x8a0], ebx
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x890]
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8ac], eax
push 0x2c
push eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x280]
push eax
call fcn.00ab4bf6
xor eax, eax
lea edi, [ebp - 0x148]
mov dword [ebp - 0x8e8], 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 0xc0beb4
mov esi, dword [0xc93028]
mov ecx, esi
mov ebx, dword [ebp - 0x900]
push 7
push ebx
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0c4d7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0c4cc
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0c9e8
jmp 0xc0ca9c
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x6d8]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0c519
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x8ac], eax
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x89c], eax
mov esi, dword [0xc93008]
mov ecx, esi
push ebx
call dword [0xc99200]
call esi
mov edi, eax
mov dword [ebp - 0x8a8], edi
test edi, edi
je 0xc0c4b5
mov eax, dword [ebp - 0x53c]
xor ecx, ecx
sub eax, dword [ebp - 0x544]
mov ebx, ecx
mov esi, dword [0xc9300c]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x540]
sub eax, dword [ebp - 0x538]
mov dword [ebp - 0x278], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x940], ecx
mov word [ebp - 0x274], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x272], ax
lea eax, [ebp - 0x940]
push eax
push ecx
lea eax, [ebp - 0x280]
mov dword [ebp - 0x270], ecx
push eax
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x258], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x898], ebx
mov dword [ebp - 0x280], 0x28
call dword [0xc99200]
call esi
mov dword [ebp - 0x8cc], eax
test eax, eax
jne 0xc0c618
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x898], ebx
test ebx, ebx
jle 0xc0c605
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x898], ebx
test ebx, ebx
mov eax, dword [ebp - 0x8cc]
js 0xc0c618
mov ebx, 0x80004005
mov dword [ebp - 0x898], ebx
test ebx, ebx
js 0xc0c9a0
test eax, eax
je 0xc0c64e
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x890]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0c64e
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x53c]
sub eax, dword [ebp - 0x544]
push dword [ebp - 0x8cc]
mov esi, dword [0xc9303c]
mov ecx, esi
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x538]
sub eax, dword [ebp - 0x540]
push edi
mov dword [ebp - 0x13c], eax
call dword [0xc99200]
call esi
mov esi, dword [0xc93040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
push dword [ebp - 0x8f4]
mov esi, dword [0xc9303c]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93038]
mov ecx, esi
mov edi, dword [0xc93074]
mov dword [ebp - 0x8e8], eax
xor eax, eax
push eax
call dword [0xc99200]
call esi
mov esi, dword [ebp - 0x8a8]
mov ecx, edi
push eax
lea eax, [ebp - 0x148]
push eax
push esi
call dword [0xc99200]
call edi
xor eax, eax
push eax
push dword [ebp - 0x8d8]
lea eax, [ebp - 0x148]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x8a0]
push esi
mov esi, dword [0xc9306c]
mov ecx, esi
call dword [0xc99200]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x8dc], eax
jne 0xc0c758
cmp dword [ebp - 0x8c0], 0
je 0xc0c74c
mov esi, dword [0xc9308c]
mov ecx, esi
push 8
call dword [0xc99200]
call esi
mov ecx, eax
mov dword [ebp - 0x8c4], ecx
mov dword [ebp - 0x8e0], ecx
jmp 0xc0c769
mov dword [ebp - 0x8e0], 0xffffff
jmp 0xc0c769
mov eax, 0xffa8a8a8
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8e0], eax
mov edi, dword [ebp - 0x544]
xor ecx, ecx
mov edx, dword [ebp - 0x540]
mov esi, ecx
mov dword [ebp - 0x8ec], edi
mov eax, ecx
test edi, edi
jns 0xc0c78f
mov esi, edi
mov dword [ebp - 0x8ec], ecx
neg esi
test edx, edx
jns 0xc0c799
mov eax, edx
mov edx, ecx
neg eax
mov edi, dword [ebp - 0x8ac]
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x8a4], edi
sub ecx, esi
mov edi, dword [ebp - 0x8ec]
sub dword [ebp - 0x8a4], edi
mov edi, dword [ebp - 0x8a4]
mov dword [ebp - 0x8d0], ecx
cmp ecx, edi
jl 0xc0c7d1
mov ecx, edi
mov dword [ebp - 0x8d0], edi
mov edi, dword [ebp - 0x13c]
sub dword [ebp - 0x89c], edx
sub edi, eax
mov dword [ebp - 0x8a4], edi
cmp edi, dword [ebp - 0x89c]
jl 0xc0c7f9
mov edi, dword [ebp - 0x89c]
mov dword [ebp - 0x8a4], edi
test ecx, ecx
jle 0xc0c99a
test edi, edi
jle 0xc0c99a
imul eax, dword [ebp - 0x140]
add eax, esi
mov esi, dword [ebp - 0x8b4]
lea ebx, [esi + eax*4]
mov eax, dword [ebp - 0x8ac]
imul eax, edx
mov edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x8b8], ebx
add eax, dword [ebp - 0x8ec]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x140]
shl edx, 2
mov dword [ebp - 0x8f4], edx
mov edx, dword [ebp - 0x8ac]
shl edx, 2
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8a0], edx
mov esi, eax
mov dword [ebp - 0x8bc], ecx
sub esi, ebx
lea edx, [eax + 3]
lea edi, [ebx + 2]
mov dword [ebp - 0x89c], edx
mov dword [ebp - 0x8b4], esi
mov ebx, ecx
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 0xc0c941
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 - 0x8b4]
add al, bl
mov byte [ecx + edi], al
mov eax, dword [ebp - 0x89c]
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 - 0x89c]
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x8de]
movzx ecx, bl
sub eax, ecx
mov ecx, 0xff
imul eax, esi
cdq
idiv ecx
mov ecx, dword [ebp - 0x89c]
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 - 0x8b4]
cdq
idiv ecx
mov edx, dword [ebp - 0x89c]
add al, bl
mov ebx, dword [ebp - 0x8bc]
mov byte [edx], al
push 4
pop eax
add edx, eax
add edi, eax
sub ebx, 1
mov dword [ebp - 0x89c], edx
mov dword [ebp - 0x8bc], ebx
jne 0xc0c87b
mov ebx, dword [ebp - 0x8b8]
mov eax, dword [ebp - 0x8d4]
add ebx, dword [ebp - 0x8f4]
add eax, dword [ebp - 0x8a0]
sub dword [ebp - 0x8a4], 1
mov ecx, dword [ebp - 0x8d0]
mov dword [ebp - 0x8b8], ebx
mov dword [ebp - 0x8d4], eax
jne 0xc0c85d
mov ebx, dword [ebp - 0x898]
mov edi, dword [ebp - 0x8a8]
mov eax, dword [ebp - 0x8cc]
test eax, eax
je 0xc0c9bb
mov esi, dword [0xc9301c]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8e8]
test eax, eax
je 0xc0c9d7
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93018]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0da10
jmp 0xc0d9b9
xor edx, edx
inc edx
cmp dword [ebp - 0x574], 0
jne 0xc0ca09
cmp ebx, edx
je 0xc0ca09
mov al, 0xc0
jmp 0xc0ca0b
or al, 0xff
mov esi, dword [0xc93008]
xor ecx, ecx
mov byte [ebp - 0x8ea], al
mov eax, ecx
mov word [ebp - 0x8ec], cx
mov dword [ebp - 0x8cc], ecx
mov dword [ebp - 0x930], ecx
mov dword [ebp - 0x92c], ecx
mov dword [ebp - 0x8e0], ecx
mov dword [ebp - 0x924], ecx
mov dword [ebp - 0x920], ecx
mov dword [ebp - 0x91c], ecx
mov ecx, esi
push edi
mov byte [ebp - 0x8e9], dl
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x938], eax
mov dword [ebp - 0x934], eax
mov dword [ebp - 0x928], eax
call dword [0xc99200]
call esi
mov dword [ebp - 0x8f8], eax
test eax, eax
jne 0xc0caa6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0ca96
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0da10
mov ebx, 0x80004005
jmp 0xc0da10
xor eax, eax
inc eax
cmp ebx, eax
jne 0xc0cbaa
mov ecx, dword [ebp - 0x54c]
mov eax, ecx
mov esi, dword [ebp - 0x53c]
mov edx, esi
sub edx, dword [ebp - 0x544]
sub eax, dword [ebp - 0x554]
mov dword [ebp - 0x894], edx
cmp edx, eax
jg 0xc0cadf
mov edx, eax
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x538]
xor edi, edi
mov ebx, eax
mov dword [ebp - 0x8b0], eax
sub ebx, dword [ebp - 0x550]
mov dword [ebp - 0x8ac], ebx
mov ebx, edi
cmp dword [ebp - 0x578], ebx
je 0xc0cb39
mov ebx, dword [ebp - 0x554]
mov eax, dword [ebp - 0x544]
sub ebx, ecx
add ebx, edx
sub eax, esi
add eax, edx
mov dword [ebp - 0x8a8], ebx
mov dword [ebp - 0x8e0], eax
mov edi, eax
mov dword [ebp - 0x928], eax
mov eax, dword [ebp - 0x8b0]
mov dword [ebp - 0x938], ebx
sub ecx, dword [ebp - 0x554]
sub esi, dword [ebp - 0x544]
add ecx, ebx
sub eax, dword [ebp - 0x540]
add esi, edi
mov edi, dword [ebp - 0x540]
sub edi, dword [ebp - 0x550]
mov dword [ebp - 0x8b4], ecx
mov dword [ebp - 0x930], ecx
mov ecx, dword [ebp - 0x548]
sub ecx, dword [ebp - 0x550]
add eax, edi
mov dword [ebp - 0x8a4], ecx
mov dword [ebp - 0x92c], ecx
mov dword [ebp - 0x8f0], esi
mov dword [ebp - 0x920], esi
mov dword [ebp - 0x8d4], edi
mov dword [ebp - 0x924], edi
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x91c], eax
jmp 0xc0cc42
mov eax, dword [ebp - 0x12c]
lea esi, [ebp - 0x554]
lea edi, [ebp - 0x938]
mov edx, dword [ebp - 0x130]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x894], edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x92c]
lea esi, [ebp - 0x544]
lea edi, [ebp - 0x928]
mov dword [ebp - 0x8a4], eax
mov eax, dword [ebp - 0x930]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0x8cc], eax
mov eax, dword [ebp - 0x938]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8a8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x91c]
mov dword [ebp - 0x8b0], eax
mov eax, dword [ebp - 0x920]
mov dword [ebp - 0x8f0], eax
mov eax, dword [ebp - 0x924]
mov dword [ebp - 0x8d4], eax
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x8e0], eax
mov edi, dword [ebp - 0x8ac]
xor ecx, ecx
mov esi, dword [0xc9300c]
mov eax, edi
neg eax
mov dword [ebp - 0x944], ecx
mov dword [ebp - 0x24c], eax
mov ebx, ecx
xor eax, eax
mov dword [ebp - 0x244], ecx
push 0x20
inc eax
mov dword [ebp - 0x240], ecx
mov word [ebp - 0x248], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x246], ax
lea eax, [ebp - 0x944]
push eax
push ecx
lea eax, [ebp - 0x254]
mov dword [ebp - 0x23c], ecx
push eax
push dword [ebp - 0x8f8]
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], ecx
mov ecx, esi
mov dword [ebp - 0x254], 0x28
mov dword [ebp - 0x250], edx
call dword [0xc99200]
call esi
mov dword [ebp - 0x8fc], eax
test eax, eax
jne 0xc0ccff
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0ccf2
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
mov eax, dword [ebp - 0x8fc]
js 0xc0ccff
mov ebx, 0x80004005
test ebx, ebx
js 0xc0d9da
mov ebx, dword [ebp - 0x8f8]
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push ebx
call dword [0xc99200]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x8dc], eax
jne 0xc0cd6d
mov ecx, dword [ebp - 0x904]
test ecx, ecx
je 0xc0cd6d
mov esi, dword [0xc93074]
xor eax, eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x894]
push ecx
mov dword [ebp - 0x288], eax
mov ecx, esi
lea eax, [ebp - 0x290]
mov dword [ebp - 0x284], edi
push eax
push ebx
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x574]
mov ebx, dword [ebp - 0x570]
mov dword [ebp - 0x8e4], eax
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x8f4], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x628]
mov dword [ebp - 0x8a0], ebx
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x7e0]
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8d0], eax
push 0x2c
push eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x228]
push eax
call fcn.00ab4bf6
xor eax, eax
lea edi, [ebp - 0x168]
mov dword [ebp - 0x8c0], 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
jne 0xc0ce05
mov ebx, 0x80070057
jmp 0xc0d9da
mov esi, dword [0xc93028]
mov ecx, esi
mov ebx, dword [ebp - 0x8f8]
push 7
push ebx
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0ce49
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0ce39
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0d357
mov ebx, 0x80004005
jmp 0xc0d9da
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x628]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0ce8b
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x8b8], eax
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x8d0], eax
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x89c], eax
mov esi, dword [0xc93008]
mov ecx, esi
push ebx
call dword [0xc99200]
call esi
mov ecx, eax
mov dword [ebp - 0x8c8], ecx
test ecx, ecx
je 0xc0ce22
mov eax, dword [ebp - 0x8cc]
xor edx, edx
sub eax, dword [ebp - 0x8a4]
mov ebx, edx
mov edi, dword [ebp - 0x8b4]
sub edi, dword [ebp - 0x8a8]
mov esi, dword [0xc9300c]
mov dword [ebp - 0x220], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x948], edx
mov word [ebp - 0x21c], ax
pop eax
push edx
push edx
mov word [ebp - 0x21a], ax
lea eax, [ebp - 0x948]
push eax
push edx
lea eax, [ebp - 0x228]
mov dword [ebp - 0x898], ebx
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0x218], edx
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x200], edx
mov dword [ebp - 0x228], 0x28
mov dword [ebp - 0x224], edi
call dword [0xc99200]
call esi
mov dword [ebp - 0x8e8], eax
test eax, eax
jne 0xc0cf8a
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x898], ebx
test ebx, ebx
jle 0xc0cf77
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x898], ebx
test ebx, ebx
mov eax, dword [ebp - 0x8e8]
js 0xc0cf8a
mov ebx, 0x80004005
mov dword [ebp - 0x898], ebx
test ebx, ebx
js 0xc0d309
test eax, eax
je 0xc0cfc0
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x7e0]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0cfc0
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x8bc], eax
push dword [ebp - 0x8e8]
mov eax, dword [ebp - 0x8a4]
sub eax, dword [ebp - 0x8cc]
mov esi, dword [0xc9303c]
mov ecx, esi
mov dword [ebp - 0x160], edi
mov edi, dword [ebp - 0x8c8]
push edi
mov dword [ebp - 0x15c], eax
call dword [0xc99200]
call esi
mov esi, dword [0xc93040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
push dword [ebp - 0x8f4]
mov esi, dword [0xc9303c]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93038]
mov ecx, esi
mov edi, dword [0xc93074]
mov dword [ebp - 0x8c0], eax
xor eax, eax
push eax
call dword [0xc99200]
call esi
push eax
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
push dword [ebp - 0x8c8]
call dword [0xc99200]
call edi
mov edi, dword [ebp - 0x8c8]
xor eax, eax
mov esi, dword [0xc9306c]
mov ecx, esi
push eax
push dword [ebp - 0x8d8]
lea eax, [ebp - 0x168]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x8a0]
push edi
call dword [0xc99200]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x8dc], eax
jne 0xc0d0c1
cmp dword [ebp - 0x8e4], 0
je 0xc0d0b5
mov esi, dword [0xc9308c]
mov ecx, esi
push 8
call dword [0xc99200]
call esi
mov dword [ebp - 0x8e4], eax
jmp 0xc0d0cb
mov dword [ebp - 0x8e4], 0xffffff
jmp 0xc0d0cb
mov dword [ebp - 0x8e4], 0xffa8a8a8
mov ecx, dword [ebp - 0x8a8]
xor eax, eax
mov dword [ebp - 0x8a4], eax
mov edx, eax
test ecx, ecx
jns 0xc0d0eb
mov esi, ecx
mov ecx, eax
neg esi
mov dword [ebp - 0x8a4], esi
mov eax, dword [ebp - 0x8cc]
test eax, eax
jns 0xc0d0fb
mov edx, eax
neg edx
xor eax, eax
mov edi, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x160]
sub esi, dword [ebp - 0x8a4]
mov dword [ebp - 0x8a8], edi
sub dword [ebp - 0x8a8], ecx
mov dword [ebp - 0x8cc], esi
cmp esi, dword [ebp - 0x8a8]
jl 0xc0d133
mov esi, dword [ebp - 0x8a8]
mov dword [ebp - 0x8cc], esi
mov esi, dword [ebp - 0x15c]
sub dword [ebp - 0x89c], eax
sub esi, edx
mov dword [ebp - 0x8a8], esi
cmp esi, dword [ebp - 0x89c]
jl 0xc0d15b
mov esi, dword [ebp - 0x89c]
mov dword [ebp - 0x8a8], esi
cmp dword [ebp - 0x8cc], 0
mov edi, dword [ebp - 0x8c8]
jle 0xc0d30f
test esi, esi
jle 0xc0d30f
imul eax, dword [ebp - 0x8d0]
imul edx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x8bc]
add eax, ecx
mov ecx, dword [ebp - 0x8b8]
add edx, dword [ebp - 0x8a4]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x160]
shl ecx, 2
lea esi, [esi + edx*4]
mov dword [ebp - 0x8f4], ecx
mov ecx, dword [ebp - 0x8d0]
shl ecx, 2
mov dword [ebp - 0x8a4], esi
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8a0], ecx
mov edi, eax
lea edx, [esi + 2]
sub edi, esi
mov dword [ebp - 0x8d0], edx
mov esi, dword [ebp - 0x8cc]
lea ebx, [eax + 3]
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x8b4], edi
mov dword [ebp - 0x8bc], esi
movzx eax, byte [edx - 2]
movzx ecx, byte [edx - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edx]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xc0d2b0
mov bl, byte [edi + edx]
mov edi, 0xff
mov eax, dword [ebp - 0x8e4]
movzx eax, al
movzx esi, cl
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x8d0]
imul eax, esi
cdq
idiv edi
mov edx, dword [ebp - 0x8b4]
add al, bl
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x89c]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x8e4]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x89c]
imul eax, esi
cdq
idiv edi
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x8e2]
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x89c]
imul eax, esi
cdq
idiv edi
add al, bl
mov byte [ecx - 3], al
mov eax, edi
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
imul eax, esi
mov esi, dword [ebp - 0x8bc]
cdq
idiv edi
mov edx, dword [ebp - 0x8d0]
mov edi, dword [ebp - 0x8b4]
add al, bl
mov ebx, dword [ebp - 0x89c]
mov byte [ebx], al
push 4
pop eax
add edx, eax
add ebx, eax
sub esi, 1
mov dword [ebp - 0x8d0], edx
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x8bc], esi
jne 0xc0d1f0
mov esi, dword [ebp - 0x8a4]
mov eax, dword [ebp - 0x8b8]
add esi, dword [ebp - 0x8f4]
add eax, dword [ebp - 0x8a0]
sub dword [ebp - 0x8a8], 1
mov dword [ebp - 0x8a4], esi
mov dword [ebp - 0x8b8], eax
jne 0xc0d1c8
mov ebx, dword [ebp - 0x898]
mov edi, dword [ebp - 0x8c8]
mov eax, dword [ebp - 0x8e8]
test eax, eax
je 0xc0d32a
mov esi, dword [0xc9301c]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8c0]
test eax, eax
je 0xc0d346
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93018]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
test ebx, ebx
js 0xc0d9da
mov eax, dword [ebp - 0x574]
mov ebx, dword [ebp - 0x56c]
mov dword [ebp - 0x8c0], eax
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x8f4], eax
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x680]
mov dword [ebp - 0x8a0], ebx
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
push 0x54
push eax
lea eax, [ebp - 0x788]
push eax
call fcn.00ab4bf6
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8a8], eax
push 0x2c
push eax
mov dword [ebp - 0x89c], eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.00ab4bf6
xor eax, eax
lea edi, [ebp - 0x158]
mov dword [ebp - 0x8c8], 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 0xc0cdfb
mov esi, dword [0xc93028]
mov ecx, esi
mov edi, dword [ebp - 0x8f8]
push 7
push edi
call dword [0xc99200]
call esi
test eax, eax
jne 0xc0d430
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0xc0d425
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0xc0d92f
jmp 0xc0ce3f
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x680]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0d472
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x8a8], eax
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x89c], eax
mov esi, dword [0xc93008]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov ecx, eax
mov dword [ebp - 0x8e8], ecx
test ecx, ecx
je 0xc0d40e
mov eax, dword [ebp - 0x8f0]
xor edx, edx
sub eax, dword [ebp - 0x8e0]
mov ebx, edx
mov edi, dword [ebp - 0x8d4]
mov esi, dword [0xc9300c]
mov dword [ebp - 0x8f0], eax
mov dword [ebp - 0x1f8], eax
mov eax, edi
sub eax, dword [ebp - 0x8b0]
mov dword [ebp - 0x1f4], eax
xor eax, eax
push 0x20
inc eax
mov dword [ebp - 0x94c], edx
mov word [ebp - 0x1f0], ax
pop eax
push edx
push edx
mov word [ebp - 0x1ee], ax
lea eax, [ebp - 0x94c]
push eax
push edx
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x898], ebx
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1e0], edx
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1fc], 0x28
call dword [0xc99200]
call esi
mov dword [ebp - 0x8cc], eax
test eax, eax
jne 0xc0d579
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x898], ebx
test ebx, ebx
jle 0xc0d566
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0x898], ebx
test ebx, ebx
mov eax, dword [ebp - 0x8cc]
js 0xc0d579
mov ebx, 0x80004005
mov dword [ebp - 0x898], ebx
test ebx, ebx
js 0xc0d8db
test eax, eax
je 0xc0d5af
mov esi, dword [0xc93034]
lea ecx, [ebp - 0x788]
push ecx
push 0x54
push eax
mov ecx, esi
call dword [0xc99200]
call esi
test eax, eax
je 0xc0d5af
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x8f0]
push dword [ebp - 0x8cc]
mov esi, dword [0xc9303c]
mov ecx, esi
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x8b0]
sub eax, edi
mov edi, dword [ebp - 0x8e8]
push edi
mov dword [ebp - 0x14c], eax
call dword [0xc99200]
call esi
mov esi, dword [0xc93040]
xor eax, eax
inc eax
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
push dword [ebp - 0x8f4]
mov esi, dword [0xc9303c]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93038]
mov ecx, esi
mov edi, dword [0xc93074]
mov dword [ebp - 0x8c8], eax
xor eax, eax
push eax
call dword [0xc99200]
call esi
mov esi, dword [ebp - 0x8e8]
mov ecx, edi
push eax
lea eax, [ebp - 0x158]
push eax
push esi
call dword [0xc99200]
call edi
xor eax, eax
push eax
push dword [ebp - 0x8d8]
lea eax, [ebp - 0x158]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x8a0]
push esi
mov esi, dword [0xc9306c]
mov ecx, esi
call dword [0xc99200]
call esi
xor eax, eax
inc eax
cmp dword [ebp - 0x8dc], eax
jne 0xc0d6a7
cmp dword [ebp - 0x8c0], 0
je 0xc0d69b
mov esi, dword [0xc9308c]
mov ecx, esi
push 8
call dword [0xc99200]
call esi
jmp 0xc0d6ac
mov dword [ebp - 0x8d0], 0xffffff
jmp 0xc0d6b8
mov eax, 0xffa8a8a8
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x8c4], eax
mov edx, dword [ebp - 0x8e0]
xor eax, eax
mov dword [ebp - 0x8c0], eax
mov edi, eax
mov ecx, eax
test edx, edx
jns 0xc0d6da
mov edi, edx
mov edx, eax
neg edi
mov dword [ebp - 0x8c0], edi
mov eax, dword [ebp - 0x8d4]
test eax, eax
jns 0xc0d6ea
mov ecx, eax
neg ecx
xor eax, eax
mov esi, dword [ebp - 0x150]
sub esi, edi
mov edi, dword [ebp - 0x8a8]
sub edi, edx
mov dword [ebp - 0x8e0], esi
cmp esi, edi
jl 0xc0d70c
mov esi, edi
mov dword [ebp - 0x8e0], edi
mov edi, dword [ebp - 0x14c]
sub dword [ebp - 0x89c], eax
sub edi, ecx
mov dword [ebp - 0x8a4], edi
cmp edi, dword [ebp - 0x89c]
jl 0xc0d734
mov edi, dword [ebp - 0x89c]
mov dword [ebp - 0x8a4], edi
test esi, esi
jle 0xc0d8db
test edi, edi
jle 0xc0d8db
imul eax, dword [ebp - 0x8a8]
imul ecx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x8b4]
add eax, edx
mov edx, dword [ebp - 0x8bc]
add ecx, dword [ebp - 0x8c0]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x150]
shl edx, 2
lea ecx, [esi + ecx*4]
mov esi, dword [ebp - 0x8e0]
mov dword [ebp - 0x8f4], edx
mov edx, dword [ebp - 0x8a8]
shl edx, 2
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8a0], edx
lea ebx, [eax + 3]
mov dword [ebp - 0x8b4], esi
lea edx, [ecx + 2]
mov dword [ebp - 0x89c], ebx
sub eax, ecx
mov dword [ebp - 0x8d4], edx
mov dword [ebp - 0x8c0], eax
mov edi, 0xff
movzx eax, byte [edx - 2]
movzx ecx, byte [edx - 1]
lea ecx, [eax + ecx*2]
movzx eax, byte [edx]
add ecx, eax
shr ecx, 2
not cl
test cl, cl
je 0xc0d87c
mov eax, dword [ebp - 0x8c0]
movzx esi, cl
mov bl, byte [eax + edx]
mov eax, dword [ebp - 0x8c4]
movzx eax, al
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x8d4]
imul eax, esi
cdq
idiv edi
mov edx, dword [ebp - 0x8c0]
add al, bl
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x89c]
mov bl, byte [eax - 2]
mov eax, dword [ebp - 0x8c4]
movzx eax, ah
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x89c]
imul eax, esi
cdq
idiv edi
add al, bl
mov byte [ecx - 2], al
mov bl, byte [ecx - 3]
movzx eax, byte [ebp - 0x8ce]
movzx ecx, bl
sub eax, ecx
mov ecx, dword [ebp - 0x89c]
imul eax, esi
cdq
idiv edi
add al, bl
mov byte [ecx - 3], al
mov eax, edi
mov bl, byte [ecx]
movzx ecx, bl
sub eax, ecx
imul eax, esi
mov esi, dword [ebp - 0x8b4]
cdq
idiv edi
mov edx, dword [ebp - 0x8d4]
add al, bl
mov ebx, dword [ebp - 0x89c]
mov byte [ebx], al
push 4
pop eax
add edx, eax
add ebx, eax
sub esi, 1
mov dword [ebp - 0x8d4], edx
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x8b4], esi
jne 0xc0d7c1
mov ecx, dword [ebp - 0x8b8]
mov eax, dword [ebp - 0x8bc]
add ecx, dword [ebp - 0x8f4]
add eax, dword [ebp - 0x8a0]
sub dword [ebp - 0x8a4], 1
mov esi, dword [ebp - 0x8e0]
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8bc], eax
jne 0xc0d79c
mov ebx, dword [ebp - 0x898]
mov eax, dword [ebp - 0x8cc]
test eax, eax
je 0xc0d8f6
mov esi, dword [0xc9301c]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8c8]
mov edi, dword [ebp - 0x8e8]
test eax, eax
je 0xc0d918
mov esi, dword [0xc9303c]
mov ecx, esi
push eax
push edi
call dword [0xc99200]
call esi
mov esi, dword [0xc93018]
mov ecx, esi
push edi
call dword [0xc99200]
call esi
mov edi, dword [ebp - 0x8f8]
test ebx, ebx
js 0xc0d9da
xor eax, eax
inc eax
cmp dword [ebp - 0x8dc], eax
jne 0xc0d97c
mov esi, dword [section..data]
xor eax, eax
push 0xcc0020
push eax
push eax
push edi
push dword [ebp - 0x8ac]
mov ecx, esi
push dword [ebp - 0x894]
push dword [ebp - 0x550]
push dword [ebp - 0x554]
push dword [ebp - 0x900]
call dword [0xc99200]
call esi
jmp 0xc0d9b9
push dword [ebp - 0x8ec]
mov ecx, dword [ebp - 0x8ac]
xor edx, edx
mov eax, dword [ebp - 0x894]
mov esi, dword [0xc93020]
push ecx
push eax
push edx
push edx
push edi
push ecx
push eax
push dword [ebp - 0x134]
mov ecx, esi
push dword [ebp - 0x138]
push dword [ebp - 0x900]
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x900]
test eax, eax
je 0xc0d9da
push dword [ebp - 0x950]
mov esi, dword [0xc93040]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8fc]
test eax, eax
je 0xc0d9f5
mov esi, dword [0xc9301c]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0xc0da10
mov esi, dword [0xc93018]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov eax, dword [ebp - 0x904]
test eax, eax
je 0xc0da2b
mov esi, dword [0xc9301c]
mov ecx, esi
push eax
call dword [0xc99200]
call esi
mov ecx, dword [ebp - 0x570]
test ecx, ecx
je 0xc0da82
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xc0da3a
mov eax, dword [ebp - 0x570]
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xc0da64
xor edx, edx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0xc0da5c
push dword [ebp - 0x570]
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 - 0x570], eax
mov ecx, dword [ebp - 0x56c]
test ecx, ecx
je 0xc0dad9
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xc0da91
mov eax, dword [ebp - 0x56c]
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xc0dabb
xor edx, edx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0xc0dab3
push dword [ebp - 0x56c]
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 - 0x56c], eax
mov edx, dword [ebp - 0x568]
test edx, edx
je 0xc0db2d
mov ecx, edx
xor edi, edi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0xc0daea
sub ecx, esi
xor eax, eax
sar ecx, 1
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0xc0db14
mov byte [edx], al
inc edx
sub ecx, 1
jne 0xc0db06
mov edx, dword [ebp - 0x568]
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 - 0x568], edx
jmp 0xc0db2f
xor edx, edx
cmp dword [ebp - 0x564], 0
je 0xc0db56
push dword [ebp - 0x564]
mov esi, dword [0xc9301c]
mov ecx, esi
call dword [0xc99200]
call esi
xor edx, edx
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x560], 0
je 0xc0db7d
push dword [ebp - 0x560]
mov esi, dword [0xc9301c]
mov ecx, esi
call dword [0xc99200]
call esi
xor edx, edx
mov dword [ebp - 0x560], edx
cmp dword [ebp - 0x55c], 0
je 0xc0dba4
push dword [ebp - 0x55c]
mov esi, dword [0xc9301c]
mov ecx, esi
call dword [0xc99200]
call esi
xor edx, edx
mov dword [ebp - 0x55c], edx
xor edx, edx
mov esi, 0xc96238
lea ecx, [edx + 1]
xor eax, eax
lock cmpxchg dword [esi], ecx
test eax, eax
jne 0xc0dbab
mov eax, dword [0xc95890]
push 0
pop edx
test eax, eax
jle 0xc0dc0a
sub eax, 1
mov dword [0xc95890], eax
jne 0xc0dc0a
mov edi, edx
mov eax, dword [edi + 0xc960a0]
test eax, eax
je 0xc0dbe1
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
add edi, 0x10
cmp edi, 0x40
jb 0xc0dbd0
push 0x40
xor eax, eax
push eax
push 0xc960a0
call fcn.00ab4bf6
add esp, 0xc
mov esi, 0x9e6748
mov edi, section..data
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov ecx, 0xc96238
xchg dword [ecx], eax
push dword [ebp - 0x954]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edi, dword [ebp - 0x90c]
push dword [ebp - 0x908]
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
test edi, edi
je 0xc0dc3f
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.00ab3c50
leave
ret