Function at 0x1002bd40
Capabilities:
Enumerate threads
Resolve function by parsing pe exports
Resume thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x148
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], 1
mov eax, dword [0x10198f64]
cmp eax, 4
jne 0x1002bfd4
cmp esi, 1
jne 0x1002d385
mov eax, dword [0x10198458]
cmp eax, 2
ja 0x1002bef3
movzx eax, byte [0x10198038]
cmp al, 2
je 0x1002be05
movzx eax, al
cmp eax, 1
je 0x1002bdc1
test eax, eax
je 0x1002bef3
mov ecx, 0x10198030
call fcn.101159e0
test al, al
je 0x1002bef3
movzx eax, al
cmp eax, 2
je 0x1002be05
mov eax, dword [0x10198030]
mov ecx, dword [0x10199140]
cmp ecx, 2
jne 0x1002bef3
cmp dword [0x10198448], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x10198450]
je 0x1002bdf5
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [edx + esi + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x1002bef3
mov eax, dword [0x10198030]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x1002da2d
mov esi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea ecx, [eax + 0x1c]
mov dword [esp + 0x48], 0x101203c0
mov dword [esp + 0x4c], 1
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 4
mov dword [esp + 0x54], 0
mov dword [esp], esi
mov dword [esp + 4], edx
mov edx, esp
movlps qword [esp + 8], xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x3c], 0x1018e128
mov dword [esp + 0x18], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 1
mov eax, dword [0x10199140]
cmp eax, 2
jne 0x1002bef3
cmp dword [0x10198448], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x10198450]
je 0x1002bed8
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [edi + eax + 8]
lea ebx, [esp + 0xa0]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x1002bef3
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
lea ecx, [esp + 0xa0]
mov edx, 0x101203c8
call fcn.1002db40
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
test edi, edi
jne 0x1002d111
lea ecx, [esp + 0xa0]
mov edx, 0x101203d5
mov dword [esp + 0x138], ebx
call fcn.1002db40
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
test edi, edi
jne 0x1002d10f
lea ecx, [esp + 0xa0]
mov edx, 0x101203e0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x13c], esi
mov ebx, esi
call fcn.1002db40
mov edi, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
test edi, edi
jne 0x1002d10f
mov dword [esp + 0x118], ebx
mov dword [esp + 0x12c], esi
mov dword [esp + 0x140], esi
lea esi, [esp + 0xa0]
mov eax, dword [0x10198458]
cmp eax, 1
ja 0x1002c0f1
movzx eax, byte [0x10198044]
cmp al, 2
je 0x1002bfee
movzx ecx, al
cmp ecx, 1
je 0x1002bff0
test ecx, ecx
je 0x1002c0f1
mov ecx, 0x1019803c
call fcn.101159e0
test al, al
jne 0x1002bff0
jmp 0x1002c0f1
lea ecx, [esp + 0xa0]
call fcn.1010f660
cmp esi, 1
je 0x1002bd7e
jmp 0x1002d385
mov al, 2
mov ecx, dword [0x1019803c]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002c0f1
mov ecx, dword [0x1019803c]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002da69
mov esi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
cmp eax, 1
mov dword [esp + 0xa0], 0x1012041c
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0
je 0x1002da69
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea esi, [esp + 0x138]
lea edx, [esp + 0x18]
mov dword [esp + 0xc], edi
mov edi, esp
mov dword [esp + 0x10], 1
mov dword [esp + 0xf8], esi
mov dword [esp + 0x48], edx
lea esi, [esp + 0xa0]
lea edx, [esp + 0xf8]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], 0x1018e128
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edx
lea edi, [esp + 0x48]
lea edx, [ecx + 0x1c]
mov dword [esp + 0x5c], 0x10120424
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 2
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x34]
call fcn.100ee220
mov eax, dword [0x10198458]
cmp eax, 2
jae 0x1002c22d
movzx eax, byte [0x10198050]
cmp al, 2
je 0x1002c12d
movzx ecx, al
cmp ecx, 1
je 0x1002c12f
test ecx, ecx
je 0x1002c22d
mov ecx, 0x10198048
call fcn.101159e0
test al, al
jne 0x1002c12f
jmp 0x1002c22d
mov al, 2
mov ecx, dword [0x10198048]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002c22d
mov ecx, dword [0x10198048]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002da7d
mov ebx, esi
mov esi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
cmp eax, 1
mov dword [esp + 0xa0], 0x1012045c
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0
je 0x1002da7d
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea edx, [esp + 0x18]
mov dword [esp + 0xc], edi
mov edi, esp
lea esi, [esp + 0x13c]
mov dword [esp + 0x10], 1
mov dword [esp + 0x48], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x1018e128
mov dword [esp + 0x54], edi
lea edi, [esp + 0x48]
mov dword [esp + 0xf8], esi
mov esi, ebx
mov dword [esp + 0x58], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 2
mov dword [esp + 0x5c], 0x10120424
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x34]
call fcn.100ee220
mov eax, dword [0x10198458]
cmp eax, 2
jae 0x1002c367
movzx eax, byte [0x1019805c]
cmp al, 2
je 0x1002c269
movzx ecx, al
cmp ecx, 1
je 0x1002c26b
test ecx, ecx
je 0x1002c367
mov ecx, 0x10198054
call fcn.101159e0
test al, al
jne 0x1002c26b
jmp 0x1002c367
mov al, 2
mov ecx, dword [0x10198054]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002c367
mov ecx, dword [0x10198054]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002da91
mov ebx, esi
mov esi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
cmp eax, 1
mov dword [esp + 0xa0], 0x10120490
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0
je 0x1002da91
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea esi, [esp + 0x140]
lea edx, [esp + 0x18]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0x48], edx
mov dword [esp + 0xf8], esi
mov esi, esp
lea edx, [esp + 0xf8]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x1018e128
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], edx
lea esi, [esp + 0x48]
lea edx, [ecx + 0x1c]
mov dword [esp + 0x5c], 0x10120424
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 2
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x34]
call fcn.100ee220
push str.CreateWindowExA
push dword [esp + 0x11c]
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x1002d9bd
lea ebx, [esp + 0xa0]
mov edx, eax
mov ecx, ebx
push 0x1002dd40
call fcn.100ab580
add esp, 4
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
test eax, eax
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
je 0x1002d9c7
lea esi, [esp + 0xb0]
lea edi, [esp + 0x58]
mov ecx, 0x11
lea edx, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], eax
mov ecx, esp
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
movsd qword [esp + 0x4c], xmm0
mov dword [esp + 0x54], eax
push 1
call fcn.100adc90
add esp, 4
cmp dword [esp], 0x8000000d
jne 0x1002d9fa
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x48]
mov ecx, 0x15
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x10198e04]
cmp eax, 4
jne 0x1002c584
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1002c59f
lea esi, [esp + 0xa4]
lea edi, [esp + 0x4c]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
call fcn.100ae390
cmp dword [esp + 0x60], 0
je 0x1002c467
lea ecx, [esp + 0x60]
call fcn.1002e370
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.1002e370
cmp dword [esp + 0x78], 0
je 0x1002c48b
push dword [esp + 0x7c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x84], 0
je 0x1002c4aa
push dword [esp + 0x88]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [0x10198458]
cmp eax, 4
jae 0x1002c5b0
movzx eax, byte [0x10198068]
test al, al
je 0x1002c5b0
movzx ecx, al
cmp ecx, 1
je 0x1002c4da
cmp ecx, 2
jne 0x1002d946
mov al, 2
mov ecx, dword [0x10198060]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002c5b0
mov ecx, dword [0x10198060]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002dae1
mov edx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
mov dword [esp + 0x18], esi
lea esi, [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xa0], 0x101204d8
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x20], 0x1018e128
mov dword [esp], esi
mov dword [esp + 4], 1
mov dword [esp + 0x48], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x4c], eax
movlps qword [esp + 0x50], xmm0
mov dword [esp + 0x58], 0
mov dword [esp + 8], edx
mov edx, esp
call fcn.100ee220
jmp 0x1002c5b0
lea ecx, [esp + 0xa0]
call fcn.1010f6a0
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x1002c438
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
call fcn.1002e310
push str.CreateWindowExW
push dword [esp + 0x11c]
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x1002d9bd
lea ebx, [esp + 0xa0]
mov edx, eax
mov ecx, ebx
push 0x1002e3e0
call fcn.100ab580
add esp, 4
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
test eax, eax
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
je 0x1002d9c7
lea esi, [esp + 0xb0]
lea edi, [esp + 0x58]
mov ecx, 0x11
lea edx, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], eax
mov ecx, esp
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
movsd qword [esp + 0x4c], xmm0
mov dword [esp + 0x54], eax
push 1
call fcn.100adc90
add esp, 4
cmp dword [esp], 0x8000000d
jne 0x1002d9fa
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x48]
mov ecx, 0x15
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x10198e5c]
cmp eax, 4
jne 0x1002c7cd
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1002c7e8
lea esi, [esp + 0xa4]
lea edi, [esp + 0x4c]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
call fcn.100ae390
cmp dword [esp + 0x60], 0
je 0x1002c6b0
lea ecx, [esp + 0x60]
call fcn.1002e370
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.1002e370
cmp dword [esp + 0x78], 0
je 0x1002c6d4
push dword [esp + 0x7c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x84], 0
je 0x1002c6f3
push dword [esp + 0x88]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [0x10198458]
cmp eax, 4
jae 0x1002c7f9
movzx eax, byte [0x10198074]
test al, al
je 0x1002c7f9
movzx ecx, al
cmp ecx, 1
je 0x1002c723
cmp ecx, 2
jne 0x1002d95d
mov al, 2
mov ecx, dword [0x1019806c]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002c7f9
mov ecx, dword [0x1019806c]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002daf5
mov edx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
mov dword [esp + 0x18], esi
lea esi, [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xa0], 0x10120520
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x20], 0x1018e128
mov dword [esp], esi
mov dword [esp + 4], 1
mov dword [esp + 0x48], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x4c], eax
movlps qword [esp + 0x50], xmm0
mov dword [esp + 0x58], 0
mov dword [esp + 8], edx
mov edx, esp
call fcn.100ee220
jmp 0x1002c7f9
lea ecx, [esp + 0xa0]
call fcn.1010f6e0
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x1002c681
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
call fcn.1002e310
push str.CreateProcessAsUserW
push dword [esp + 0x130]
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x1002d9bd
lea ebx, [esp + 0xa0]
mov edx, eax
mov ecx, ebx
push 0x1002e9b0
call fcn.100ab580
add esp, 4
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
test eax, eax
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
je 0x1002d9c7
lea esi, [esp + 0xb0]
lea edi, [esp + 0x58]
mov ecx, 0x11
lea edx, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], eax
mov ecx, esp
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
movsd qword [esp + 0x4c], xmm0
mov dword [esp + 0x54], eax
push 1
call fcn.100adc90
add esp, 4
cmp dword [esp], 0x8000000d
jne 0x1002d9fa
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x48]
mov ecx, 0x15
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x10198eb4]
cmp eax, 4
jne 0x1002ca1a
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1002ca35
lea esi, [esp + 0xa4]
lea edi, [esp + 0x4c]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
call fcn.100ae390
cmp dword [esp + 0x60], 0
je 0x1002c8f9
lea ecx, [esp + 0x60]
call fcn.1002e370
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.1002e370
cmp dword [esp + 0x78], 0
je 0x1002c91d
push dword [esp + 0x7c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x84], 0
mov edi, dword [esp + 0x30]
je 0x1002c940
push dword [esp + 0x88]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [0x10198458]
cmp eax, 4
jae 0x1002ca4a
movzx eax, byte [0x10198080]
test al, al
je 0x1002ca4a
movzx ecx, al
cmp ecx, 1
je 0x1002c970
cmp ecx, 2
jne 0x1002d974
mov al, 2
mov ecx, dword [0x10198078]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002ca4a
mov ecx, dword [0x10198078]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002db09
mov edx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
mov dword [esp + 0x18], esi
lea esi, [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xa0], 0x10120578
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x20], 0x1018e128
mov dword [esp], esi
mov dword [esp + 4], 1
mov dword [esp + 0x48], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x4c], eax
movlps qword [esp + 0x50], xmm0
mov dword [esp + 0x58], 0
mov dword [esp + 8], edx
mov edx, esp
call fcn.100ee220
jmp 0x1002ca4a
lea ecx, [esp + 0xa0]
call fcn.1010f720
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x1002c8ca
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
call fcn.1002e310
mov edi, dword [esp + 0x30]
push str.CreateProcessW
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x1002d9bd
lea ebx, [esp + 0xa0]
mov edx, eax
mov ecx, ebx
push 0x1002eb80
call fcn.100ab580
add esp, 4
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
test eax, eax
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
je 0x1002d9c7
lea esi, [esp + 0xb0]
lea edi, [esp + 0x58]
mov ecx, 0x11
lea edx, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x48], eax
mov ecx, esp
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
movsd qword [esp + 0x4c], xmm0
mov dword [esp + 0x54], eax
push 1
call fcn.100adc90
add esp, 4
cmp dword [esp], 0x8000000d
jne 0x1002d9fa
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x48]
mov ecx, 0x15
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x10198f0c]
cmp eax, 4
jne 0x1002cc61
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1002cc7c
lea esi, [esp + 0xa4]
lea edi, [esp + 0x4c]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
call fcn.100ae390
cmp dword [esp + 0x60], 0
je 0x1002cb44
lea ecx, [esp + 0x60]
call fcn.1002e370
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.1002e370
cmp dword [esp + 0x78], 0
je 0x1002cb68
push dword [esp + 0x7c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x84], 0
je 0x1002cb87
push dword [esp + 0x88]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [0x10198458]
cmp eax, 4
jae 0x1002cc8d
movzx eax, byte [0x1019808c]
test al, al
je 0x1002cc8d
movzx ecx, al
cmp ecx, 1
je 0x1002cbb7
cmp ecx, 2
jne 0x1002d98b
mov al, 2
mov ecx, dword [0x10198084]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002cc8d
mov ecx, dword [0x10198084]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1002db1d
mov edx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
mov dword [esp + 0x18], esi
lea esi, [esp + 0x18]
mov dword [esp + 0xa0], 0x101205c0
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xac], 0
mov dword [esp + 0x20], 0x1018e128
mov dword [esp], esi
mov dword [esp + 4], 1
mov dword [esp + 0x48], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x4c], eax
movlps qword [esp + 0x50], xmm0
mov dword [esp + 0x58], 0
mov dword [esp + 8], edx
mov edx, esp
call fcn.100ee220
jmp 0x1002cc8d
lea ecx, [esp + 0xa0]
call fcn.1010f760
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x1002cb15
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
call fcn.1002e310
mov eax, dword [0x10198458]
cmp eax, 3
jae 0x1002cdbc
movzx eax, byte [0x10198098]
test al, al
je 0x1002cdbc
movzx ecx, al
cmp ecx, 1
je 0x1002ccbd
cmp ecx, 2
jne 0x1002d918
mov al, 2
mov ecx, dword [0x10198090]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002cdbc
mov esi, dword [0x10198090]
mov eax, dword [esi + 0x20]
test eax, eax
je 0x1002daa5
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
cmp eax, 1
mov dword [esp + 0xa0], 0x101205f4
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 0
je 0x1002daa5
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
add esi, 0x1c
mov dword [esp + 0x10], 1
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0xf8], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x1018e128
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x48]
lea edx, [esp + 0xf8]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x10198090]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x38], 2
mov dword [esp + 0x5c], 0x1018db9c
mov dword [esp + 0x3c], esi
call fcn.100ee220
mov eax, dword [0x10198458]
cmp eax, 3
jae 0x1002ceeb
movzx eax, byte [0x101980a4]
test al, al
je 0x1002ceeb
movzx ecx, al
cmp ecx, 1
je 0x1002cdec
cmp ecx, 2
jne 0x1002d92f
mov al, 2
mov ecx, dword [0x1019809c]
movzx edx, al
call fcn.100ed390
test al, al
je 0x1002ceeb
mov esi, dword [0x1019809c]
mov eax, dword [esi + 0x20]
test eax, eax
je 0x1002dab9
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
cmp eax, 1
mov dword [esp + 0xa0], 0x1012061c
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xa8], 4
mov dword [esp + 0xac], 0
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 0
je 0x1002dab9
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
add esi, 0x1c
mov dword [esp + 0x10], 1
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0xf8], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 0x1018e128
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x48]
lea edx, [esp + 0xf8]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x1019809c]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x38], 2
mov dword [esp + 0x5c], 0x1018db9c
mov dword [esp + 0x3c], esi
call fcn.100ee220
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
mov dword [esp + 0x134], eax
mov ecx, dword [0x10198458]
cmp ecx, 2
ja 0x1002d0d2
movzx ecx, byte [0x1019811c]
cmp cl, 2
je 0x1002cf8a
movzx ecx, cl
cmp ecx, 1
je 0x1002cf41
test ecx, ecx
je 0x1002d0d2
mov ecx, 0x10198114
mov esi, eax
call fcn.101159e0
test al, al
je 0x1002d9a2
movzx eax, al
cmp eax, 2
mov eax, esi
je 0x1002cf8a
mov ecx, dword [0x10198114]
mov edx, dword [0x10199140]
cmp edx, 2
jne 0x1002d0d2
cmp dword [0x10198448], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov edx, dword [0x10198450]
mov esi, eax
je 0x1002cf78
mov eax, dword [edx + 8]
dec eax
and eax, 0xfffffff8
lea edi, [edi + eax + 8]
push ecx
push edi
call dword [edx + 0x14]
add esp, 8
test al, al
mov eax, esi
je 0x1002d0d2
mov eax, dword [0x10198114]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002da55
mov edi, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
cmp ecx, 1
mov dword [esp + 0x48], 0x1012061c
mov dword [esp + 0x4c], 1
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 4
mov dword [esp + 0x54], 0
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0
je 0x1002da55
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
lea edx, [esp + 0x134]
mov dword [esp + 0x24], esi
lea esi, [esp + 0x34]
mov dword [esp + 0x28], 1
mov dword [esp + 0x120], edx
lea edx, [esp + 0x48]
mov dword [esp], esi
lea esi, [esp + 0x18]
mov dword [esp + 4], edx
lea edx, [esp + 0x120]
mov dword [esp + 8], 0x1018e128
mov dword [esp + 0xc], esi
lea esi, [eax + 0x1c]
mov dword [esp + 0x10], edx
mov edx, esp
mov dword [esp + 0x14], 0x1012070c
mov dword [esp + 0xf8], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0xfc], 2
mov dword [esp + 0x100], esi
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 1
mov eax, dword [0x10199140]
cmp eax, 2
jne 0x1002d0cb
cmp dword [0x10198448], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x10198450]
je 0x1002d0b7
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [edi + eax + 8]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x1002d0cb
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [esp + 0x134]
mov dword [esp + 0x11c], eax
push eax
push 4
call dword [sym.imp.kernel32.dll_CreateToolhelp32Snapshot]
mov esi, eax
inc eax
cmp eax, 1
ja 0x1002d391
call sub.kernel32.dll_GetLastError
movzx ecx, ax
mov ebx, 0x535f4f4b
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovne ebx, ecx
xor esi, esi
mov edi, ebx
mov ebx, esi
mov dword [esp + 0x10c], edi
mov dword [esp + 0x110], ebx
mov eax, dword [0x10198458]
cmp eax, 5
jae 0x1002d374
movzx eax, byte [0x10198020]
cmp al, 2
je 0x1002d1a6
movzx eax, al
cmp eax, 1
je 0x1002d162
test eax, eax
je 0x1002d374
mov ecx, 0x10198018
call fcn.101159e0
test al, al
je 0x1002d374
movzx eax, al
cmp eax, 2
je 0x1002d1a6
mov eax, dword [0x10198018]
mov ecx, dword [0x10199140]
cmp ecx, 2
jne 0x1002d374
cmp dword [0x10198448], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x10198450]
je 0x1002d196
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [edx + esi + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x1002d374
mov esi, dword [0x10198018]
mov edi, dword [esi + 0x20]
test edi, edi
je 0x1002d9a9
mov ebx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
cmp edi, 1
mov dword [esp], str.error_hooking_process
mov dword [esp + 4], 1
mov dword [esp + 0x10], 0
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], edi
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], 0
je 0x1002d9a9
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x118], ecx
mov dword [esp + 0x44], 1
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
cmp edi, 2
mov dword [esp + 0x11c], eax
jbe 0x1002d9a9
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
add esi, 0x1c
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x28], 2
mov dword [esp + 0x130], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0xa0], eax
mov eax, esp
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x34]
mov dword [esp + 0xa8], 0x1018e128
mov dword [esp + 0xac], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x18]
mov dword [esp + 0xb4], 0x1018db9c
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x130]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xc0], 0x10120310
mov dword [esp + 0x120], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x124], 3
mov dword [esp + 0x128], esi
mov dword [esp + 0x58], eax
mov eax, dword [0x10198018]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 1
mov eax, dword [0x10199140]
cmp eax, 2
jne 0x1002d374
cmp dword [0x10198448], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x10198450]
je 0x1002d35c
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [edi + eax + 8]
lea ebx, [esp + 0x48]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x1002d374
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [esp + 0x110]
test eax, eax
je 0x1002d385
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0x1c
movsd qword [esp + 0xa4], xmm0
movsd qword [esp + 0xac], xmm0
movsd qword [esp + 0xb4], xmm0
mov eax, dword [0x10198458]
cmp eax, 1
ja 0x1002d597
movzx eax, byte [0x10198128]
cmp al, 2
je 0x1002d441
movzx eax, al
cmp eax, 1
je 0x1002d3fd
test eax, eax
je 0x1002d597
mov ecx, 0x10198120
call fcn.101159e0
test al, al
je 0x1002d597
movzx eax, al
cmp eax, 2
je 0x1002d441
mov eax, dword [0x10198120]
mov ecx, dword [0x10199140]
cmp ecx, 2
jne 0x1002d597
cmp dword [0x10198448], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x10198450]
je 0x1002d431
mov edi, dword [ecx + 8]
dec edi
and edi, 0xfffffff8
lea edx, [edx + edi + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x1002d597
mov eax, dword [0x10198120]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002dacd
mov ebx, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
cmp ecx, 1
mov dword [esp], str.finding_threads
mov dword [esp + 4], 1
mov dword [esp + 0x10], 0
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], edi
mov dword [esp + 0x108], 0
je 0x1002dacd
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edi
lea edi, [esp + 0x11c]
lea edx, [esp + 0xf8]
mov dword [esp + 0x44], 1
mov dword [esp + 0x10c], edi
mov dword [esp + 0x18], edx
mov edi, esp
lea edx, [esp + 0x34]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0x1018e128
mov dword [esp + 0x24], edx
lea edi, [esp + 0x10c]
lea edx, [esp + 0x18]
mov dword [esp + 0x28], edi
mov dword [esp + 0x120], edx
lea edx, [esp + 0x120]
lea edi, [eax + 0x1c]
mov dword [esp + 0x124], 2
mov dword [esp + 0x2c], 0x10120744
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x128], edi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 1
mov eax, dword [0x10199140]
cmp eax, 2
jne 0x1002d590
cmp dword [0x10198448], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov edi, dword [0x10198450]
je 0x1002d574
mov eax, dword [edi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [ebx + eax + 8]
lea eax, [esp + 0x48]
push eax
push ebx
call dword [edi + 0x28]
add esp, 8
test al, al
je 0x1002d590
lea eax, [esp + 0x48]
push eax
push ebx
call dword [edi + 0x2c]
add esp, 8
lea ebx, [esp + 0xa0]
push ebx
push esi
call dword [sym.imp.kernel32.dll_Thread32First]
test eax, eax
je 0x1002d0ee
mov dword [esp + 0x30], esi
mov edi, 4
xor esi, esi
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 4
mov dword [esp + 0x114], 0
jmp 0x1002d603
mov edi, dword [esp + 0x110]
mov dword [edi + eax*4], ebx
inc eax
lea ebx, [esp + 0xa0]
mov esi, eax
mov dword [esp + 0x114], eax
push ebx
push dword [esp + 0x34]
call dword [sym.imp.kernel32.dll_Thread32Next]
test eax, eax
je 0x1002d82b
mov eax, dword [esp + 0xac]
cmp eax, dword [esp + 0x11c]
jne 0x1002d5f0
mov eax, dword [0x10198458]
cmp eax, 2
jae 0x1002d7e9
movzx eax, byte [0x10198134]
cmp al, 2
je 0x1002d69a
movzx eax, al
cmp eax, 1
je 0x1002d656
test eax, eax
je 0x1002d7e9
mov ecx, 0x1019812c
call fcn.101159e0
test al, al
je 0x1002d7e9
movzx eax, al
cmp eax, 2
je 0x1002d69a
mov eax, dword [0x1019812c]
mov ecx, dword [0x10199140]
cmp ecx, 2
jne 0x1002d7e9
cmp dword [0x10198448], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x10198450]
je 0x1002d68a
mov edi, dword [ecx + 8]
dec edi
and edi, 0xfffffff8
lea edx, [edx + edi + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x1002d7e9
mov eax, dword [0x1019812c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1002da41
mov ebx, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
cmp ecx, 1
mov dword [esp], str.found_threadd_a
mov dword [esp + 4], 1
mov dword [esp + 0x10], 0
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], edi
mov dword [esp + 0x108], 0
je 0x1002da41
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x18]
lea esi, [esp + 0xa0]
lea ecx, [eax + 0x1c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x120], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x130], esi
mov esi, esp
mov dword [esp + 0x124], 2
mov dword [esp + 0x128], ecx
mov dword [esp + 0x18], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 0x1018e128
lea esi, [esp + 0x130]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x120]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0x10120778
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 1
mov eax, dword [0x10199140]
cmp eax, 2
jne 0x1002d7e9
cmp dword [0x10198448], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov edi, dword [0x10198450]
je 0x1002d7cd
mov eax, dword [edi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [ebx + eax + 8]
lea eax, [esp + 0x48]
push eax
push ebx
call dword [edi + 0x28]
add esp, 8
test al, al
je 0x1002d7e9
lea eax, [esp + 0x48]
push eax
push ebx
call dword [edi + 0x2c]
add esp, 8
push dword [esp + 0xa8]
push 0
push 2
call dword [sym.imp.kernel32.dll_OpenThread]
mov ebx, eax
inc eax
cmp eax, 2
jb 0x1002d84b
mov eax, dword [esp + 0x114]
cmp eax, dword [esp + 0x10c]
jne 0x1002d5d5
lea ecx, [esp + 0x10c]
mov esi, eax
call fcn.10061b60
mov eax, esi
jmp 0x1002d5d5
call sub.kernel32.dll_GetLastError
mov eax, dword [esp + 0x10c]
cmp eax, 0x80000000
jne 0x1002d890
test edi, edi
jne 0x1002d10f
jmp 0x1002d385
call sub.kernel32.dll_GetLastError
movzx ecx, ax
mov ebx, 0x535f4f4b
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovne ebx, ecx
cmp dword [esp + 0x10c], 0
je 0x1002d10b
push dword [esp + 0x110]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1002d10b
mov dword [esp + 0x30], eax
shl esi, 2
xor eax, eax
mov dword [esp + 0x12c], esi
cmp esi, eax
je 0x1002d8cb
mov ebx, dword [edi + eax]
mov esi, eax
push ebx
call dword [sym.imp.kernel32.dll_ResumeThread]
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
test eax, eax
je 0x1002d8ea
mov eax, esi
mov esi, dword [esp + 0x12c]
add eax, 4
cmp esi, eax
jne 0x1002d8a4
cmp dword [esp + 0x30], 0
je 0x1002d385
push edi
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1002d385
call sub.kernel32.dll_GetLastError
movzx ecx, ax
mov ebx, 0x535f4f4b
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovne ebx, ecx
cmp dword [esp + 0x30], 0
je 0x1002d10b
push edi
jmp 0x1002d87d
mov ecx, 0x10198090
call fcn.101159e0
test al, al
jne 0x1002ccbd
jmp 0x1002cdbc
mov ecx, 0x1019809c
call fcn.101159e0
test al, al
jne 0x1002cdec
jmp 0x1002ceeb
mov ecx, 0x10198060
call fcn.101159e0
test al, al
jne 0x1002c4da
jmp 0x1002c5b0
mov ecx, 0x1019806c
call fcn.101159e0
test al, al
jne 0x1002c723
jmp 0x1002c7f9
mov ecx, 0x10198078
call fcn.101159e0
test al, al
jne 0x1002c970
jmp 0x1002ca4a
mov ecx, 0x10198084
call fcn.101159e0
test al, al
jne 0x1002cbb7
jmp 0x1002cc8d
mov eax, esi
jmp 0x1002d0d2
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101202e0
call fcn.1010d3d0
mov ecx, 0x10120320
call fcn.1010d3b0
mov eax, dword [esp + 8]
movsd xmm0, qword [esp]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esp + 0xa8], eax
movsd qword [esp + 0xa0], xmm0
push 0x10120330
push 0x10120010
push ebx
call fcn.1010d2e0
mov eax, dword [esp + 8]
movsd xmm0, qword [esp]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esp + 0xa8], eax
movsd qword [esp + 0xa0], xmm0
push 0x10120340
push 0x10120010
push ebx
call fcn.1010d2e0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x10120384
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x10120754
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101206fc
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101203f0
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x10120434
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x10120464
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101205c8
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101205fc
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x1012071c
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101204a8
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x101204f0
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x10120540
call fcn.1010d3d0
mov ecx, 0x1018e075
mov edx, 0x22
push 0x10120590
call fcn.1010d3d0
int3