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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d4a68
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x63ae80]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
mov bl, byte [edi + 0x60]
mov esi, dword [ebp + 0xc]
test bl, bl
jne 0x465e0b
cmp dword [edi + 0x2c], esi
je 0x465e27
push 0
lea ecx, [edi + 4]
call fcn.00464c60
mov dword [ebp - 0x18], eax
test eax, eax
jns 0x465e63
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [edi + 0x24]
cmp edx, eax
jbe 0x465de1
mov ecx, dword [edi + 0x20]
cmp dword [ecx], esi
je 0x465e23
inc eax
add ecx, 4
cmp eax, edx
jb 0x465e15
jmp 0x465de1
test eax, eax
js 0x465de1
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x465e48
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x465e48
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [edi + 0x14]
lea eax, [ecx + eax*8]
test bl, bl
je 0x465e72
mov eax, dword [eax + 4]
jmp 0x465e74
mov eax, dword [eax]
mov esi, eax
test bl, bl
jne 0x465e80
mov edx, dword [edi + 0x3c]
mov esi, dword [edx + eax*4]
mov eax, dword [edi + 0x6c]
mov ebx, dword [eax + esi*4]
mov eax, dword [ebx]
test eax, eax
jne 0x465e8f
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push 0x60e114
push eax
mov eax, dword [ecx]
call eax
mov edx, dword [ebp - 0x10]
test edx, edx
je 0x46610e
mov cl, byte [edi + 0x60]
test cl, cl
je 0x465eb6
mov eax, dword [ebx + 8]
jmp 0x465ebb
mov eax, 1
test cl, cl
je 0x465ec5
mov ecx, dword [edi + 0x30]
mov esi, dword [ecx + esi*4]
mov byte [ebp + 0xf], 0
cmp eax, 1
jne 0x4660ef
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], al
mov eax, dword [ebx]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [ebp - 0x14]
push ecx
push 0x60e234
push eax
call edx
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x465fec
mov dword [ebp + 0xc], 0
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
push esi
push ecx
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00465da0
mov esi, eax
test esi, esi
je 0x465f6c
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x465f2d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x465f40
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x465f56
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x465fd3
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x465f94
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x465fa7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x465f56
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov bl, 1
mov byte [ebp - 4], bl
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x465fe7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
jmp 0x465fef
mov bl, byte [ebp + 0xf]
mov byte [ebp - 4], 0
test eax, eax
je 0x465fff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edx, dword [ebp - 0x10]
test bl, bl
je 0x4660f7
mov eax, dword [edi + 0x7c]
cmp eax, dword [ebp - 0x18]
ja 0x46604a
lea esi, [edi + 0x78]
push 0xc
call fcn.004a4d50
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x46602f
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov ebx, eax
call fcn.00412f00
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebp - 0x18]
mov dword [edx + ecx*4], ebx
inc dword [esi + 4]
cmp dword [edi + 0x7c], eax
jbe 0x466015
mov edx, dword [ebp - 0x10]
mov ecx, dword [edi + 0x78]
mov eax, dword [ebp - 0x18]
mov ebx, dword [ecx + eax*4]
lea edi, [ebx + 8]
xor esi, esi
cmp dword [edi], esi
jne 0x4660fb
cmp dword [ebx + 4], esi
jne 0x4660fb
push 0x18
call fcn.004a4d50
add esp, 4
cmp eax, esi
je 0x466093
mov dword [eax + 4], vtable.IOutStreamFinish.0
mov dword [eax + 8], esi
mov dword [eax], vtable.COutStreamCalcSize.0
mov dword [eax + 4], vtable.COutStreamCalcSize.1.0
mov dword [eax + 0xc], esi
mov esi, eax
call fcn.00419cf0
mov dword [ebx + 4], esi
mov eax, dword [ebp - 0x10]
mov edi, eax
test eax, eax
je 0x4660ac
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4660bb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0xc], edi
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov esi, dword [ebx + 4]
lea edi, [ebp - 0x10]
call fcn.00419cf0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test eax, eax
je 0x46600a
test edx, edx
jmp 0x4660fd
cmp edx, esi
mov dword [ebp - 4], 0xffffffff
je 0x46610e
mov eax, dword [edx]
mov ecx, dword [eax + 8]
push edx
call ecx
mov eax, 0x80004001
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc