Function at 0x100137e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x40a8
call fcn.1003baf0
mov eax, dword [0x100530a0]
xor eax, esp
mov dword [esp + 0x40a4], eax
mov eax, dword [esp + 0x40ac]
push ebx
mov ebx, dword [esp + 0x40bc]
push ebp
mov ebp, dword [esp + 0x40c8]
push esi
mov esi, dword [esp + 0x40bc]
push edi
mov edi, dword [esp + 0x40c4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40cc]
push 0xc
mov dword [esp + 0x14], eax
call fcn.1002f9d0
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x100144a8
mov dword [eax + 4], 0
add eax, 8
push esi
mov dword [esp + 0x54], eax
mov dword [eax], 1
call fcn.1002f9d0
mov esi, dword [esp + 0x28]
push 0xc
mov dword [esi], eax
call fcn.1002f9d0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x100144a8
mov dword [eax + 4], 0
add eax, 8
push edi
mov dword [esp + 0x50], eax
mov dword [eax], 1
call fcn.1002f9d0
mov ecx, dword [esp + 0x20]
push 0xc
mov dword [ecx], eax
call fcn.1002f9d0
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
test edi, edi
je 0x100144a8
lea eax, [edi + 8]
mov dword [edi + 4], 0
push ebx
mov dword [esp + 0x4c], eax
mov dword [eax], 1
call fcn.1002f9d0
push 0xc
mov dword [edi], eax
call fcn.1002f9d0
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x100144a8
push dword [esp + 0x10]
lea eax, [ebx + 8]
mov dword [ebx + 4], 0
mov dword [esp + 0x48], eax
mov dword [eax], 1
call fcn.1002f9d0
push 0xc
mov dword [ebx], eax
call fcn.1002f9d0
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100144a8
mov dword [eax + 4], 0
add eax, 8
push ebp
mov dword [esp + 0x44], eax
mov dword [eax], 1
call fcn.1002f9d0
mov ecx, dword [esp + 0x2c]
push 0xc
mov dword [ecx], eax
call fcn.1002f9d0
mov ebp, eax
add esp, 4
mov dword [esp + 0x30], ebp
test ebp, ebp
je 0x100144a8
push dword [esp + 0x14]
lea eax, [ebp + 8]
mov dword [ebp + 4], 0
mov dword [esp + 0x40], eax
mov dword [eax], 1
call fcn.1002f9d0
push 0x1000
mov dword [ebp], eax
lea eax, [esp + 0x30b8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x30c0]
push 0
push 0
push 0
push 0
push 0
push eax
push dword [ebx]
push dword [edi]
push dword [ebp]
push dword [esi]
call fcn.10011f50
add esp, 0x34
mov dword [esp + 0x24], 0
lea ecx, [esp + 0x24]
mov dword [esp + 0x14], 0
push 0x79
call fcn.10012d60
push 0x7a
lea ecx, [esp + 0x18]
call fcn.10012d60
push 0x1000
lea eax, [esp + 0x20b8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1000
lea eax, [esp + 0x10c4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ebx, dword [esi]
add esp, 0x18
mov ecx, 0x100417c0
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013a2e
test dx, dx
je 0x10013a2a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013a2e
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013a08
xor eax, eax
jmp 0x10013a33
sbb eax, eax
or eax, 1
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
test eax, eax
jg 0x10013cb3
mov ebp, dword [ebp]
mov ecx, 0x100417c4
mov eax, ebp
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013a76
test dx, dx
je 0x10013a72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013a76
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013a50
xor eax, eax
jmp 0x10013a7b
sbb eax, eax
or eax, 1
test eax, eax
jns 0x10013cb3
mov eax, 0x100417c0
mov cx, word [ebx]
cmp cx, word [eax]
jne 0x10013aae
test cx, cx
je 0x10013aaa
mov cx, word [ebx + 2]
cmp cx, word [eax + 2]
jne 0x10013aae
add ebx, 4
add eax, 4
test cx, cx
jne 0x10013a88
xor eax, eax
jmp 0x10013ab3
sbb eax, eax
or eax, 1
test eax, eax
jg 0x10013cac
mov ecx, 0x100417c8
mov eax, ebp
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013ae8
test dx, dx
je 0x10013ae4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013ae8
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013ac2
xor eax, eax
jmp 0x10013aed
sbb eax, eax
or eax, 1
test eax, eax
jg 0x10013cac
mov ecx, 0x100417c8
mov eax, ebp
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013b26
test dx, dx
je 0x10013b22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013b26
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013b00
xor eax, eax
jmp 0x10013b2b
sbb eax, eax
or eax, 1
mov ebx, dword [esp + 0x1c]
test eax, eax
jne 0x10013b73
mov eax, dword [ebx]
mov ecx, 0x100417c0
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013b66
test dx, dx
je 0x10013b62
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013b66
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013b40
xor eax, eax
jmp 0x10013b6b
sbb eax, eax
or eax, 1
test eax, eax
jg 0x10013cac
mov ecx, 0x100417e8
mov eax, ebp
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013ba6
test dx, dx
je 0x10013ba2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013ba6
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013b80
xor eax, eax
jmp 0x10013bab
sbb eax, eax
or eax, 1
test eax, eax
jg 0x10013ca5
mov eax, 0x100417e8
nop dword [eax + eax]
mov cx, word [ebp]
cmp cx, word [eax]
jne 0x10013be7
test cx, cx
je 0x10013be3
mov cx, word [ebp + 2]
cmp cx, word [eax + 2]
jne 0x10013be7
add ebp, 4
add eax, 4
test cx, cx
jne 0x10013bc0
xor eax, eax
jmp 0x10013bec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100142f2
mov edx, dword [ebx]
mov ecx, 0x100417c0
mov eax, edx
nop dword [eax]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x10013c26
test bx, bx
je 0x10013c22
mov bx, word [eax + 2]
cmp bx, word [ecx + 2]
jne 0x10013c26
add eax, 4
add ecx, 4
test bx, bx
jne 0x10013c00
xor eax, eax
jmp 0x10013c2b
sbb eax, eax
or eax, 1
test eax, eax
jg 0x10013ca5
mov eax, 0x100417c0
mov cx, word [edx]
cmp cx, word [eax]
jne 0x10013c5a
test cx, cx
je 0x10013c56
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x10013c5a
add edx, 4
add eax, 4
test cx, cx
jne 0x10013c34
xor eax, eax
jmp 0x10013c5f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100142f2
mov eax, dword [esp + 0x34]
mov ecx, 0x100417ec
mov eax, dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10013c98
test dx, dx
je 0x10013c94
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10013c98
add eax, 4
add ecx, 4
test dx, dx
jne 0x10013c72
xor eax, eax
jmp 0x10013c9d
sbb eax, eax
or eax, 1
test eax, eax
js 0x100142f2
push 0x100417f4
jmp 0x10013cb8
push 0x100417cc
jmp 0x10013cb8
push 0x1003fa44
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea eax, [esp + 0x10b8]
push 0x800
push eax
call ebx
mov ebp, dword [esp + 0x3c]
add esp, 0xc
mov eax, dword [ebp]
test eax, eax
je 0x10013ce9
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ecx, eax
mov eax, dword [ebp]
jmp 0x10013ceb
xor ecx, ecx
cmp word [eax + ecx*2 - 2], 0x5c
lea ecx, [esp + 0x10b4]
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
push ecx
push eax
lea eax, [esp + 0x20bc]
jne 0x10013d10
push str._sbin_s
jmp 0x10013d15
push str._s_bin_s
push eax
call ebp
add esp, 0x10
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x20b8]
push eax
call dword [sym.imp.kernel32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x100142f2
push eax
call dword [sym.imp.kernel32.dll_FindClose]
push 0xc
call fcn.1002f9d0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x100144a8
mov dword [eax + 4], 0
add eax, 8
mov dword [esp + 0x38], eax
mov dword [eax], 1
lea eax, [esp + 0x20b4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
test eax, eax
je 0x100144a8
call fcn.10005170
test eax, eax
je 0x10013f37
mov eax, dword [esp + 0x28]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x54], str.MAJOR_VERSION
mov dword [esp + 0x5c], str.MINOR_VERSION
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], str.MICRO_VERSION
mov dword [esp + 0x6c], str.UPDATE_STR
lea edx, [ecx + 1]
movq qword [esp + 0x9c], xmm0
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov word [esp + 0xa4], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10013df0
sub ecx, edx
cmp ecx, 3
jae 0x10013e19
push dword [esp + 0x10]
lea eax, [esp + 0xa0]
push str.00_s
push eax
call ebp
add esp, 0xc
jmp 0x10013eb7
mov ecx, dword [esp + 0x10]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10013e20
push dword [esp + 0x10]
sub ecx, edx
cmp ecx, 3
jne 0x10013e46
lea eax, [esp + 0xa0]
push 0x100418b0
push eax
call ebp
add esp, 0xc
jmp 0x10013eb7
lea ecx, [esp + 0x18]
call fcn.100060b0
mov eax, dword [eax]
test eax, eax
je 0x10013e59
mov eax, dword [eax]
jmp 0x10013e5b
xor eax, eax
push eax
lea eax, [esp + 0xa0]
push 4
push eax
call ebx
mov ebx, dword [esp + 0x20]
add esp, 0xc
test ebx, ebx
je 0x10013eb7
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
dec eax
jne 0x10013eb7
test ebx, ebx
je 0x10013eb7
mov eax, dword [ebx]
test eax, eax
je 0x10013e95
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10013eac
push eax
call fcn.1003b898
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
call fcn.1002f9d0
add esp, 8
push 0xc
call fcn.1002f9d0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100144a8
lea eax, [esp + 0x9c]
mov dword [ebx + 4], 0
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea ebp, [ebx + 8]
mov dword [ebp], 1
call eax
mov dword [ebx], eax
test eax, eax
je 0x100144a8
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
push 0
mov dword [esp + 0x78], str.DEPLOY_VERSION
mov dword [esp + 0x80], 0
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [esp + 0x54]
push eax
push 1
push 0x67
jmp 0x100141a6
push 0x1000
lea eax, [esp + 0xb8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [esp + 0x14]
push str.1.8.0_281
call fcn.100060b0
mov eax, dword [eax]
test eax, eax
je 0x10013f66
mov eax, dword [eax]
jmp 0x10013f68
xor eax, eax
push eax
push esi
lea eax, [esp + 0xbc]
push 0x800
push eax
call fcn.10005d50
mov ebx, dword [esp + 0x24]
add esp, 0x10
test ebx, ebx
je 0x10013fcb
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
dec eax
jne 0x10013fcb
test ebx, ebx
je 0x10013fcb
mov eax, dword [ebx]
test eax, eax
je 0x10013fa9
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10013fc0
push eax
call fcn.1003b898
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
call fcn.1002f9d0
add esp, 8
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xb4]
mov ebx, dword [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], str.IECPL_OPTIONS_CAPTION
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], str.IECPL_OPTIONS_TEXT
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [ecx]
mov ecx, ebx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], str.MAJOR_VERSION
mov dword [esp + 0x6c], str.MINOR_VERSION
lea edx, [ecx + 1]
mov dword [esp + 0x74], str.MICRO_VERSION
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], str.UPDATE_STR
movq qword [esp + 0xa8], xmm0
mov word [esp + 0xb0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10014047
sub ecx, edx
cmp ecx, 3
jae 0x1001406d
push ebx
lea eax, [esp + 0xac]
push str.00_s
push eax
call ebp
add esp, 0xc
jmp 0x1001410a
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10014072
sub ecx, edx
push ebx
cmp ecx, 3
jne 0x10014095
lea eax, [esp + 0xac]
push 0x100418b0
push eax
call ebp
add esp, 0xc
jmp 0x1001410a
lea ecx, [esp + 0x18]
call fcn.100060b0
mov eax, dword [eax]
test eax, eax
je 0x100140a8
mov eax, dword [eax]
jmp 0x100140aa
xor eax, eax
push eax
lea eax, [esp + 0xac]
push 4
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov ebx, dword [esp + 0x20]
add esp, 0xc
test ebx, ebx
je 0x1001410a
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
dec eax
jne 0x1001410a
test ebx, ebx
je 0x1001410a
mov eax, dword [ebx]
test eax, eax
je 0x100140e8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100140ff
push eax
call fcn.1003b898
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
call fcn.1002f9d0
add esp, 8
push 0xc
call fcn.1002f9d0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100144a8
lea eax, [esp + 0xa8]
mov dword [ebx + 4], 0
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea ebp, [ebx + 8]
mov dword [ebp], 1
call eax
mov dword [ebx], eax
test eax, eax
je 0x100144a8
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c]
push 0
mov dword [esp + 0x88], str.DEPLOY_VERSION
mov dword [esp + 0x90], str.REG_MODULE
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [eax]
mov dword [esp + 0x94], eax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [esp + 0x54]
push eax
push 1
push 0x65
push 0x10053988
call fcn.1000b950
xor ecx, ecx
test eax, eax
setns cl
or eax, 0xffffffff
mov dword [esp + 0x10], ecx
lock xadd dword [ebp], eax
dec eax
jne 0x100141fb
mov eax, dword [ebx]
test eax, eax
je 0x100141d9
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100141f0
push eax
call fcn.1003b898
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
call fcn.1002f9d0
add esp, 8
mov edx, dword [esp + 0x30]
mov edx, dword [edx]
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10014206
sub ecx, ebx
mov eax, str._s_binjp2ssv.dll
sar ecx, 1
mov ebx, str._sbinjp2ssv.dll
push edx
cmp word [edx + ecx*2 - 2], 0x5c
cmove eax, ebx
push eax
push 0xffffffffffffffff
lea eax, [esp + 0xc0]
push 0x800
push eax
call fcn.10005ff0
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xcc]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wstat64i32]
add esp, 0x1c
test eax, eax
js 0x1001426d
cmp dword [esp + 0x40d4], 0
jne 0x1001426d
call sym.deploy.dll_UnregJavaConsoleIExplorer
mov ebx, dword [esp + 0x10]
jmp 0x100142a1
cmp dword [esp + 0x10], 0
je 0x1001429f
mov eax, dword [esp + 0x34]
push dword [eax]
mov eax, dword [esp + 0x20]
push dword [eax]
mov eax, dword [esp + 0x28]
push dword [eax]
mov eax, dword [esp + 0x34]
push dword [eax]
call sym.deploy.dll_RegJavaConsoleIExplorer
add esp, 0x10
test eax, eax
je 0x1001429f
mov ebx, 1
jmp 0x100142a1
xor ebx, ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x38]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x100142f4
mov ebp, dword [esp + 0x24]
mov eax, dword [ebp]
test eax, eax
je 0x100142ce
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp], 0
mov eax, dword [ebp + 4]
test eax, eax
je 0x100142e5
push eax
call fcn.1003b898
add esp, 4
mov dword [ebp + 4], 0
push 0xc
push ebp
call fcn.1002f9d0
add esp, 8
jmp 0x100142f4
xor ebx, ebx
mov ebp, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call ebp
push edi
call ebp
mov ecx, dword [esp + 0x3c]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x10014345
mov edi, dword [esp + 0x30]
mov eax, dword [edi]
test eax, eax
je 0x10014323
push eax
call ebp
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x1001433a
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1002f9d0
add esp, 8
mov ecx, dword [esp + 0x40]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x10014387
mov edi, dword [esp + 0x2c]
mov eax, dword [edi]
test eax, eax
je 0x10014365
push eax
call ebp
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x1001437c
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1002f9d0
add esp, 8
mov ecx, dword [esp + 0x44]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x100143c9
mov edi, dword [esp + 0x34]
mov eax, dword [edi]
test eax, eax
je 0x100143a7
push eax
call ebp
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x100143be
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1002f9d0
add esp, 8
mov ecx, dword [esp + 0x48]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x1001440b
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
test eax, eax
je 0x100143e9
push eax
call ebp
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10014400
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1002f9d0
add esp, 8
mov ecx, dword [esp + 0x4c]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x1001444d
mov edi, dword [esp + 0x20]
mov eax, dword [edi]
test eax, eax
je 0x1001442b
push eax
call ebp
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x10014442
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.1002f9d0
add esp, 8
mov eax, dword [esp + 0x50]
lock xadd dword [eax], esi
dec esi
jne 0x1001448d
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
test eax, eax
je 0x1001446b
push eax
call ebp
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10014482
push eax
call fcn.1003b898
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.1002f9d0
add esp, 8
mov ecx, dword [esp + 0x40b4]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003b4ee
add esp, 0x40a8
ret
push 0x8007000e
call fcn.1002f9d0
int3