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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x10052004]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
mov ebx, ecx
mov dword [esp + 0x30], 0
push esi
push edi
mov dword [esp + 0x48], ebx
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x10031ec7
mov eax, dword fs:[0x18]
mov esi, dword [eax + 0xf80]
mov esi, dword [esi]
add esi, ecx
mov dword [esp + 0x4c], esi
je 0x10031ec7
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x9c]
mov edx, dword [ebp + 0xc]
cmp dword [ebx + 0x98], edi
jne 0x100134cf
cmp eax, edx
je 0x100139d3
cmp dword [esi + 0x490], 0
movzx ecx, word [esi + 0x4c0]
mov dword [esp + 0x28], ecx
movzx ecx, cx
mov dword [esp + 0x30], ecx
lea ecx, [esi + 0x23c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 0x98]
jne 0x100139ff
cmp dword [esp + 0x18], 0
je 0x100139ff
test edx, edx
ja 0x1001352d
jb 0x1001351b
cmp edi, 0x1000
jae 0x1001352d
lea edx, [esi + 0x328]
mov dword [esp + 0x30], 0x40
mov dword [esp + 0x10], edx
test eax, eax
jb 0x10013543
ja 0x100139ff
cmp ecx, 0x1000
jae 0x100139ff
mov eax, 0x40
lea edx, [esi + 0x328]
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], edx
movzx eax, ax
cdq
mov edi, eax
add edi, ecx
mov ecx, edx
push edx
adc ecx, dword [ebx + 0x9c]
add edi, 0xffffffff
push eax
adc ecx, 0xffffffff
push ecx
push edi
call fcn.10028af0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
movzx eax, cx
mov dword [esp + 0x58], eax
cdq
mov edi, eax
mov ecx, edx
add edi, dword [ebp + 8]
push edx
adc ecx, dword [ebp + 0xc]
add edi, 0xffffffff
push eax
adc ecx, 0xffffffff
push ecx
push edi
call fcn.10028af0
mov dword [esp + 0x2c], eax
lea ecx, [esi + 0x20c]
lea eax, [esp + 0x5c]
push eax
push 0
push dword [esp + 0x20]
call fcn.1001ef90
mov edi, eax
test edi, edi
js 0x10031c73
mov eax, dword [esp + 0x5c]
xor edx, edx
mov eax, dword [eax + 0x74]
mov dword [esp + 0x20], eax
movzx ecx, word [esi + 0x234]
mov eax, dword [esp + 0x18]
div ecx
lea edx, [esi + 0x20c]
mov ecx, eax
mov eax, dword [edx + 8]
mov dword [esp + 0x14], ecx
test eax, eax
je 0x10031c24
mov ecx, dword fs:[0x18]
mov ecx, dword [ecx + 0xf80]
mov ecx, dword [ecx]
add eax, ecx
je 0x10031c20
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10031c0b
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10031c20
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
je 0x10031c20
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10031c12
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10031c19
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
dec dword [eax + 0x1c]
test edi, edi
js 0x10031d30
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x1c], eax
cmp word [esp + 0x28], cx
jne 0x10013a8c
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
cmp eax, edi
ja 0x10013a5f
test eax, eax
je 0x10013a08
cmp edi, eax
jbe 0x100136ef
lea eax, [esp + 0x50]
push eax
lea eax, [edi - 1]
push eax
lea ecx, [ebx + 0x14]
call fcn.10014610
mov edi, eax
test edi, edi
js 0x10031d30
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, 0x40
cmp dx, word [esp + 0x28]
jne 0x100139e9
test eax, eax
je 0x100139e9
lea ecx, [esi + 0x328]
lea eax, [ecx + 0x50]
push eax
mov dword [esp + 0x28], eax
call fcn.1001d257
mov edi, eax
test edi, edi
js 0x10031d3d
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
test edi, edi
js 0x100139a9
mov edi, dword [esi + 0x484]
shl edx, 6
test edi, edi
je 0x10031d46
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edi
push 0
push edx
call fcn.10013460
mov edi, eax
test edi, edi
js 0x100139a9
xor edi, edi
cmp dword [esi + 0x4a0], edi
jne 0x10013814
mov eax, dword [esi + 0x268]
lea edx, [esi + 0x23c]
mov dword [esp + 0x10], eax
lea ecx, [edx + 0x50]
mov dword [esp + 0x14], ecx
test eax, eax
jne 0x10031d4d
mov eax, dword [ecx]
cmp eax, 0xfffffffe
je 0x10013a3e
mov dword [ecx], eax
mov eax, dword [edx + 0x4c]
cmp dword [ecx], eax
jb 0x10031d93
test edi, edi
js 0x10031d9a
mov eax, dword [ecx]
test edi, edi
js 0x100139a9
movzx ecx, word [esi + 0x4c2]
inc eax
xor edx, edx
call fcn.10028ac0
mov dword [esp + 0x10], eax
cmp edx, dword [esi + 0x4bc]
jb 0x10013814
ja 0x100137e1
cmp eax, dword [esi + 0x4b8]
jbe 0x10013814
mov ecx, dword [esi]
test ecx, ecx
je 0x10031da3
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov eax, dword [eax]
push edx
push dword [esp + 0x14]
mov edi, dword [eax]
push eax
mov edi, dword [edi + 0x18]
mov ecx, edi
call dword [0x100532e8]
call edi
mov edi, eax
test edi, edi
js 0x100139a9
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x40]
jne 0x10013a1f
movzx edi, word [esi + 0x234]
lea ecx, [esi + 0x20c]
mov eax, dword [esp + 0x18]
cmp edi, 4
jne 0x10013abb
shr eax, 2
lea edx, [esp + 0x44]
push edx
push 0xfffffffffffffffe
push 1
push eax
call fcn.1001f720
mov edi, eax
mov eax, dword [esp + 0x44]
cmp edi, 0x302ff
je 0x10031daa
test edi, edi
js 0x100139a9
movzx ecx, word [esi + 0x234]
cmp ecx, 4
jne 0x10013ac4
mov edx, dword [esp + 0x18]
and edx, 3
movzx ecx, dx
shl ecx, 7
add ecx, eax
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [ecx + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x7c], eax
movzx ecx, word [esi + 0x234]
mov eax, dword [esp + 0x18]
div ecx
lea edx, [esi + 0x20c]
mov ecx, eax
mov eax, dword [edx + 8]
mov dword [esp + 0x10], ecx
test eax, eax
je 0x10031dfb
mov ecx, dword fs:[0x18]
mov ecx, dword [ecx + 0xf80]
mov ecx, dword [ecx]
add eax, ecx
je 0x10031df7
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10031de2
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10031df7
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
je 0x10031df7
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10031de9
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10031df0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
dec dword [eax + 0x1c]
test edi, edi
js 0x100139a9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x9c], ecx
test eax, eax
jne 0x10031e41
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jbe 0x100139a5
mov eax, dword [esp + 0x58]
dec eax
cdq
and eax, dword [ebp + 8]
and edx, ecx
or eax, edx
je 0x100139a9
lea eax, [esp + 0x68]
push eax
lea eax, [esi - 1]
push eax
lea ecx, [ebx + 0x14]
call fcn.100143b0
mov edi, eax
jmp 0x100139a9
test eax, eax
jne 0x10013981
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x10031ebb
test edi, edi
js 0x10031d30
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.100281a0
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esp + 0x6c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100281a0
mov esp, ebp
pop ebp
ret 8
cmp dx, cx
jne 0x10013765
test edi, edi
jne 0x10013707
jmp 0x10013765
mov eax, dword [esp + 0x28]
jmp 0x10013556
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x18]
lea ecx, [ebx + 0x14]
call fcn.100141a3
jmp 0x100136d9
push eax
push dword [esp + 0x1c]
lea ecx, [esi + 0x20c]
call fcn.1001f1f3
mov edi, eax
test edi, edi
jns 0x1001382a
jmp 0x100139a9
push ecx
mov ecx, edx
call fcn.1001d7c0
mov edi, eax
test edi, edi
js 0x10031d8a
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x23c]
jmp 0x1001379f
test edi, edi
je 0x10031cf4
mov ecx, dword [esp + 0x3c]
push edi
push dword [esp + 0x24]
call fcn.1001cbef
mov edi, eax
test edi, edi
js 0x10031d30
lea ecx, [ebx + 0x14]
call fcn.10014540
jmp 0x100136e3
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebx + 0x9c]
ja 0x10013aa4
jb 0x10013ad5
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x98]
jbe 0x10013aaa
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100136ac
jmp 0x10031c7e
xor edx, edx
div edi
jmp 0x10013847
mov eax, dword [esp + 0x18]
xor edx, edx
div ecx
mov eax, dword [esp + 0x44]
jmp 0x10013887
mov eax, dword [ebp + 8]
jmp 0x10013aaa
xor eax, eax
jmp 0x10013625
xor eax, eax
jmp 0x10013665
xor eax, eax
jmp 0x10013684
mov ecx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [esp + 0x40], eax
test eax, eax
je 0x10031c42
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, dword [esp + 0x40]
jmp 0x10031c44
xor eax, eax
lea ebx, [esp + 0x60]
push ebx
push ecx
push dword [edx + 0x10]
mov ecx, eax
push edx
call fcn.10037374
mov ebx, dword [esp + 0x48]
lea edx, [esi + 0x20c]
test eax, eax
js 0x10013687
mov eax, dword [esp + 0x60]
dec dword [eax + 0x1c]
jmp 0x10013687
lea edx, [esi + 0x20c]
jmp 0x10013687
lea ecx, [esp + 0x1c]
mov edx, eax
push ecx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call fcn.10004898
mov edi, eax
test edi, edi
js 0x100139a9
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
push dword [esp + 0x20]
push dword [esp + 0x40]
push 0
push 0
call fcn.10013ae0
mov edi, eax
test edi, edi
js 0x100139a9
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], eax
jne 0x10031eb1
lea ecx, [ebx + 0x14]
call fcn.10014540
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
call fcn.100141a3
mov edi, eax
test edi, edi
js 0x100139a9
jmp 0x100136e3
mov eax, dword [esp + 0x20]
mov ecx, edx
push 0xfffffffffffffffe
push dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
call fcn.1001f1f3
mov edi, eax
test edi, edi
js 0x10031d30
mov ecx, dword [esp + 0x3c]
push 0
push dword [esp + 0x28]
mov dword [esp + 0x28], 0xfffffffe
call fcn.1001cbef
mov edi, eax
test edi, edi
jns 0x10013a7f
lea ecx, [ebx + 0x14]
call fcn.10014540
jmp 0x100139bd
mov edx, dword [esp + 0x50]
jmp 0x1001372a
xor ecx, ecx
jmp 0x10013753
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, dword [esp + 0x10]
je 0x10013792
mov edx, dword [edx + 0x2c]
test edx, edx
je 0x10031d7e
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, edx
jmp 0x10031d80
xor eax, eax
push ecx
mov ecx, eax
call fcn.1001d257
mov edi, eax
mov ecx, dword [esp + 0x14]
jmp 0x100137aa
mov dword [ecx], eax
jmp 0x100137aa
mov eax, dword [esp + 0x50]
jmp 0x100137b4
xor eax, eax
jmp 0x100137fb
movzx ecx, word [esi + 0x228]
shr ecx, 7
test ecx, ecx
je 0x10013870
mov esi, eax
mov ebx, ecx
push 0
mov ecx, esi
call fcn.10021009
sub esi, 0xffffff80
sub ebx, 1
jne 0x10031dc0
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x10013870
xor eax, eax
jmp 0x100138f3
xor eax, eax
jmp 0x10013933
xor eax, eax
jmp 0x10013952
mov ecx, dword [esp + 0x10]
mov eax, dword [edx]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x10031e19
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, dword [esp + 0x4c]
jmp 0x10031e1b
xor eax, eax
lea ebx, [esp + 0x54]
push ebx
push ecx
push dword [edx + 0x10]
mov ecx, eax
push edx
call fcn.10037374
mov ebx, dword [esp + 0x48]
test eax, eax
js 0x10013955
mov eax, dword [esp + 0x54]
jmp 0x10013952
lea ecx, [esp + 0x64]
push ecx
push eax
push dword [esp + 0x40]
mov ecx, ebx
push 0
push 0
call fcn.10014030
mov edi, eax
test edi, edi
js 0x100139a9
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x64], eax
jne 0x10031eb1
mov ecx, dword [esp + 0x3c]
push 0
push dword [esp + 0x44]
call fcn.1001cbef
mov edi, eax
test edi, edi
js 0x100139a9
mov ecx, esi
call fcn.10037460
mov edi, eax
test edi, edi
js 0x100139a9
mov ecx, esi
call fcn.10017fbe
mov edi, eax
test edi, edi
js 0x100139a9
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x1c]
jmp 0x10013977
mov edi, 0x800300fd
jmp 0x100139a9
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_CoTaskMemFree]
jmp 0x100139b5
mov eax, 0x800300fd
jmp 0x100139bf