Function at 0x491330
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6dd27f
mov eax, dword fs:[0]
push eax
sub esp, 0x208
mov eax, dword [0x7ce4e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x184], eax
mov ecx, dword [eax + 0x17c]
test ecx, ecx
je 0x492014
cmp dword [eax + 0x188], 0
je 0x492014
xorps xmm0, xmm0
mov dword [ebp - 0x194], fcn.005cff37
movups xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x190], fcn.005cfea2
mov dword [ebp - 0x18c], fcn.005cff1c
lea eax, [ebp - 0x1a4]
mov dword [ebp - 4], 0
push eax
call fcn.00494630
test al, al
je 0x491fc6
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x188], 0
test ecx, ecx
jne 0x4913e6
mov dword [ebp - 0x164], 3
jmp 0x491d40
mov eax, fcn.005cff1c
mov dword [ebp - 0x1cc], fcn.005cff37
xorps xmm0, xmm0
mov dword [ebp - 0x1c8], fcn.005cfea2
movups xmmword [ebp - 0x1dc], xmm0
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x1c4], eax
mov edi, fcn.005cff1c
mov dword [ebp - 0x1c], fcn.005cff37
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], fcn.005cfea2
mov dword [ebp - 0x170], edi
mov dword [ebp - 0x14], edi
movups xmmword [ebp - 0x1c0], xmm0
mov dword [ebp - 0x1b0], fcn.005cff37
mov dword [ebp - 0x1ac], fcn.005cfea2
mov dword [ebp - 0x1a8], fcn.005cff1c
movups xmmword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x1e8], fcn.005cff37
mov dword [ebp - 0x1e4], fcn.005cfea2
mov dword [ebp - 0x1e0], fcn.005cff1c
xor edx, edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x178], edx
test ecx, ecx
jle 0x491816
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x164], eax
nop word [eax + eax]
imul edi, edx, 0x124
add edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x174], edi
mov esi, dword [edi + 4]
test esi, esi
je 0x49152e
mov cl, byte [edi + 0x11c]
lea eax, [edi + 0xc]
mov byte [ebp - 0x165], cl
test cl, cl
jne 0x4914ef
mov eax, dword [edi + 8]
cmp word [eax + 4], 0xd
je 0x49152e
lea eax, [edi + 0xc]
test cl, cl
jne 0x491500
mov eax, dword [edi + 8]
cmp word [eax + 4], 0xa
je 0x49152e
xor edx, edx
test esi, esi
je 0x49152e
lea ecx, [edx + 4]
cmp byte [ebp - 0x165], 0
lea eax, [edi + 0xc]
jne 0x49151f
mov eax, dword [edi + 8]
cmp word [ecx + eax], 0x20
jne 0x491573
inc edx
add ecx, 2
cmp edx, esi
jb 0x491510
lea ecx, [ebp - 0x1dc]
push edi
call fcn.0048f120
mov esi, dword [ebp - 0x160]
mov edx, dword [ebp - 0x178]
inc edx
mov dword [ebp - 0x178], edx
cmp edx, dword [ebp - 0x1a0]
jl 0x4914c0
mov eax, dword [ebp - 0x1c4]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edi
jmp 0x49183a
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x180], 0
call fcn.004814f0
xor esi, esi
cmp byte [eax], 0
lea ecx, [eax + 4]
cmovne esi, ecx
test esi, esi
je 0x4915ec
cmp byte [edi + 0x11c], 0
lea eax, [edi + 0xc]
jne 0x4915aa
mov eax, dword [edi + 8]
mov dword [ebp - 0x170], eax
call fcn.004814f0
push 0x800
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x17c]
push eax
mov eax, dword [ebp - 0x170]
push esi
add eax, 4
push eax
call fcn.00481640
cmp dword [ebp - 0x17c], 0x208
jle 0x4915ec
lea ecx, [ebp - 0x2c]
jmp 0x491534
call fcn.0047f520
mov dword [ebp - 0x17c], 0
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x180], ecx
test ecx, ecx
jle 0x491682
mov esi, dword [eax + 0x30]
mov cl, byte [edi + 0x11c]
add esi, 0x18
test cl, cl
lea ecx, [edi + 0xc]
jne 0x49161e
mov ecx, dword [edi + 8]
cmp byte [esi + 0x110], 0
mov eax, esi
jne 0x49162c
mov eax, dword [esi - 4]
add ecx, 4
add eax, 4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x491658
test dx, dx
je 0x491654
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x491658
add eax, 4
add ecx, 4
test dx, dx
jne 0x491632
xor eax, eax
jmp 0x49165d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4916c9
mov ecx, dword [ebp - 0x17c]
add esi, 0x130
inc ecx
cmp ecx, dword [ebp - 0x180]
mov dword [ebp - 0x17c], ecx
mov cl, byte [edi + 0x11c]
jl 0x491614
xor esi, esi
cmp dword [ebp - 0x160], esi
jle 0x491777
mov edi, dword [ebp - 0x164]
nop word [eax + eax]
push dword [ebp - 0x174]
mov ecx, edi
call fcn.0049a010
test al, al
jne 0x491769
inc esi
add edi, 0x124
cmp esi, dword [ebp - 0x160]
jl 0x4916a0
jmp 0x491771
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x1b8]
cmp ecx, edx
jne 0x49173d
test edx, edx
jne 0x4916e2
lea esi, [edx + 1]
jmp 0x4916f9
lea esi, [ecx + ecx]
test esi, esi
js 0x49153a
cmp esi, 0x70381c
ja 0x49153a
cmp esi, edx
jle 0x49173d
mov ecx, dword [ebp - 0x1c0]
imul eax, esi, 0x124
push eax
test ecx, ecx
jne 0x491718
call fcn.005cff37
add esp, 4
jmp 0x491721
push ecx
call fcn.005cfea2
add esp, 8
test eax, eax
je 0x49153a
mov ecx, dword [ebp - 0x16c]
mov edx, esi
mov dword [ebp - 0x1b8], edx
mov dword [ebp - 0x1c0], eax
imul ecx, ecx, 0x124
add ecx, dword [ebp - 0x1c0]
je 0x491751
push edi
call fcn.00499b00
mov ecx, dword [ebp - 0x16c]
inc ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x1bc], ecx
jmp 0x49153a
test esi, esi
jns 0x49153a
mov edi, dword [ebp - 0x174]
mov esi, dword [ebp - 0x160]
mov edx, dword [ebp - 0x1f0]
cmp esi, edx
jne 0x4917f0
test edx, edx
jne 0x491790
lea esi, [edx + 1]
jmp 0x4917a4
add esi, esi
js 0x49153a
cmp esi, 0x70381c
ja 0x49153a
cmp esi, edx
jle 0x4917ea
mov ecx, dword [ebp - 0x164]
imul eax, esi, 0x124
push eax
test ecx, ecx
jne 0x4917c3
call fcn.005cff37
add esp, 4
jmp 0x4917cc
push ecx
call fcn.005cfea2
add esp, 8
test eax, eax
je 0x49153a
mov ecx, eax
mov edx, esi
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x1f8], ecx
mov esi, dword [ebp - 0x160]
imul ecx, esi, 0x124
add ecx, dword [ebp - 0x164]
je 0x491804
push edi
call fcn.00499b00
inc esi
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x1f4], esi
jmp 0x491540
mov eax, dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00494f10
test esi, esi
jne 0x4918c3
cmp dword [ebp - 0x28], 0
mov esi, 3
mov ecx, dword [ebp - 0x16c]
mov eax, 4
cmovne esi, eax
mov dword [ebp - 0x164], esi
test ecx, ecx
je 0x491881
mov dword [ebp - 0x164], 2
mov dword [ebp - 0x188], ecx
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 6
call fcn.0048f260
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 7
call fcn.0048f260
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.0048f260
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 9
call fcn.0048f260
mov byte [ebp - 4], 0
jmp 0x491d3a
call fcn.0047f520
mov eax, dword [eax + 0x34]
add eax, esi
cmp eax, 0x15e
jle 0x4919a4
call fcn.0047f520
mov esi, 0x15e
mov dword [ebp - 0x204], fcn.005cff37
xorps xmm0, xmm0
mov dword [ebp - 0x200], fcn.005cfea2
movups xmmword [ebp - 0x214], xmm0
sub esi, dword [eax + 0x34]
mov dword [ebp - 0x1fc], fcn.005cff1c
mov byte [ebp - 4], 0xa
test esi, esi
jle 0x491937
mov edi, dword [ebp - 0x164]
nop dword [eax + eax]
push edi
lea ecx, [ebp - 0x214]
call fcn.0048f120
add edi, 0x124
sub esi, 1
jne 0x491920
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00494f10
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0xb
call fcn.0048f260
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0xc
call fcn.0048f260
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0xd
call fcn.0048f260
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.0048f260
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0xf
call fcn.0048f260
mov byte [ebp - 4], 0
mov dword [ebp - 0x164], 1
jmp 0x491d3a
mov eax, dword [ebp - 0x16c]
test eax, eax
jle 0x491ae7
mov dword [ebp - 0x188], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x164]
test ecx, ecx
je 0x491a00
test esi, esi
jle 0x4919f1
mov edi, dword [ebp - 0x160]
mov esi, ecx
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x4919d2
mov edi, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x164]
push ecx
call fcn.005cff1c
mov eax, dword [ebp - 0x16c]
add esp, 4
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x491a48
test eax, eax
jle 0x491a3f
mov edi, dword [ebp - 0x16c]
mov esi, ecx
nop word [eax + eax]
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x491a20
mov edi, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c0]
push ecx
call fcn.005cff1c
add esp, 4
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x491a8c
cmp dword [ebp - 0x28], 0
jle 0x491a7c
mov edi, dword [ebp - 0x28]
mov esi, eax
nop
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x491a60
mov edi, dword [ebp - 0x170]
mov eax, dword [ebp - 0x2c]
test edi, edi
mov ecx, fcn.005cff1c
push eax
cmove edi, ecx
call edi
add esp, 4
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x491ad4
mov edi, dword [ebp - 0x1d8]
test edi, edi
jle 0x491ab9
mov esi, eax
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x491aa6
mov eax, dword [ebp - 0x174]
mov ecx, fcn.005cff1c
push dword [ebp - 0x1dc]
test eax, eax
cmove eax, ecx
call eax
add esp, 4
mov byte [ebp - 4], 0
mov dword [ebp - 0x164], 2
jmp 0x491d3a
mov esi, dword [ebp - 0x28]
test esi, esi
jle 0x491c16
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x164]
test ecx, ecx
je 0x491b3c
cmp dword [ebp - 0x160], 0
jle 0x491b2d
mov esi, dword [ebp - 0x160]
mov edi, ecx
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax]
add edi, 0x124
sub esi, 1
jne 0x491b11
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x164]
push ecx
call fcn.005cff1c
mov eax, dword [ebp - 0x16c]
add esp, 4
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x491b7b
test eax, eax
jle 0x491b72
mov esi, dword [ebp - 0x16c]
mov edi, ecx
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax]
add edi, 0x124
sub esi, 1
jne 0x491b56
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c0]
push ecx
call fcn.005cff1c
add esp, 4
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x491bbb
test esi, esi
jle 0x491ba3
mov edi, eax
nop dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax]
add edi, 0x124
sub esi, 1
jne 0x491b90
mov eax, dword [ebp - 0x170]
mov ecx, fcn.005cff1c
push dword [ebp - 0x2c]
test eax, eax
cmove eax, ecx
call eax
add esp, 4
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x491c03
mov edi, dword [ebp - 0x1d8]
test edi, edi
jle 0x491be8
mov esi, eax
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x491bd5
mov eax, dword [ebp - 0x174]
mov ecx, fcn.005cff1c
push dword [ebp - 0x1dc]
test eax, eax
cmove eax, ecx
call eax
add esp, 4
mov byte [ebp - 4], 0
mov dword [ebp - 0x164], 4
jmp 0x491d3a
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x164]
test ecx, ecx
je 0x491c60
cmp dword [ebp - 0x160], 0
jle 0x491c51
mov esi, dword [ebp - 0x160]
mov edi, ecx
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax]
add edi, 0x124
sub esi, 1
jne 0x491c35
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x164]
push ecx
call fcn.005cff1c
mov eax, dword [ebp - 0x16c]
add esp, 4
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x1c0]
test ecx, ecx
je 0x491ca5
test eax, eax
jle 0x491c9c
mov esi, dword [ebp - 0x16c]
mov edi, ecx
nop word [eax + eax]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax]
add edi, 0x124
sub esi, 1
jne 0x491c80
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c0]
push ecx
call fcn.005cff1c
add esp, 4
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x491ce1
test esi, esi
jle 0x491cc9
mov edi, eax
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax]
add edi, 0x124
sub esi, 1
jne 0x491cb6
mov eax, dword [ebp - 0x170]
mov ecx, fcn.005cff1c
push dword [ebp - 0x2c]
test eax, eax
cmove eax, ecx
call eax
add esp, 4
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x491d2e
mov edi, dword [ebp - 0x1d8]
test edi, edi
jle 0x491d13
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x491d00
mov eax, dword [ebp - 0x174]
mov ecx, fcn.005cff1c
push dword [ebp - 0x1dc]
test eax, eax
cmove eax, ecx
call eax
add esp, 4
xor eax, eax
mov byte [ebp - 4], 0
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x1a0]
test ecx, ecx
jle 0x491e6d
mov edi, dword [ebp - 0x1a4]
add edi, 0xc
mov dword [ebp - 0x178], ecx
nop word [eax + eax]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
call fcn.00499a50
mov byte [ebp - 4], 0x1c
mov eax, edi
mov dword [ebp - 0x154], 2
mov dword [ebp - 0x15c], 0x33c77
mov dword [ebp - 0x158], 0xe81
cmp byte [edi + 0x110], 0
jne 0x491db9
mov eax, dword [edi - 4]
add eax, 4
mov ecx, 0x786008
cmovne ecx, eax
mov esi, ecx
mov dword [ebp - 0x180], ecx
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x491dd0
sub esi, ecx
lea ecx, [ebp - 0x148]
sar esi, 1
mov dword [ebp - 0x14c], esi
inc esi
push esi
call fcn.0049a590
cmp byte [ebp - 0x34], 0
lea eax, [esi + esi]
push eax
push dword [ebp - 0x180]
lea ecx, [ebp - 0x144]
cmove ecx, dword [ebp - 0x148]
add ecx, 4
push ecx
call fcn.005c0660
add esp, 0xc
call fcn.0047f520
lea ecx, [ebp - 0x15c]
push ecx
lea ecx, [eax + 0x30]
call fcn.004828b0
mov byte [ebp - 4], 0
cmp byte [ebp - 0x34], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x491e5a
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x144]
cmp eax, ecx
je 0x491e5a
push eax
call fcn.005cff1c
add esp, 4
add edi, 0x124
sub dword [ebp - 0x178], 1
jne 0x491d60
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x80301c]
cmp eax, dword [ecx + 0x20]
jle 0x491ec3
push 0x80301c
call fcn.005be60a
add esp, 4
cmp dword [0x80301c], 0xffffffff
jne 0x491ec3
push 0x6fa540
mov dword [0x803014], 0xffffffff
mov dword [0x803018], 0
call fcn.005be4c2
push 0x80301c
call fcn.005be5c0
add esp, 8
call fcn.0047ed10
call fcn.00479f80
cmp dword [eax + 4], 0
je 0x491eeb
call fcn.00479f80
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x18c]
test ecx, ecx
je 0x491eeb
push ecx
call fcn.004787f0
call fcn.00479f80
call fcn.0047df30
mov esi, dword [ebp - 0x164]
test esi, esi
je 0x491f93
cmp esi, 3
jne 0x491f12
mov edx, dword [ebp - 0x184]
mov edi, edx
jmp 0x491f20
call fcn.00479f80
mov edx, dword [ebp - 0x184]
mov edi, dword [eax + 4]
xor ecx, ecx
xor eax, eax
test edi, edi
je 0x491f79
mov edx, dword [edx + 0x188]
mov dword [ebp - 0x178], edx
test edx, edx
je 0x491f79
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
push eax
push dword [edi + 0x104]
movups xmmword [ebp - 0x20], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 0x178]
mov eax, dword [edi + 0x28]
sub eax, dword [ecx + 0x28]
cdq
sub eax, edx
mov edx, dword [ebp - 0x178]
mov ecx, eax
mov eax, dword [edi + 0x2c]
sar ecx, 1
add ecx, dword [ebp - 0x20]
sub eax, dword [edx + 0x2c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x188]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x184]
push esi
call fcn.00490d60
cmp esi, 3
je 0x491fc6
mov esi, dword [ebp - 0x184]
cmp byte [esi + 0x30], 0
je 0x491fac
mov eax, dword [esi]
mov ecx, esi
push 0
mov byte [esi + 0x30], 0
call dword [eax + 0x48]
cmp dword [esi + 0x8c], esi
je 0x491fb8
mov byte [esi + 0x64], 1
push 0
push dword [esi + 0x104]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 4], 0x1d
mov edi, dword [ebp - 0x1a4]
test edi, edi
je 0x492014
test eax, eax
jle 0x491ffe
mov esi, edi
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x124
sub edi, 1
jne 0x491fe5
mov edi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x18c]
mov ecx, fcn.005cff1c
test eax, eax
push edi
cmove eax, ecx
call eax
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005be209
mov esp, ebp
pop ebp
ret 4