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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5f54b8
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
push ebx
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0x2f8]
mov dword fs:[0], eax
lea ecx, [esp + 0x234]
call fcn.004e3630
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x3dc]
xorps xmm0, xmm0
mov edx, dword [ebx + 0x41c]
mov ecx, eax
shl ecx, 4
sub ecx, eax
movsd qword [esp + 0x13c], xmm0
movsd qword [esp + 0x134], xmm0
movsd qword [esp + 0x12c], xmm0
mov esi, dword [edx + ecx*4]
test eax, eax
jge 0x541c8d
xor edi, edi
jmp 0x541c91
lea edi, [eax + eax + 1]
push 0xffffffffffffffff
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x23c]
push ecx
mov ecx, ebx
mov dword [esp + 0x48], edi
call fcn.005331d0
cmp esi, eax
je 0x541d40
cmp byte [ebx + 0x383], 0
jne 0x541d11
push str.Invalid_File_Parameter_Data___
lea ecx, [ebx + 0x2e8]
call fcn.0042f6f0
mov esi, eax
cmp byte [esi + 0x9c], 0
je 0x541ce4
push edi
lea ecx, [esi + 0x10]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push 0x5fcfd8
mov ecx, esi
call fcn.0042f6f0
cmp byte [eax + 0x9c], 0
je 0x541d11
lea edx, [eax + 8]
test edx, edx
je 0x541d05
add eax, 0x10
jmp 0x541d07
xor eax, eax
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 4
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x238]
push ecx
mov ecx, ebx
call fcn.00532f60
xor eax, eax
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x144]
lea edx, [esp + 0x60]
push edx
call fcn.00532920
mov eax, dword [esp + 0x60]
test eax, eax
jg 0x541d62
mov dword [esp + 0x60], 0xffffffff
jmp 0x541d6c
dec eax
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
mov ecx, dword [ebx + 0x144]
lea eax, [esp + 0x8c]
push eax
call fcn.00532920
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [ebx + 0x144]
lea edx, [esp + 0x48]
push edx
call fcn.00532a40
movq xmm0, qword [ebx + 0x1f0]
lea esi, [ebx + 0x1a8]
mov ecx, 0x12
lea edi, [esp + 0x27c]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x12c]
movq qword [esp + 0x14c], xmm0
movq xmm0, qword [ebx + 0x1f8]
push eax
lea ecx, [esp + 0x238]
movq qword [esp + 0x158], xmm0
movq xmm0, qword [ebx + 0x200]
push ecx
mov ecx, ebx
movq qword [esp + 0x164], xmm0
call fcn.00532f60
xorps xmm0, xmm0
xor edi, edi
mov byte [esp + 0xd0], 1
mov dword [esp + 0xd4], edi
mov dword [esp + 0xcc], vtable.CGeom_Point.0
movsd qword [esp + 0xec], xmm0
movsd qword [esp + 0xe4], xmm0
movsd qword [esp + 0xdc], xmm0
mov dword [esp + 0xd8], 0xa
mov eax, dword [esp + 0x60]
push 1
push eax
push ebx
mov dword [esp + 0x30c], edi
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xc8], xmm0
movsd qword [esp + 0xc0], xmm0
mov dword [ebx + 0x3dc], eax
call fcn.004f3880
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x541d28
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x27c]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x14c]
push ecx
mov ecx, esi
call edx
xorps xmm0, xmm0
lea ecx, [esp + 0x124]
push ecx
movsd qword [esp + 0x120], xmm0
movsd qword [esp + 0x118], xmm0
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [esi + 0x10]
lea edx, [esp + 0xb8]
push edx
movsd qword [esp + 0x12c], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
lea ecx, [esp + 0x114]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [esp + 0x10c]
movq qword [esp + 0xdc], xmm0
movq xmm0, qword [esp + 0x114]
movq qword [esp + 0xe4], xmm0
movq xmm0, qword [esp + 0x11c]
lea ecx, [esp + 0xb4]
movq qword [esp + 0xec], xmm0
call fcn.004a8b50
fstp st(0)
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x19c]
call fcn.00569ef0
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
mov byte [esp + 0x304], 1
call eax
push 1
lea ecx, [esp + 0x84]
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], edi
mov dword [esp + 0x84], edi
call fcn.004587b0
mov ecx, dword [esp + 0x8c]
push ecx
lea edx, [esp + 0x84]
push edx
mov ecx, ebx
mov byte [esp + 0x308], 2
call fcn.00533300
mov esi, eax
mov dword [esp + 0x90], esi
cmp esi, edi
jne 0x541fdd
mov eax, dword [esp + 0x80]
cmp eax, edi
je 0x541fc5
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push esi
mov dword [esp + 0x5c], edi
call fcn.004587b0
xorps xmm5, xmm5
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [esp + 0x4c]
comisd xmm0, xmm1
movapd xmm2, xmm5
movsd qword [esp + 0x74], xmm2
movsd qword [esp + 0x94], xmm5
jbe 0x5420bf
cmp byte [ebx + 0x383], 0
jne 0x5420a7
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
fld qword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
push eax
sub esp, 8
fstp qword [esp]
push 0x5fed08
fld qword [esp + 0x54]
sub esp, 8
fstp qword [esp]
push str.___umin___umax_:
push 0x5fcfd8
push ecx
push str.Invalid_File_Parameter_Data___
lea ecx, [ebx + 0x2e8]
call fcn.0042f6f0
mov ecx, eax
call fcn.00432040
mov ecx, eax
call fcn.0042f6f0
mov ecx, eax
call fcn.0042f6f0
mov ecx, eax
call fcn.0045a180
mov ecx, eax
call fcn.0042f6f0
mov ecx, eax
call fcn.0045a180
mov ecx, eax
call fcn.0042e970
movsd xmm1, qword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
movsd xmm2, qword [esp + 0x74]
xorps xmm5, xmm5
movapd xmm3, xmm0
movapd xmm0, xmm1
movapd xmm1, xmm3
movsd qword [esp + 0x44], xmm0
movsd qword [esp + 0x4c], xmm1
movsd xmm6, qword [0x5fd4b8]
comisd xmm6, xmm0
movsd xmm3, qword [0x616648]
jbe 0x54213f
movsd xmm4, qword [0x5fc860]
movapd xmm7, xmm0
andpd xmm7, xmm4
subsd xmm7, xmm3
andpd xmm7, xmm4
movsd xmm4, qword [0x5fc898]
comisd xmm4, xmm7
ja 0x5421ae
comisd xmm4, xmm1
jbe 0x542133
movapd xmm2, xmm5
subsd xmm2, xmm3
movapd xmm7, xmm3
addsd xmm7, xmm0
addsd xmm3, xmm1
movapd xmm0, xmm7
movapd xmm1, xmm3
movsd qword [esp + 0x74], xmm2
movsd qword [esp + 0x44], xmm0
movsd qword [esp + 0x4c], xmm1
comisd xmm6, xmm0
jbe 0x5421b4
comisd xmm1, xmm4
jmp 0x54218f
movsd xmm7, qword [0x5fc898]
movapd xmm6, xmm3
addsd xmm6, xmm7
comisd xmm1, xmm6
jbe 0x5421b4
movapd xmm4, xmm3
subsd xmm4, xmm7
comisd xmm0, xmm4
jbe 0x542185
movapd xmm2, xmm3
addsd xmm2, xmm5
subsd xmm0, xmm3
subsd xmm1, xmm3
movsd qword [esp + 0x74], xmm2
movsd qword [esp + 0x44], xmm0
movsd qword [esp + 0x4c], xmm1
comisd xmm4, xmm0
jbe 0x5421b4
comisd xmm1, xmm6
jbe 0x5421b4
subsd xmm1, xmm0
addsd xmm2, xmm0
movsd qword [esp + 0x4c], xmm1
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0x74], xmm2
movsd qword [esp + 0x44], xmm5
cmp esi, edi
mov dword [esp + 0x3c], edi
jle 0x5428cf
mov esi, edi
jmp 0x5421d0
mov eax, dword [esp + 0x80]
mov edx, dword [eax + esi*4]
mov dword [ebx + 0x3dc], edx
mov eax, dword [eax + esi*4]
push 0
push eax
push ebx
call fcn.004f3880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5428bd
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x27c]
push eax
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0x14c]
push ecx
mov ecx, edi
call edx
push 0x120
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x300], 3
test eax, eax
je 0x542243
mov ecx, eax
call fcn.0051e7f0
mov esi, eax
jmp 0x542245
xor esi, esi
fld qword [esp + 0x94]
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0xbc]
push ecx
lea edx, [esp + 0xd8]
push edx
mov ecx, edi
mov byte [esp + 0x310], 2
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x28]
mov ecx, edi
call eax
mov dword [esi + 0xc8], eax
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov edi, dword [esi + 0xc8]
lea ecx, [esp + 0x194]
push ecx
lea ecx, [esi + 0xd0]
call fcn.00444db0
fld qword [0x616648]
push 0x20
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fldz
fstp qword [esp]
push 0
push 0
call fcn.004703e0
mov byte [esi + 0x18], 1
fld qword [0x616648]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.00468b50
fld qword [esp + 0x4c]
mov edx, dword [esi]
mov eax, dword [edx + 0x58]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fld qword [esp + 0x54]
fstp qword [esp]
call eax
mov eax, dword [edi + 0x3c]
cmp eax, 1
jg 0x542303
mov eax, 1
cmp eax, 0x64
mov dword [esi + 0x14], eax
jl 0x542310
mov eax, 0x64
mov dword [esi + 0x14], eax
mov cl, byte [edi + 0x38]
mov byte [esi + 0x19], cl
movsd xmm1, qword [edi + 0x10]
movsd qword [esi + 0x40], xmm1
movsd xmm0, qword [edi + 0x18]
movsd qword [esi + 0x48], xmm0
subsd xmm0, xmm1
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [esi + 0x28], xmm0
fld qword [edi + 0x18]
fld qword [edi + 0x10]
push 0
sub esp, 0x10
fxch st(1)
fstp qword [esp + 8]
mov ecx, esi
fstp qword [esp]
call fcn.00468a30
cmp byte [edi + 0x39], 0
movsd xmm0, qword [edi + 0x20]
movsd qword [esp + 0x144], xmm0
je 0x542383
fld qword [esp + 0x144]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.00468b90
jmp 0x54239c
cmp byte [esi + 0x19], 0
je 0x54239c
movsd xmm0, qword [edi + 0x18]
movsd xmm1, qword [edi + 0x10]
subsd xmm0, xmm1
movsd qword [esi + 0x78], xmm0
mov ecx, esi
call fcn.0053b180
cmp dword [edi + 0xc], 0xe
jne 0x542828
cmp byte [esi + 0x1e], 0
jne 0x542828
cmp byte [esi + 0x1f], 0
jne 0x542828
push 0xe0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x300], 4
test eax, eax
je 0x5423fb
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0xd0]
push edx
mov ecx, eax
call fcn.004edcf0
mov dword [esp + 0x5c], eax
jmp 0x542403
mov dword [esp + 0x5c], 0
fld qword [0x5ff758]
mov eax, dword [esp + 0x5c]
push 0
sub esp, 8
fstp qword [esp]
push eax
push edi
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x314], 2
call fcn.00571c10
mov ecx, dword [esp + 0x224]
mov byte [esp + 0x300], 5
test ecx, ecx
jle 0x5427c7
cmp ecx, 4
movsd xmm2, qword [edi + 0x10]
movsd xmm0, qword [edi + 0x18]
movsd xmm4, qword [0x5ff780]
movsd qword [esp + 0x6c], xmm2
movsd qword [esp + 0x64], xmm0
mov byte [esp + 0x3b], 0
mov dword [esp + 0x40], 0
jl 0x5425b6
mov edx, dword [esp + 0x220]
lea eax, [ecx - 4]
shr eax, 2
add edx, 0x20
inc eax
lea ebx, [eax*4]
movapd xmm3, xmm2
addsd xmm3, xmm4
mov dword [esp + 0x40], ebx
lea ebx, [ebx]
movsd xmm1, qword [edx - 0x20]
comisd xmm1, xmm3
jbe 0x5424e2
movapd xmm5, xmm0
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x5424e2
movapd xmm5, xmm1
movapd xmm6, xmm0
subsd xmm5, xmm2
subsd xmm6, xmm1
comisd xmm6, xmm5
mov byte [esp + 0x3b], 1
jbe 0x5424dc
movsd qword [esp + 0x6c], xmm1
jmp 0x5424e2
movsd qword [esp + 0x64], xmm1
movsd xmm1, qword [edx - 0x10]
comisd xmm1, xmm3
jbe 0x542524
movapd xmm5, xmm0
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x542524
movapd xmm5, xmm1
movapd xmm6, xmm0
subsd xmm5, xmm2
subsd xmm6, xmm1
comisd xmm6, xmm5
mov byte [esp + 0x3b], 1
jbe 0x54251e
movsd qword [esp + 0x6c], xmm1
jmp 0x542524
movsd qword [esp + 0x64], xmm1
movsd xmm1, qword [edx]
comisd xmm1, xmm3
jbe 0x542565
movapd xmm5, xmm0
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x542565
movapd xmm5, xmm1
movapd xmm6, xmm0
subsd xmm5, xmm2
subsd xmm6, xmm1
comisd xmm6, xmm5
mov byte [esp + 0x3b], 1
jbe 0x54255f
movsd qword [esp + 0x6c], xmm1
jmp 0x542565
movsd qword [esp + 0x64], xmm1
movsd xmm1, qword [edx + 0x10]
comisd xmm1, xmm3
jbe 0x5425a7
movapd xmm5, xmm0
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x5425a7
movapd xmm5, xmm1
movapd xmm6, xmm0
subsd xmm5, xmm2
subsd xmm6, xmm1
comisd xmm6, xmm5
mov byte [esp + 0x3b], 1
jbe 0x5425a1
movsd qword [esp + 0x6c], xmm1
jmp 0x5425a7
movsd qword [esp + 0x64], xmm1
add edx, 0x40
sub eax, 1
jne 0x5424a0
mov ebx, dword [ebp + 0xc]
mov eax, dword [esp + 0x40]
cmp eax, ecx
jge 0x54261d
shl eax, 4
add eax, dword [esp + 0x220]
sub ecx, dword [esp + 0x40]
movapd xmm3, xmm2
addsd xmm3, xmm4
movsd xmm1, qword [eax]
comisd xmm1, xmm3
jbe 0x542615
movapd xmm5, xmm0
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x542615
movapd xmm5, xmm1
movapd xmm6, xmm0
subsd xmm5, xmm2
subsd xmm6, xmm1
comisd xmm6, xmm5
mov byte [esp + 0x3b], 1
jbe 0x54260f
movsd qword [esp + 0x6c], xmm1
jmp 0x542615
movsd qword [esp + 0x64], xmm1
add eax, 0x10
sub ecx, 1
jne 0x5425d4
cmp byte [esp + 0x3b], 0
je 0x5427c7
fld qword [esp + 0x64]
mov edx, dword [edi]
mov eax, dword [edx + 0x48]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, edi
fld qword [esp + 0x7c]
fstp qword [esp]
call eax
mov edx, dword [edi]
fld qword [esp + 0x6c]
mov edx, dword [edx + 0x68]
sub esp, 8
lea eax, [esp + 0x16c]
fstp qword [esp]
push eax
mov ecx, edi
call edx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x1b8]
push ecx
lea edx, [esp + 0xfc]
push edx
lea ecx, [esp + 0x170]
call fcn.0042e9d0
movsd xmm0, qword [esp + 0xf4]
subsd xmm0, qword [esp + 0x164]
movsd qword [esp + 0x9c], xmm0
movsd xmm0, qword [esp + 0xfc]
subsd xmm0, qword [esp + 0x16c]
movsd qword [esp + 0xa4], xmm0
movsd xmm0, qword [esp + 0x104]
subsd xmm0, qword [esp + 0x174]
lea ecx, [esp + 0x9c]
movsd qword [esp + 0xac], xmm0
call fcn.004a88b0
fld qword [0x5ff758]
fcompi st(1)
fstp st(0)
jbe 0x5426ef
mov byte [esi + 0x1e], 1
fld qword [esp + 0x64]
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
sub esp, 8
lea ecx, [esp + 0x184]
fstp qword [esp]
push ecx
mov ecx, edi
call edx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x1b8]
push ecx
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x188]
call fcn.0042e9d0
movq xmm0, qword [eax]
movsd qword [esp + 0xf4], xmm0
movq xmm1, qword [eax + 8]
subsd xmm0, qword [esp + 0x17c]
movsd qword [esp + 0xfc], xmm1
movq xmm2, qword [eax + 0x10]
subsd xmm1, qword [esp + 0x184]
movsd qword [esp + 0x104], xmm2
subsd xmm2, qword [esp + 0x18c]
lea ecx, [esp + 0x9c]
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xa4], xmm1
movsd qword [esp + 0xac], xmm2
call fcn.004a88b0
fld qword [0x5ff758]
fcompi st(1)
fstp st(0)
jbe 0x5427a9
mov byte [esi + 0x1f], 1
fld qword [esp + 0x64]
push 0
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fld qword [esp + 0x80]
fstp qword [esp]
call fcn.00468a30
cmp dword [esp + 0x5c], 0
je 0x5427da
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp byte [esi + 0x1e], 0
jne 0x542814
cmp byte [esi + 0x1f], 0
jne 0x542814
fld qword [0x616648]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.00468b90
fld qword [0x616648]
push 0
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fldz
fstp qword [esp]
call fcn.00468a30
lea ecx, [esp + 0x1e4]
mov byte [esp + 0x300], 2
call fcn.0056a8b0
cmp dword [esp + 0x58], 0
jne 0x5428a8
movsd xmm0, qword [esp + 0x74]
mov byte [ebx + 0x14d], 1
mov byte [ebx + 0x14c], 1
movsd qword [ebx + 0x160], xmm0
xorps xmm0, xmm0
movsd qword [ebx + 0x168], xmm0
movsd xmm0, qword [0x5fb270]
movsd qword [ebx + 0x178], xmm0
movsd qword [ebx + 0x170], xmm0
mov eax, dword [edi + 0xc]
cmp eax, 0xe
je 0x5428a8
cmp eax, 0xc
jne 0x542890
fld qword [0x5ff790]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.004f0b50
jmp 0x5428a2
fld qword [ebx + 0x2d0]
fstp qword [ebx + 0x168]
fld qword [ebx + 0x2d8]
fstp qword [ebx + 0x178]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [esp + 0x58]
mov dword [ecx + eax*4], esi
mov esi, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x58], eax
inc esi
cmp esi, dword [esp + 0x90]
mov dword [esp + 0x3c], esi
jl 0x5421d0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5428e4
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret