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

Disassembly:
push 0x5c
mov eax, 0x10115ae4
call fcn.100d3545
mov ecx, dword [ebp + 8]
and dword [ebp - 4], 0
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4c], edx
mov ebx, dword [ecx + 0x24]
test ebx, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
cmove eax, dword [ecx + 0x28]
mov dword [ebp - 0x44], eax
cmp edx, 0xffffffff
jne 0x1007ee03
mov edx, dword [ecx + 0x1c]
mov dword [ebp + 0x10], edx
test ebx, ebx
je 0x1007ee12
test edx, edx
jne 0x1007ee12
xor eax, eax
jmp 0x1007f515
xorps xmm0, xmm0
xor esi, esi
movlpd qword [ebp - 0x54], xmm0
mov edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x54]
test edx, edx
je 0x1007ee51
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x1007ee36
mov ecx, esi
jmp 0x1007ee3c
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + esi*4]
mov ecx, dword [eax + ecx*4]
call fcn.1007f9c9
add ebx, eax
mov eax, dword [ebp - 0x48]
adc edi, edx
inc esi
cmp esi, dword [ebp + 0x10]
jb 0x1007ee2c
mov ecx, dword [ebp + 0x18]
push edi
push ebx
push ecx
mov eax, dword [ecx]
call dword [eax + 0xc]
xorps xmm0, xmm0
push 0x38
movlpd qword [ebp - 0x40], xmm0
movlpd qword [ebp - 0x54], xmm0
call fcn.100d33b9
pop ecx
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1007ee89
mov ecx, eax
call fcn.100b09fd
mov esi, eax
xor ebx, ebx
jmp 0x1007ee8d
xor ebx, ebx
mov esi, ebx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], bl
mov dword [ebp - 0x60], esi
test esi, esi
je 0x1007eea0
mov eax, dword [esi]
push esi
call dword [eax + 4]
push ebx
push dword [ebp + 0x18]
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.100b0a9a
push 0x28
call fcn.100d33b9
mov edi, eax
pop ecx
test edi, edi
je 0x1007eecb
mov dword [edi + 4], ebx
mov dword [edi], vtable.CLimitedSequentialInStream.0
mov dword [edi + 8], ebx
jmp 0x1007eecd
mov edi, ebx
mov dword [ebp - 0x64], edi
test edi, edi
je 0x1007eeda
mov eax, dword [edi]
push edi
call dword [eax + 4]
push dword [ebp - 0x44]
lea ecx, [edi + 8]
mov byte [ebp - 4], 3
call fcn.10020053
push 0x20
call fcn.100d33b9
mov esi, eax
pop ecx
test esi, esi
je 0x1007ef05
mov dword [esi + 4], ebx
mov dword [esi], vtable.CLimitedSequentialOutStream.0
mov dword [esi + 8], ebx
jmp 0x1007ef07
mov esi, ebx
mov dword [ebp - 0x68], esi
test esi, esi
je 0x1007ef14
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x50]
mov eax, ebx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 4
cmp eax, dword [ebp + 0x10]
jb 0x1007ef44
cmp dword [ebp - 0x28], 0
jne 0x1007efed
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x2c], ecx
mov ecx, eax
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], edx
call fcn.100b0b50
mov ebx, eax
test ebx, ebx
je 0x1007ef9a
mov byte [ebp - 4], 5
test esi, esi
je 0x1007ef74
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 6
test edi, edi
je 0x1007ef82
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 7
test ecx, ecx
je 0x1007ef93
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, ebx
jmp 0x1007f515
and dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp + 0x14], eax
mov byte [ebp - 4], 8
setne al
cmp dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x30], eax
je 0x1007efbc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ecx*4]
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x3c], ecx
jne 0x1007f079
push ecx
mov ecx, dword [ebp + 8]
call fcn.100804b7
mov ebx, eax
cmp ebx, 0x80070057
jne 0x1007f023
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
test eax, eax
je 0x1007efed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3c
test esi, esi
je 0x1007effb
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x3d
test edi, edi
je 0x1007f009
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x1007ee0b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1007ee0b
test ebx, ebx
je 0x1007f06e
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1007f038
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb
test esi, esi
je 0x1007f046
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xc
test edi, edi
je 0x1007f054
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1007ef93
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1007ef93
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x3c]
add eax, 0x38
jmp 0x1007f082
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ecx*4]
mov edx, dword [ebp + 0x18]
lea ebx, [ebp - 0x18]
push dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
push ebx
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x14]
mov ebx, eax
test ebx, ebx
je 0x1007f0cf
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1007f0ad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
test esi, esi
je 0x1007f0bb
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x10
test edi, edi
je 0x1007f0c9
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x11
jmp 0x1007f058
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.1007f9c9
mov ecx, eax
mov eax, edx
add dword [ebp - 0x44], ecx
mov dword [ebp - 0x50], eax
adc dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x58], ecx
add eax, 0x1ff
mov ecx, dword [ebx + 0x14]
adc ecx, 0
and eax, 0xfffffe00
add dword [ebp - 0x38], eax
adc dword [ebp - 0x48], ecx
mov ecx, ebx
call fcn.1007fa47
test al, al
je 0x1007f1a9
mov ecx, dword [ebp + 0x18]
push dword [ebp - 0x30]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x1007f159
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1007f134
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
test esi, esi
je 0x1007f142
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x14
test edi, edi
je 0x1007f150
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x15
jmp 0x1007f058
mov ecx, dword [ebp + 0x18]
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ebx, eax
test ebx, ebx
je 0x1007f1a0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x16
test eax, eax
je 0x1007f17b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x17
test esi, esi
je 0x1007f189
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x18
test edi, edi
je 0x1007f197
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x19
jmp 0x1007f058
mov byte [ebp - 4], 0x1a
jmp 0x1007f4eb
cmp dword [ebp + 0x14], 0
mov byte [ebp - 0x11], 0
jne 0x1007f1cf
cmp dword [ebp - 0x18], 0
jne 0x1007f1cf
cmp dword [ebp - 0x28], 0
je 0x1007f1c4
jmp 0x1007f4f8
mov byte [ebp - 0x11], 1
mov dword [ebp - 0x30], 2
mov ecx, dword [ebp + 0x18]
push dword [ebp - 0x30]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x1007f217
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x1007f1f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1d
test esi, esi
je 0x1007f200
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x1e
test edi, edi
je 0x1007f20e
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x1f
jmp 0x1007f058
push dword [ebp - 0x18]
lea ecx, [esi + 8]
call fcn.10021c16
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1007f233
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x18], 0
cmp byte [ebp - 0x11], 0
je 0x1007f249
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c], xmm0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
jmp 0x1007f24f
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
and dword [ebp - 0x58], 0
and dword [ebp - 0x20], 0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
mov word [esi + 0x18], 0x100
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 4], 0x20
cmp byte [ebx + 0x68], 0x53
je 0x1007f2e6
push edi
lea ecx, [ebp - 0x20]
call fcn.10020053
mov ecx, ebx
call fcn.1007fa88
test al, al
je 0x1007f34b
push dword [ebx + 0x40]
mov edx, dword [ebx + 0x3c]
mov ecx, esi
call fcn.100b16a2
mov ebx, eax
test ebx, ebx
je 0x1007f44e
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x26
test ecx, ecx
je 0x1007f2b0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x27
test eax, eax
je 0x1007f2c1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x28
test esi, esi
je 0x1007f2cf
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x29
test edi, edi
je 0x1007f2dd
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x2a
jmp 0x1007f058
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x20]
add eax, 8
push edx
push dword [ebp - 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp dword [ebp - 0x20], 0
jne 0x1007f279
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x22
test eax, eax
je 0x1007f314
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x23
test esi, esi
je 0x1007f322
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x24
test edi, edi
je 0x1007f330
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x25
test eax, eax
je 0x1007f341
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x1007f515
cmp dword [ebp - 0x28], 0
je 0x1007f3c4
mov eax, dword [ebp + 8]
xor ecx, ecx
push 0
push 0
mov ebx, dword [eax + 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x80]
add edx, dword [eax + 0x78]
adc ecx, dword [eax + 0x7c]
mov eax, dword [ebx]
push ecx
push edx
push ebx
call dword [eax + 0x10]
mov ebx, eax
test ebx, ebx
je 0x1007f3c1
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x2b
test eax, eax
je 0x1007f38b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x1007f39c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2d
test esi, esi
je 0x1007f3aa
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x2e
test edi, edi
je 0x1007f3b8
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x2f
jmp 0x1007f058
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
add eax, 0x1ff
push 0
pop ebx
adc ecx, ebx
mov dword [edi + 0x18], ebx
and eax, 0xfffffe00
mov dword [edi + 0x14], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 8]
push ecx
push ebx
mov dword [edi + 0x1c], ebx
mov byte [edi + 0x20], bl
mov eax, dword [eax + 0xec]
push ebx
push esi
push dword [ebp - 0x20]
mov edx, dword [eax]
push eax
call dword [edx + 0xc]
mov ebx, eax
test ebx, ebx
je 0x1007f44e
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x30
test eax, eax
je 0x1007f418
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x31
test eax, eax
je 0x1007f429
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x32
test esi, esi
je 0x1007f437
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x33
test edi, edi
je 0x1007f445
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x34
jmp 0x1007f058
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0x14]
je 0x1007f45b
push 2
pop ebx
jmp 0x1007f45e
mov ebx, dword [ebp - 0x58]
cmp dword [ebp - 0x28], 0
jne 0x1007f46e
mov eax, dword [ebp + 8]
inc dword [eax + 0x2c]
mov byte [eax + 0x30], 0
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x1007f47f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi + 8], 0
mov ecx, dword [ebp + 0x18]
push ebx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ebx, eax
test ebx, ebx
je 0x1007f4d6
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x35
test eax, eax
je 0x1007f4a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x36
test eax, eax
je 0x1007f4b1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x37
test esi, esi
je 0x1007f4bf
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0x38
test edi, edi
je 0x1007f4cd
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0x39
jmp 0x1007f058
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x3a
test eax, eax
je 0x1007f4e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1007f4f8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
inc eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
jmp 0x1007ef31
call fcn.100d34a3
ret 0x14