Function at 0x10089e2
Capabilities:
Write file on windows

Disassembly:
push 0
lea ecx, [ebp - 0x38]
call fcn.01008cbf
mov dword [ebp - 4], 1
test esi, esi
jl 0x1001a47
push dword [ebp - 0x34]
mov ecx, edi
call fcn.0100174b
mov esi, eax
test esi, esi
jl 0x1001a47
push dword [ebp + 0xc]
mov ecx, edi
call fcn.01001b46
mov esi, eax
push dword [ebp - 0x34]
mov dword [ebp - 0x38], 0x1001660
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
or dword [ebp - 4], 0xffffffff
xor ebx, ebx
inc ebx
test esi, esi
jl 0x1001b1f
xor eax, eax
cmp dword [edi + 0x3c], 2
je 0x100f6cc
test esi, esi
jl 0x1001b1f
push dword [edi + eax*4 + 0x34]
mov ecx, edi
push dword [0x101b46c]
call fcn.010016c1
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10097fd
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001b02
push ebx
push dword [0x101b490]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001b02
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001b02
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001b02
push ebx
push dword [0x101b498]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001b02
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x2c]
call fcn.010013c0
pop ecx
test esi, esi
jl 0x1001b1f
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
xor eax, eax
cmp esi, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], eax
jl 0x100982f
cmp dword [ebp + 0x10], 0xffffffff
je 0x100920d
mov dword [ebp - 0x20], eax
jmp 0x1001c83
test esi, esi
jl 0x1001c2c
push 1
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
cmp dword [ebp + 0xc], 0
je 0x1001c4b
test esi, esi
jl 0x1001c4b
push 0xbb8
push 0xa
push 0x64
push 0x3e8
push 3
call sub.wbemcomn.dll_long_int___stdcall_Throttle_unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int_
lea ecx, [ebp - 0x2c]
call fcn.010013f8
inc dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x18
cmp ebx, dword [eax + edi + 0x10]
je 0x1009204
test esi, esi
jl 0x1009204
mov eax, dword [ebx + 0x10]
add eax, 8
mov eax, dword [eax + 8]
and dword [ebp - 0x14], 0
mov dword [ebp - 0x30], eax
jmp 0x1001cae
mov eax, dword [ebp - 0x20]
cmp eax, dword [edi + 0x30]
jae 0x100920d
test esi, esi
jl 0x100982f
imul eax, eax, 0x18
add eax, edi
cmp dword [eax + 0x14], 0
jne 0x1001ef7
inc dword [ebp - 0x20]
xor ebx, ebx
inc ebx
jmp 0x1001c83
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0x3c]
jae 0x1001c17
test esi, esi
jl 0x1001c2c
cmp eax, dword [ebp - 0x30]
jae 0x1001c17
mov eax, dword [ebx + 0x10]
push dword [ebp - 0x1c]
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.010014ef
mov esi, eax
test esi, esi
je 0x1009807
mov eax, dword [ebp - 0x14]
push dword [edi + eax*4 + 0x34]
mov ecx, edi
push esi
call fcn.010016c1
push esi
mov dword [ebp - 0x24], eax
call fcn.010013c0
cmp dword [ebp - 0x24], 0
pop ecx
je 0x1009807
push 1
push dword [ebp - 0x24]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [0x101b44c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x14]
add eax, 8
mov eax, dword [eax + 4]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
push 1
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [ebp - 0x24]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [0x101b450]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x14]
add eax, 8
mov eax, dword [eax + 4]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 8]
push 1
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1001e03
push 1
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x24]
call fcn.010013c0
pop ecx
inc dword [ebp - 0x14]
jmp 0x1001cae
mov eax, dword [eax + 0x10]
mov ebx, dword [eax]
mov dword [ebp - 4], 5
mov dword [ebp - 0x2c], ebx
jmp 0x1001c59
push 0x2c
mov eax, 0x1016d28
call fcn.01001350
mov edi, ecx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp + 8]
xor ecx, ecx
mov esi, 0x8000ffff
cmp eax, ecx
je 0x10097d4
cmp word [eax], cx
je 0x10097d4
cmp dword [ebp + 0x10], ecx
jne 0x1008a1c
cmp dword [edi + 0x30], ecx
je 0x10097d4
push dword [ebp + 8]
and dword [ebp - 4], 0
mov dword [ebp - 0x18], ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
add ebx, 0xa
xor ecx, ecx
push 2
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.010013e0
pop ecx
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100f687
push dword [ebp + 8]
push ebx
push eax
call fcn.010021cb
mov esi, eax
test esi, esi
jl 0x1001a57
push 0x1008ca8
push ebx
push dword [ebp - 0x18]
call fcn.01002436
mov esi, eax
test esi, esi
jl 0x1001a57
push dword [ebp - 0x18]
mov ecx, edi
call fcn.01007f3e
mov esi, eax
test esi, esi
jl 0x1001a57
and dword [ebp - 0x24], 0
mov ebx, 0x1008ca4
push ebx
mov esi, 0x80004005
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [ebp - 0x24]
push ecx
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x2c]
mov eax, dword [edi + 0x44]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1001a57
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x24]
jne 0x1001a57
xor esi, esi
mov dword [ebp - 0x38], 0x1001660
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.01008742
push esi
lea ecx, [ebp - 0x38]
call fcn.010083a7
push 0x1007ec8
lea ecx, [ebp - 0x38]
call fcn.010083a7
push esi
lea ecx, [ebp - 0x38]
call fcn.010083a7
push 0x1007eac
lea ecx, [ebp - 0x38]
call fcn.010083a7
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.010083a7
push esi
lea ecx, [ebp - 0x38]
call fcn.010083a7
push 0x1007e98
lea ecx, [ebp - 0x38]
call fcn.010083a7
push esi
lea ecx, [ebp - 0x38]
call fcn.010083a7
push 0x1008c18
lea ecx, [ebp - 0x38]
call fcn.010083a7
push esi
lea ecx, [ebp - 0x38]
call fcn.010083a7
lea ecx, [ebp - 0x38]
call fcn.010086ef
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 2
call fcn.01008cbf
push dword [0x101b4a4]
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push dword [0x101b49c]
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push esi
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push dword [0x101b4a0]
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push dword [ebp + 8]
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push 0x10088c4
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push esi
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push esi
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push dword [0x101b4ac]
lea ecx, [ebp - 0x38]
call fcn.01008cbf
xor ebx, ebx
cmp ebx, dword [edi + 0x3c]
jae 0x1001a16
push dword [edi + ebx*4 + 0x34]
mov ecx, edi
call fcn.010088ef
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10097f3
push eax
lea ecx, [ebp - 0x38]
call fcn.01008cbf
push dword [ebp - 0x2c]
call fcn.010013c0
pop ecx
inc ebx
jmp 0x1008be4
cmp dword [ebp + 0xc], 0
je 0x1008e21
test esi, esi
jl 0x1008e21
push 0xbb8
push 0xa
push 0x64
push 0x3e8
push 3
call sub.wbemcomn.dll_long_int___stdcall_Throttle_unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int_
lea ecx, [ebp - 0x20]
call fcn.010013f8
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
imul eax, eax, 0x18
cmp ecx, dword [eax + edi + 0x10]
je 0x10097ea
test esi, esi
jl 0x10097ea
and dword [ebp + 0x10], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [eax + 0x1c]
jae 0x1008e02
test esi, esi
jl 0x1008e02
mov eax, dword [eax + 0x18]
shl ecx, 2
mov eax, dword [ecx + eax]
cmp dword [eax + 0x10], 0
je 0x100902c
mov eax, dword [eax + 0x14]
and dword [ebp - 0x14], 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0x3c]
jae 0x1009017
test esi, esi
jl 0x100902c
cmp eax, dword [ebp - 0x34]
jae 0x1009017
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x10]
push dword [ebp - 0x1c]
add eax, 0x14
mov eax, dword [eax + 4]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.010014ef
mov esi, eax
test esi, esi
je 0x1009825
mov eax, dword [ebp - 0x14]
push dword [edi + eax*4 + 0x34]
mov ecx, edi
push esi
call fcn.010016c1
push esi
mov dword [ebp - 0x2c], eax
call fcn.010013c0
cmp dword [ebp - 0x2c], 0
pop ecx
je 0x1009825
push 1
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [0x101b44c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x14]
add eax, 0x14
mov eax, dword [eax + 4]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
add eax, 0xc
mov eax, dword [eax + 4]
shl ebx, 2
add eax, ebx
mov eax, dword [eax]
mov eax, dword [eax + 4]
push 1
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [0x101b450]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0x10]
add eax, 0x14
mov eax, dword [eax + 4]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
add eax, 0xc
mov eax, dword [eax + 4]
add eax, ebx
mov eax, dword [eax]
mov eax, dword [eax + 8]
push 1
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009006
push 1
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x2c]
call fcn.010013c0
pop ecx
inc dword [ebp - 0x14]
jmp 0x1008e7a
test esi, esi
jl 0x100902c
push 1
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
inc dword [ebp + 0x10]
jmp 0x1008e4b
mov eax, dword [ebp - 0x24]
cmp eax, dword [edi + 0x30]
jae 0x1009724
test esi, esi
jl 0x100982f
imul eax, eax, 0x18
lea ebx, [eax + edi]
cmp dword [ebx + 0x14], 0
jne 0x1009390
inc dword [ebp - 0x24]
xor ebx, ebx
inc ebx
jmp 0x1009034
or dword [ebp - 4], 0xffffffff
jmp 0x1001ca6
test esi, esi
jl 0x100982f
xor eax, eax
cmp dword [edi + 0x3c], 2
je 0x100f830
test esi, esi
jl 0x100982f
lea eax, [edi + eax*4 + 0x34]
push dword [eax]
mov ecx, edi
push dword [0x101b4b0]
mov dword [ebp - 0x30], eax
call fcn.010016c1
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1009811
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x10092a2
push ebx
push dword [0x101b4b8]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x10092a2
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x10092a2
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x10092a2
push ebx
push dword [0x101b4c0]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x2c]
call fcn.010013c0
pop ecx
test esi, esi
jl 0x100982f
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100982f
mov eax, dword [ebp - 0x30]
push dword [eax]
mov ecx, edi
push dword [0x101b4b4]
call fcn.010016c1
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100981b
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009356
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009356
push ebx
push dword [0x101b4bc]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009356
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009356
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x1009356
push ebx
push dword [0x101b4c4]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x2c]
call fcn.010013c0
pop ecx
test esi, esi
jl 0x100982f
cmp dword [ebp + 0x10], 0xffffffff
je 0x1009724
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
and dword [ebp - 0x24], 0
mov esi, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x1009034
push 1
push dword [0x101b444]
mov ecx, edi
mov dword [ebp - 4], 7
call fcn.01001570
mov ebx, dword [ebx + 0x10]
mov esi, eax
mov eax, dword [ebx]
mov dword [ebp - 0x20], eax
jmp 0x1008e2c
test esi, esi
jl 0x100982f
push ebx
mov ecx, edi
call fcn.01002667
mov esi, eax
test esi, esi
jl 0x100982f
push dword [ebp + 8]
and dword [ebp + 0x10], 0
mov dword [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
add ebx, 6
xor ecx, ecx
push 2
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.010013e0
pop ecx
mov dword [ebp + 0x10], eax
test eax, eax
je 0x100fae5
push dword [ebp + 8]
push ebx
push dword [ebp + 0x10]
call fcn.010021cb
mov esi, eax
test esi, esi
jl 0x10097ae
push 0x10097e0
push ebx
push dword [ebp + 0x10]
call fcn.01002436
mov esi, eax
test esi, esi
jl 0x10097ae
push dword [ebp + 0x10]
mov ecx, edi
push dword [ebp - 0x18]
call fcn.010024ed
mov esi, eax
or dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x10], 0
je 0x10097c1
push dword [ebp + 0x10]
call fcn.010013c0
pop ecx
test esi, esi
jl 0x100982f
cmp dword [ebp - 0x18], 0
je 0x10097d4
push dword [ebp - 0x18]
call fcn.010013c0
pop ecx
mov eax, esi
call fcn.01001390
ret 0xc
or dword [ebp - 4], 0xffffffff
jmp 0x1009058
mov esi, 0x8007000e
jmp 0x1008c15
mov esi, 0x8007000e
jmp 0x1001b0b
mov esi, 0x8007000e
jmp 0x1001e0c
mov esi, 0x8007000e
jmp 0x10092ab
mov esi, 0x8007000e
jmp 0x100935f
mov esi, 0x8007000e
jmp 0x100900f
mov ecx, edi
call fcn.010026bf
jmp 0x100fb0b
mov esi, 0x8007000e
jmp 0x1001a57
call fcn.01011260
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100f808
push dword [edi + 0x34]
mov ecx, edi
push dword [0x101b46c]
call fcn.010016c1
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100f7f8
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7fd
push ebx
push dword [0x101b44c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7fd
push ebx
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7fd
push 0xcc
push dword [ebp - 0x2c]
call fcn.010122e7
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100f778
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f76d
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x20]
call fcn.010013c0
pop ecx
jmp 0x100f77d
mov esi, 0x8007000e
test esi, esi
jl 0x100f7fd
push ebx
push dword [ebp - 0x24]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7fd
push ebx
push dword [0x101b450]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7fd
push ebx
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7fd
push 0xcf
push dword [ebp - 0x2c]
call fcn.010122e7
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100f7f8
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f7ed
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x20]
call fcn.010013c0
pop ecx
jmp 0x100f7fd
mov esi, 0x8007000e
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x100f80d
mov esi, 0x80004005
mov eax, ebx
jmp 0x1001a72
call fcn.01011260
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x100fabd
push dword [edi + 0x34]
mov ecx, edi
push dword [0x101b4b0]
call fcn.010016c1
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100f96c
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b44c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push 0xcd
push dword [ebp - 0x1c]
call fcn.010122e7
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100f8dc
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f8d1
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x20]
call fcn.010013c0
pop ecx
jmp 0x100f8e1
mov esi, 0x8007000e
test esi, esi
jl 0x100fab2
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b450]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push 0xd0
push dword [ebp - 0x1c]
call fcn.010122e7
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100f96c
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100f961
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x20]
call fcn.010013c0
pop ecx
jmp 0x100f971
mov esi, 0x8007000e
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push dword [edi + 0x34]
mov ecx, edi
push dword [0x101b4b4]
call fcn.010016c1
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100faad
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b44c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push 0xce
push dword [ebp - 0x1c]
call fcn.010122e7
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100fa2d
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fa22
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x20]
call fcn.010013c0
pop ecx
jmp 0x100fa32
mov esi, 0x8007000e
test esi, esi
jl 0x100fab2
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b450]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push ebx
push dword [0x101b448]
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100fab2
push 0xd1
push dword [ebp - 0x1c]
call fcn.010122e7
mov dword [ebp - 0x20], eax
test eax, eax
je 0x100faad
push ebx
push eax
mov ecx, edi
call fcn.01001570
mov esi, eax
test esi, esi
jl 0x100faa2
push ebx
push dword [0x101b444]
mov ecx, edi
call fcn.01001570
mov esi, eax
push dword [ebp - 0x20]
call fcn.010013c0
pop ecx
jmp 0x100fab2
mov esi, 0x8007000e
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x100fac2
mov esi, 0x80004005
mov eax, ebx
jmp 0x1009221
mov esi, 0x8007000e
jmp 0x10097ae
push dword [ebp - 0x18]
mov ecx, edi
call fcn.01012194
jmp 0x10097c5