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

Disassembly:
sub esp, 0x1f4
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x208]
mov ecx, dword [edi + 0x6c]
mov eax, dword [edi + 0x4c]
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x3c]
push ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], eax
call sym.vidcap60.exe__SfGetPixelType_4
mov edx, dword [edi + 0x14]
push edx
mov ebx, eax
call sym.vidcap60.exe__SfGetPixelType_4
mov ebp, eax
lea eax, [esp + 0x4c]
push eax
push ebx
call sym.vidcap60.exe__SfGetPixelBitsPerChannel_8
mov edx, dword [edi + 0x88]
push 0
lea ecx, [esp + 0x74]
push ecx
push edx
push ebx
push ebp
mov dword [esp + 0x58], eax
call sym.vidcap60.exe__SfXCHGGetFunctionPointers_20
mov esi, dword [esp + 0xf8]
test esi, esi
mov eax, dword [edi + 0x70]
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x74]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edx
mov dword [esp + 0x2c], 0
je 0x4a4527
mov eax, 0xffff
cdq
lea ecx, [esi + 1]
idiv ecx
mov dword [esp + 0x2c], eax
mov ecx, dword [edi + 0x88]
lea edx, [esp + 0x1e8]
push edx
lea eax, [esp + 0x130]
push eax
push ecx
push ebp
push ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x1fc], 3
call sym.vidcap60.exe__SfXCHGGetFunctionPointers_20
mov edx, dword [edi + 0x40]
mov eax, dword [edi + 0x70]
mov ecx, dword [edi + 0x74]
mov dword [esp + 0x1b8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1bc], eax
cmp dword [edi], 0
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x14], edx
jne 0x4a4780
mov eax, dword [edi + 0x64]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x68]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], ebx
jle 0x4a4be7
jmp 0x4a45b4
mov edx, dword [esp + 0x14]
test esi, esi
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xcc], ecx
mov ecx, dword [edi + 0x50]
mov dword [esp + 0xd4], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd8], eax
je 0x4a4632
mov ecx, dword [edi + 0x7c]
lea eax, [ecx + ebx]
cmp eax, esi
mov dword [esp + 0x10], 0
jge 0x4a4605
test dh, 0x20
je 0x4a4605
mov eax, esi
sub eax, ecx
sub eax, ebx
js 0x4a4605
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x84]
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
sub ebp, esi
cmp eax, ebp
jl 0x4a4632
test dh, 0x10
je 0x4a4632
sub eax, ecx
mov ecx, dword [esp + 0x10]
lea eax, [eax + esi + 1]
cmp eax, ecx
jle 0x4a4632
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
xor ebp, ebp
test eax, eax
jle 0x4a4744
lea ecx, [esp + 0x70]
push ecx
call dword [esp + 0x80]
test esi, esi
je 0x4a4727
mov ecx, dword [edi + 0x78]
mov ebx, dword [esp + 0x10]
lea edx, [ecx + ebp]
cmp edx, esi
jge 0x4a4679
mov eax, dword [esp + 0x14]
test ah, 0x40
je 0x4a4679
mov eax, esi
sub eax, ecx
sub eax, ebp
mov ecx, ebx
cmp eax, ecx
jle 0x4a4679
mov ebx, eax
mov ecx, dword [edi + 0x80]
mov eax, ebp
sub eax, ecx
mov ecx, dword [esp + 0x18]
mov edx, ecx
sub edx, esi
cmp eax, edx
jl 0x4a46a3
mov edx, dword [esp + 0x14]
test dh, dh
jns 0x4a46a3
sub eax, ecx
lea eax, [eax + esi + 1]
cmp eax, ebx
jle 0x4a46a3
mov ebx, eax
test ebx, ebx
je 0x4a4727
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
lea edx, [esp + 0x12c]
push edx
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
call dword [esp + 0x13c]
mov ecx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x2c]
mov edx, ecx
imul edx, ebx
mov eax, ebx
imul eax, ecx
mov word [esp + 0x118], dx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov byte [esp + 0x122], al
lea eax, [esp + 0x70]
push eax
call dword [esp + 0x158]
lea ecx, [esp + 0x70]
push ecx
call dword [esp + 0x84]
mov eax, dword [esp + 0x18]
inc ebp
cmp ebp, eax
jl 0x4a4640
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
add ebp, edx
mov edx, dword [esp + 0x20]
add edx, eax
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ebx
jl 0x4a45b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1f4
ret 4
mov eax, dword [edi + 0x38]
mov ebx, dword [edi + 0xc]
mov edx, dword [edi + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x68]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x78]
imul eax, ebx
mov dword [esp + 0x6c], edx
mov edx, dword [edi + 0x64]
mov dword [esp + 0x3c], edx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x80]
mov ecx, dword [edi + 4]
imul eax, ebx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x7c]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 0x10]
imul eax, ecx
cdq
and edx, 0x3fff
add eax, edx
mov ebp, eax
mov eax, dword [edi + 0x84]
imul eax, ecx
cdq
and edx, 0x3fff
add eax, edx
sar ebp, 0xe
sar eax, 0xe
cmp ecx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x60], eax
jg 0x4a4817
mov ecx, ebx
mov eax, ecx
imul eax, esi
cdq
and edx, 0x3fff
add eax, edx
mov ebx, eax
sar ebx, 0xe
xor ecx, ecx
cmp ebx, ecx
je 0x4a483f
mov eax, 0xffff
cdq
lea esi, [ebx + 1]
idiv esi
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x3c]
mov eax, 1
cmp edx, eax
jne 0x4a4865
mov edx, dword [esp + 0x94]
mov dword [esp + 0x84], edx
cmp dword [esp + 0x50], eax
jne 0x4a4872
mov dword [esp + 0xe4], ecx
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x1c], ecx
jle 0x4a4be7
jmp 0x4a4890
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
shr eax, 0xe
mov edx, eax
imul edx, dword [esp + 0x34]
add edx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0xd4], esi
mov esi, dword [edi + 0x20]
inc ecx
mov dword [esp + 0xd8], esi
cmp ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], edx
jl 0x4a48d3
mov dword [esp + 0xe4], 0
test ebx, ebx
je 0x4a4925
lea ecx, [eax + ebp]
cmp ecx, ebx
mov dword [esp + 0x10], 0
jge 0x4a48fb
mov ecx, dword [esp + 0x14]
test ch, 0x20
je 0x4a48fb
mov ecx, ebx
sub ecx, eax
sub ecx, ebp
js 0x4a48fb
mov dword [esp + 0x10], ecx
sub eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
mov esi, ecx
sub esi, ebx
cmp eax, esi
jl 0x4a4925
test dword [esp + 0x14], 0x1000
je 0x4a4925
sub eax, ecx
mov ecx, dword [esp + 0x10]
add eax, ebx
cmp eax, ecx
jle 0x4a4925
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x68]
and eax, 0x3fff
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x6c]
cmp eax, 1
jle 0x4a4a9e
dec eax
mov dword [esp + 0x40], eax
jmp 0x4a4950
mov esi, ebp
shr esi, 0xe
mov eax, esi
imul eax, dword [esp + 0x44]
mov ecx, eax
and ecx, 7
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x48]
shr eax, 3
add eax, ecx
mov dword [esp + 0xcc], eax
mov edx, ebp
lea eax, [esp + 0x70]
and edx, 0x3fff
push eax
mov dword [esp + 0xec], edx
call dword [esp + 0x88]
test ebx, ebx
je 0x4a4a79
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
lea eax, [esi + edx]
cmp eax, ebx
mov dword [esp + 0x24], ecx
jge 0x4a49c5
mov eax, dword [esp + 0x14]
test ah, 0x40
je 0x4a49c5
mov eax, ebx
sub eax, esi
sub eax, edx
cmp eax, ecx
jle 0x4a49c5
mov dword [esp + 0x24], eax
sub esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov ecx, eax
sub ecx, ebx
cmp esi, ecx
jl 0x4a49ef
mov ecx, dword [esp + 0x14]
test ch, ch
jns 0x4a49ef
sub esi, eax
mov eax, dword [esp + 0x24]
lea esi, [esi + ebx + 1]
cmp esi, eax
jle 0x4a49ef
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4a4a79
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x12c]
push ecx
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], eax
call dword [esp + 0x13c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], edx
mov edx, ecx
imul edx, eax
imul eax, ecx
mov word [esp + 0x118], dx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov byte [esp + 0x122], al
lea eax, [esp + 0x70]
push eax
call dword [esp + 0x158]
lea ecx, [esp + 0x70]
push ecx
call dword [esp + 0x84]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
add ebp, ecx
dec eax
mov dword [esp + 0x40], eax
jne 0x4a4950
mov edx, dword [esp + 0x48]
mov esi, ebp
shr esi, 0xe
mov eax, esi
imul eax, dword [esp + 0x44]
mov ecx, eax
shr eax, 3
add eax, edx
lea edx, [esp + 0x70]
and ecx, 7
and ebp, 0x3fff
push edx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xec], ebp
call dword [esp + 0x98]
test ebx, ebx
je 0x4a4baf
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x10]
lea eax, [esi + ecx]
cmp eax, ebx
jge 0x4a4b07
mov eax, dword [esp + 0x14]
test ah, 0x40
je 0x4a4b07
mov eax, ebx
sub eax, esi
sub eax, ecx
cmp eax, ebp
jle 0x4a4b07
mov ebp, eax
sub esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov ecx, eax
sub ecx, ebx
cmp esi, ecx
jl 0x4a4b2b
mov ecx, dword [esp + 0x14]
test ch, ch
jns 0x4a4b2b
sub esi, eax
lea eax, [esi + ebx + 1]
cmp eax, ebp
jle 0x4a4b2b
mov ebp, eax
test ebp, ebp
je 0x4a4baf
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0x12c]
push ecx
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], eax
call dword [esp + 0x13c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], edx
mov edx, ecx
imul edx, ebp
mov eax, ebp
imul eax, ecx
mov word [esp + 0x118], dx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov byte [esp + 0x122], al
lea eax, [esp + 0x70]
push eax
call dword [esp + 0x158]
lea ecx, [esp + 0x70]
push ecx
call dword [esp + 0x84]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
add ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
add esi, edx
cmp eax, ecx
mov dword [esp + 0x20], esi
jl 0x4a4885
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1f4
ret 4