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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x49c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [esp + 0x3c]
push eax
push esi
call sym.vidcap60.exe__SfGetPixelType_4
push eax
call sym.vidcap60.exe__SfGetPixelBitsPerChannel_8
push esi
mov dword [esp + 0x24], eax
call sym.vidcap60.exe__SfGetPixelType_4
cmp eax, 0x1d
mov dword [esp + 0x7c], eax
je 0x4a868e
cmp eax, 0x1c
je 0x4a868e
cmp eax, 0x20
je 0x4a868e
mov eax, 0x80004001
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov esi, dword [ebp + 0x24]
xor edx, edx
shl eax, 0xe
shl ecx, 0xe
test esi, 0x1000000
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
je 0x4a86f9
cmp esi, edx
jne 0x4a86dc
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
jmp 0x4a8736
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
jmp 0x4a8736
cmp esi, edx
jne 0x4a870f
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
jmp 0x4a8736
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
shl edx, 0xe
mov dword [esp + 0x6c], edx
mov edx, dword [esi + 0xc]
shl eax, 0xe
shl ecx, 0xe
shl edx, 0xe
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x90]
push edx
call dword [sym.imp.USER32.dll_IntersectRect]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x88]
mov edx, ecx
sub edx, eax
mov dword [esp + 0x3c], edx
je 0x4a9425
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0x8c]
mov edx, ebx
sub edx, edi
mov dword [esp + 0x60], edx
je 0x4a9425
and eax, 0xffffc000
cdq
and edx, 0x3fff
add eax, edx
mov esi, eax
mov eax, edi
and eax, 0xffffc000
cdq
and edx, 0x3fff
add eax, edx
mov edi, eax
lea eax, [ecx - 1]
or eax, 0x3fff
sar esi, 0xe
sar edi, 0xe
inc eax
cdq
and edx, 0x3fff
add eax, edx
mov ecx, eax
lea eax, [ebx - 1]
or eax, 0x3fff
sar ecx, 0xe
inc eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x14]
test eax, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0xc], ecx
jne 0x4a8812
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xe]
imul eax, dword [edx + 4]
add eax, 0x1f
and eax, 0xffffffe0
cdq
and edx, 7
add eax, edx
mov ebx, eax
sar ebx, 3
jmp 0x4a8814
mov ebx, eax
mov edx, dword [esp + 0x88]
and edx, 0x80003fff
jns 0x4a882b
dec edx
or edx, 0xffffc000
inc edx
mov eax, 0x4000
je 0x4a883f
sub eax, edx
mov dword [esp + 0x40], eax
mov eax, 0x4000
jmp 0x4a8843
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x90]
and edx, 0x80003fff
jns 0x4a885a
dec edx
or edx, 0xffffc000
inc edx
mov dword [esp + 0x68], edx
jne 0x4a8864
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x8c]
and edx, 0x80003fff
jns 0x4a887b
dec edx
or edx, 0xffffc000
inc edx
je 0x4a888f
mov eax, 0x4000
sub eax, edx
mov dword [esp + 0x44], eax
mov eax, 0x4000
jmp 0x4a8893
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x94]
and edx, 0x80003fff
jns 0x4a88aa
dec edx
or edx, 0xffffc000
inc edx
mov dword [esp + 0x5c], edx
jne 0x4a88b4
mov dword [esp + 0x5c], eax
sub ecx, esi
cmp ecx, 1
mov dword [esp + 0x84], ecx
jne 0x4a88ca
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x38]
sub ecx, edi
cmp ecx, 1
jne 0x4a88dd
mov edx, dword [esp + 0x60]
mov dword [esp + 0x44], edx
fild dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
test ecx, ecx
fmul dword [0x5e9724]
fstp dword [esp + 0x24]
fild dword [esp + 0x44]
fmul dword [0x5e9724]
fstp dword [esp + 0x80]
fild dword [esp + 0x68]
fmul dword [0x5e9724]
fstp dword [esp + 0x28]
fild dword [esp + 0x5c]
fmul dword [0x5e9724]
fstp dword [esp + 0x60]
jne 0x4a892a
mov eax, dword [ebp + 8]
push eax
call fcn.00423880
mov ecx, eax
mov edx, dword [ebp + 8]
fld dword [ebp + 0x1c]
mov eax, dword [edx + 8]
fcomp dword [0x5e9720]
sub eax, edi
dec eax
imul eax, ebx
mov dword [esp + 0x3c], eax
mov eax, esi
imul eax, dword [esp + 0x20]
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x3c]
sar eax, 3
add edx, ecx
add eax, edx
mov dword [esp + 0x34], eax
neg ebx
fnstsw ax
test ah, 5
mov dword [esp + 0x3c], ebx
jp 0x4a8976
mov dword [esp + 0x2c], 0
jmp 0x4a8997
fld dword [ebp + 0x1c]
fcomp dword [0x5e971c]
fnstsw ax
test ah, 0x41
jne 0x4a8990
mov dword [esp + 0x2c], 0x3f800000
jmp 0x4a8997
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x2c], eax
fld dword [esp + 0x2c]
fmul dword [0x5e9718]
call fcn.005c4484
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov dword [esp + 0x58], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], edx
fld dword [esp + 0x48]
mov edx, dword [ecx + 8]
fmul dword [0x5e9648]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
call fcn.005c4484
fld dword [esp + 0x4c]
fmul dword [0x5e9648]
mov byte [esp + 0x1c], al
call fcn.005c4484
fld dword [esp + 0x50]
fmul dword [0x5e9648]
mov byte [esp + 0x1d], al
call fcn.005c4484
fld dword [esp + 0x54]
fmul dword [0x5e9648]
mov byte [esp + 0x1e], al
call fcn.005c4484
mov byte [esp + 0x1f], al
cmp dword [esp + 0x7c], 0x20
je 0x4a8b1b
fld dword [esp + 0x2c]
fmul dword [0x5e9648]
call fcn.005c4484
xor ebx, ebx
movzx edi, al
movzx eax, byte [esp + 0x1c]
movzx edx, bl
mov esi, edx
neg esi
add eax, esi
imul eax, edi
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8a5b
xor ecx, ecx
jmp 0x4a8a68
cmp ecx, 0xff
jle 0x4a8a68
mov ecx, 0xff
movzx eax, byte [esp + 0x1d]
add eax, esi
imul eax, edi
mov byte [esp + ebx + 0x2a8], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8a90
xor ecx, ecx
jmp 0x4a8a9d
cmp ecx, 0xff
jle 0x4a8a9d
mov ecx, 0xff
movzx eax, byte [esp + 0x1e]
add eax, esi
imul eax, edi
mov byte [esp + ebx + 0xa8], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8ac5
xor ecx, ecx
jmp 0x4a8ad2
cmp ecx, 0xff
jle 0x4a8ad2
mov ecx, 0xff
movzx eax, byte [esp + 0x1f]
add eax, esi
imul eax, edi
mov byte [esp + ebx + 0x1a8], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8afa
xor ecx, ecx
jmp 0x4a8b07
cmp ecx, 0xff
jle 0x4a8b07
mov ecx, 0xff
mov byte [esp + ebx + 0x3a8], cl
inc ebx
cmp ebx, 0x100
jl 0x4a8a33
mov eax, dword [ebp + 0x20]
test eax, eax
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
je 0x4a8f68
cmp ecx, edx
jge 0x4a9425
jmp 0x4a8b44
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x64]
cmp dword [esp + 0x7c], 0x20
je 0x4a8ccb
mov esi, dword [esp + 0x30]
cmp esi, ecx
mov eax, dword [esp + 0x58]
mov ebx, eax
jne 0x4a8b64
imul eax, dword [esp + 0x44]
jmp 0x4a8b6e
dec edx
cmp esi, edx
jne 0x4a8b7c
imul eax, dword [esp + 0x5c]
cdq
and edx, 0x3fff
add eax, edx
mov ebx, eax
sar ebx, 0xe
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp eax, ecx
mov dword [esp + 0x20], eax
jge 0x4a8f30
mov esi, dword [esp + 0x34]
add esi, 2
mov edi, eax
lea esp, [esp]
cmp edi, dword [esp + 0x10]
mov eax, ebx
je 0x4a8bf3
lea edx, [ecx - 1]
cmp edi, edx
jne 0x4a8bc0
imul eax, dword [esp + 0x68]
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
cmp eax, dword [esp + 0x58]
jne 0x4a8bfc
movzx eax, byte [esi - 2]
mov dl, byte [esp + eax + 0x2a8]
movzx eax, byte [esi - 1]
mov byte [esi - 2], dl
mov dl, byte [esp + eax + 0xa8]
movzx eax, byte [esi]
mov byte [esi - 1], dl
mov dl, byte [esp + eax + 0x1a8]
mov byte [esi], dl
jmp 0x4a8cb6
mov eax, ebx
imul eax, dword [esp + 0x40]
jmp 0x4a8bb4
imul eax, eax, 0xff
cdq
and edx, 0x3fff
add eax, edx
movzx edx, byte [esi - 2]
sar eax, 0xe
movzx edi, al
movzx eax, byte [esp + 0x1c]
sub eax, edx
imul eax, edi
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8c36
xor ecx, ecx
jmp 0x4a8c43
cmp ecx, 0xff
jle 0x4a8c43
mov ecx, 0xff
movzx edx, byte [esi - 1]
movzx eax, byte [esp + 0x1d]
sub eax, edx
imul eax, edi
mov byte [esi - 2], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8c6b
xor ecx, ecx
jmp 0x4a8c78
cmp ecx, 0xff
jle 0x4a8c78
mov ecx, 0xff
movzx edx, byte [esi]
movzx eax, byte [esp + 0x1e]
sub eax, edx
imul eax, edi
mov byte [esi - 1], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edx
jns 0x4a8c9f
xor ecx, ecx
jmp 0x4a8cac
cmp ecx, 0xff
jle 0x4a8cac
mov ecx, 0xff
mov edi, dword [esp + 0x20]
mov byte [esi], cl
mov ecx, dword [esp + 0xc]
add esi, 4
inc edi
cmp edi, ecx
mov dword [esp + 0x20], edi
jl 0x4a8ba0
jmp 0x4a8f30
mov eax, dword [esp + 0x30]
fld dword [esp + 0x2c]
cmp eax, ecx
jne 0x4a8ce6
fstp st(0)
fld dword [esp + 0x2c]
fmul dword [esp + 0x80]
jmp 0x4a8cf5
dec edx
cmp eax, edx
jne 0x4a8cf5
fstp st(0)
fld dword [esp + 0x2c]
fmul dword [esp + 0x60]
cmp dword [esp + 0x84], 4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
jl 0x4a8eb2
mov edx, dword [esp + 0xc]
fld dword [esp + 0x48]
fld dword [esp + 0x4c]
add edx, 0xfffffffd
fld dword [esp + 0x50]
mov dword [esp + 0x20], edx
mov edx, ecx
add edx, 2
mov esi, dword [esp + 0x10]
fld st(3)
cmp ecx, esi
je 0x4a8d9c
mov esi, dword [esp + 0xc]
dec esi
cmp ecx, esi
jne 0x4a8d42
fstp st(0)
fld st(3)
fmul dword [esp + 0x28]
fld dword [eax]
mov edi, dword [esp + 0x10]
fstp qword [esp + 0x14]
lea esi, [edx - 1]
cmp esi, edi
fld st(3)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax]
fld dword [eax + 4]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 4]
fstp st(0)
fld dword [eax + 8]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 8]
fstp st(0)
fstp st(0)
fld st(3)
je 0x4a8d8e
mov ebx, dword [esp + 0xc]
dec ebx
cmp esi, ebx
jne 0x4a8daa
cmp esi, edi
fstp st(0)
fld st(3)
jne 0x4a8da6
fmul dword [esp + 0x24]
jmp 0x4a8daa
fstp st(0)
fld st(3)
fmul dword [esp + 0x24]
jmp 0x4a8d42
fmul dword [esp + 0x28]
cmp edx, edi
fld dword [eax + 0x10]
fstp qword [esp + 0x14]
fld st(3)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax + 0x10]
fld dword [eax + 0x14]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x14]
fstp st(0)
fld dword [eax + 0x18]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x18]
fstp st(0)
fstp st(0)
fld st(3)
je 0x4a8e51
mov esi, dword [esp + 0xc]
dec esi
cmp edx, esi
jne 0x4a8df9
fstp st(0)
fld st(3)
fmul dword [esp + 0x28]
fld dword [eax + 0x20]
lea esi, [edx + 1]
cmp esi, edi
fstp qword [esp + 0x14]
fld st(3)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax + 0x20]
fld dword [eax + 0x24]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x24]
fstp st(0)
fld dword [eax + 0x28]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x28]
fstp st(0)
fstp st(0)
fld st(3)
je 0x4a8e43
mov ebx, dword [esp + 0xc]
dec ebx
cmp esi, ebx
jne 0x4a8e5f
cmp esi, edi
fstp st(0)
fld st(3)
jne 0x4a8e5b
fmul dword [esp + 0x24]
jmp 0x4a8e5f
fstp st(0)
fld st(3)
fmul dword [esp + 0x24]
jmp 0x4a8df9
fmul dword [esp + 0x28]
fld dword [eax + 0x30]
mov esi, dword [esp + 0x20]
fstp qword [esp + 0x14]
add ecx, 4
fld st(3)
add eax, 0x40
fsub qword [esp + 0x14]
add edx, 4
cmp ecx, esi
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 0xc]
fstp st(0)
fld dword [eax - 8]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 8]
fstp st(0)
fstp st(0)
jl 0x4a8d27
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0xc]
cmp ecx, edx
jge 0x4a8f2e
fld dword [esp + 0x48]
mov esi, dword [esp + 0x10]
fld dword [esp + 0x4c]
fld dword [esp + 0x50]
lea ebx, [ebx]
cmp ecx, esi
fld st(3)
je 0x4a8f5e
lea edi, [edx - 1]
cmp ecx, edi
jne 0x4a8ee9
fstp st(0)
fld st(3)
fmul dword [esp + 0x28]
fld dword [eax]
add eax, 0x10
fstp qword [esp + 0x14]
inc ecx
cmp ecx, edx
fld st(3)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 0xc]
fstp st(0)
fld dword [eax - 8]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 8]
fstp st(0)
fstp st(0)
jl 0x4a8ed0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add esi, eax
mov eax, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
jl 0x4a8b3c
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
fstp st(0)
fld st(3)
fmul dword [esp + 0x24]
jmp 0x4a8ee9
cmp ecx, edx
jge 0x4a9425
jmp 0x4a8f80
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x64]
lea ebx, [ebx]
cmp dword [esp + 0x7c], 0x20
je 0x4a9143
mov esi, dword [esp + 0x30]
cmp esi, ecx
mov eax, dword [esp + 0x58]
mov ebx, eax
jne 0x4a8fa0
imul eax, dword [esp + 0x44]
jmp 0x4a8faa
dec edx
cmp esi, edx
jne 0x4a8fb8
imul eax, dword [esp + 0x5c]
cdq
and edx, 0x3fff
add eax, edx
mov ebx, eax
sar ebx, 0xe
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp eax, ecx
mov dword [esp + 0x20], eax
jge 0x4a9402
mov esi, dword [esp + 0x34]
add esi, 2
mov edi, eax
cmp edi, dword [esp + 0x10]
mov eax, ebx
je 0x4a9036
lea edx, [ecx - 1]
cmp edi, edx
jne 0x4a8ff5
imul eax, dword [esp + 0x68]
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
cmp eax, dword [esp + 0x58]
jne 0x4a903f
movzx eax, byte [esi - 2]
mov dl, byte [esp + eax + 0x2a8]
movzx eax, byte [esi - 1]
mov byte [esi - 2], dl
mov dl, byte [esp + eax + 0xa8]
movzx eax, byte [esi]
mov byte [esi - 1], dl
mov dl, byte [esp + eax + 0x1a8]
movzx eax, byte [esi + 1]
mov byte [esi], dl
mov dl, byte [esp + eax + 0x3a8]
mov byte [esi + 1], dl
jmp 0x4a912e
mov eax, ebx
imul eax, dword [esp + 0x40]
jmp 0x4a8fe9
movzx edi, byte [esi - 2]
imul eax, eax, 0xff
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movzx edx, al
movzx eax, byte [esp + 0x1c]
sub eax, edi
imul eax, edx
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edi
jns 0x4a9079
xor ecx, ecx
jmp 0x4a9086
cmp ecx, 0xff
jle 0x4a9086
mov ecx, 0xff
movzx edi, byte [esi - 1]
movzx eax, byte [esp + 0x1d]
sub eax, edi
imul eax, edx
mov byte [esi - 2], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edi
jns 0x4a90ae
xor ecx, ecx
jmp 0x4a90bb
cmp ecx, 0xff
jle 0x4a90bb
mov ecx, 0xff
movzx edi, byte [esi]
movzx eax, byte [esp + 0x1e]
sub eax, edi
imul eax, edx
mov byte [esi - 1], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edi
jns 0x4a90e2
xor ecx, ecx
jmp 0x4a90ef
cmp ecx, 0xff
jle 0x4a90ef
mov ecx, 0xff
movzx edi, byte [esi + 1]
movzx eax, byte [esp + 0x1f]
sub eax, edi
imul eax, edx
mov byte [esi], cl
add eax, 0x80
mov ecx, eax
sar ecx, 8
add ecx, eax
sar ecx, 8
add ecx, edi
jns 0x4a9116
xor ecx, ecx
jmp 0x4a9123
cmp ecx, 0xff
jle 0x4a9123
mov ecx, 0xff
mov edi, dword [esp + 0x20]
mov byte [esi + 1], cl
mov ecx, dword [esp + 0xc]
add esi, 4
inc edi
cmp edi, ecx
mov dword [esp + 0x20], edi
jl 0x4a8fd5
jmp 0x4a9402
mov eax, dword [esp + 0x30]
fld dword [esp + 0x2c]
cmp eax, ecx
jne 0x4a915e
fstp st(0)
fld dword [esp + 0x2c]
fmul dword [esp + 0x80]
jmp 0x4a916d
dec edx
cmp eax, edx
jne 0x4a916d
fstp st(0)
fld dword [esp + 0x2c]
fmul dword [esp + 0x60]
cmp dword [esp + 0x84], 4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
jl 0x4a9370
mov edx, dword [esp + 0xc]
fld dword [esp + 0x48]
fld dword [esp + 0x4c]
add edx, 0xfffffffd
fld dword [esp + 0x50]
mov dword [esp + 0x20], edx
fld dword [esp + 0x54]
mov edx, ecx
add edx, 2
mov esi, dword [esp + 0x10]
fld st(4)
cmp ecx, esi
je 0x4a9228
mov esi, dword [esp + 0xc]
dec esi
cmp ecx, esi
jne 0x4a91be
fstp st(0)
fld st(4)
fmul dword [esp + 0x28]
fld dword [eax]
mov edi, dword [esp + 0x10]
fstp qword [esp + 0x14]
lea esi, [edx - 1]
cmp esi, edi
fld st(4)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax]
fld dword [eax + 4]
fld st(4)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 4]
fstp st(0)
fld dword [eax + 8]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 8]
fstp st(0)
fld dword [eax + 0xc]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0xc]
fstp st(0)
fstp st(0)
fld st(4)
je 0x4a921a
mov ebx, dword [esp + 0xc]
dec ebx
cmp esi, ebx
jne 0x4a9236
cmp esi, edi
fstp st(0)
fld st(4)
jne 0x4a9232
fmul dword [esp + 0x24]
jmp 0x4a9236
fstp st(0)
fld st(4)
fmul dword [esp + 0x24]
jmp 0x4a91be
fmul dword [esp + 0x28]
cmp edx, edi
fld dword [eax + 0x10]
fstp qword [esp + 0x14]
fld st(4)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax + 0x10]
fld dword [eax + 0x14]
fld st(4)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x14]
fstp st(0)
fld dword [eax + 0x18]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x18]
fstp st(0)
fld dword [eax + 0x1c]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x1c]
fstp st(0)
fstp st(0)
fld st(4)
je 0x4a92fd
mov esi, dword [esp + 0xc]
dec esi
cmp edx, esi
jne 0x4a9295
fstp st(0)
fld st(4)
fmul dword [esp + 0x28]
fld dword [eax + 0x20]
lea esi, [edx + 1]
cmp esi, edi
fstp qword [esp + 0x14]
fld st(4)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax + 0x20]
fld dword [eax + 0x24]
fld st(4)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x24]
fstp st(0)
fld dword [eax + 0x28]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x28]
fstp st(0)
fld dword [eax + 0x2c]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax + 0x2c]
fstp st(0)
fstp st(0)
fld st(4)
je 0x4a92ef
mov ebx, dword [esp + 0xc]
dec ebx
cmp esi, ebx
jne 0x4a930b
cmp esi, edi
fstp st(0)
fld st(4)
jne 0x4a9307
fmul dword [esp + 0x24]
jmp 0x4a930b
fstp st(0)
fld st(4)
fmul dword [esp + 0x24]
jmp 0x4a9295
fmul dword [esp + 0x28]
fld dword [eax + 0x30]
mov esi, dword [esp + 0x20]
fstp qword [esp + 0x14]
add ecx, 4
fld st(4)
add eax, 0x40
fsub qword [esp + 0x14]
add edx, 4
cmp ecx, esi
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fld st(4)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 0xc]
fstp st(0)
fld dword [eax - 8]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 8]
fstp st(0)
fld dword [eax - 4]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 4]
fstp st(0)
fstp st(0)
jl 0x4a91a3
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0xc]
cmp ecx, edx
jge 0x4a9400
fld dword [esp + 0x48]
mov esi, dword [esp + 0x10]
fld dword [esp + 0x4c]
fld dword [esp + 0x50]
fld dword [esp + 0x54]
cmp ecx, esi
fld st(4)
je 0x4a9430
lea edi, [edx - 1]
cmp ecx, edi
jne 0x4a93a9
fstp st(0)
fld st(4)
fmul dword [esp + 0x28]
fld dword [eax]
add eax, 0x10
fstp qword [esp + 0x14]
inc ecx
cmp ecx, edx
fld st(4)
fsub qword [esp + 0x14]
fmul st(1)
fadd qword [esp + 0x14]
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fld st(4)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 0xc]
fstp st(0)
fld dword [eax - 8]
fld st(3)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 8]
fstp st(0)
fld dword [eax - 4]
fld st(2)
fsub st(1)
fmul st(2)
fadd st(1)
fstp dword [eax - 4]
fstp st(0)
fstp st(0)
jl 0x4a9390
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add esi, eax
mov eax, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
jl 0x4a8f72
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x20
fstp st(0)
fld st(4)
fmul dword [esp + 0x24]
jmp 0x4a93a9