Function at 0x401c7f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb50
push edi
mov al, byte [0x412490]
mov byte [ebp - 0xb2c], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xb2b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x504], 0
mov cl, byte [0x412494]
mov byte [ebp - 0x500], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x4ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x61c], 0
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0xa28], 0
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x638], 0xfffffffe
mov dl, byte [0x412498]
mov byte [ebp - 0x614], dl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x613]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x41249c]
mov byte [ebp - 0xa24], al
mov ecx, 0xf9
xor eax, eax
lea edi, [ebp - 0xa23]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x4124a0]
mov byte [ebp - 0x3e8], cl
mov ecx, 0xf9
xor eax, eax
lea edi, [ebp - 0x3e7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0x4124a4]
mov byte [ebp - 0x510], dl
xor eax, eax
mov dword [ebp - 0x50f], eax
mov dword [ebp - 0x50b], eax
mov byte [ebp - 0x507], al
mov cl, byte [0x4124a8]
mov byte [ebp - 0x630], cl
xor edx, edx
mov dword [ebp - 0x62f], edx
mov dword [ebp - 0x62b], edx
mov byte [ebp - 0x627], dl
mov dword [ebp - 0x3ec], 0
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x63c], 0
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x3f4], 0
mov dword [ebp - 0x3fc], 2
push 0x410124
push 0x4110b0
push 0x410128
lea eax, [ebp - 0x614]
push eax
call fcn.00407930
add esp, 0x10
push 0x410130
push 1
call fcn.0040307e
add esp, 4
push eax
call fcn.00407f5a
add esp, 8
mov dword [ebp - 0x620], eax
cmp dword [ebp - 0x620], 0
jne 0x401e47
push str.Error_bdembed1____Quiting
push 0x410150
call fcn.00407f09
add esp, 8
push 1
call fcn.00407e34
push 2
mov ecx, dword [0x4111b4]
sub ecx, 0xc
push ecx
mov edx, dword [ebp - 0x620]
push edx
call fcn.00407d7b
add esp, 0xc
mov eax, dword [ebp - 0x620]
push eax
push 0xd
lea ecx, [ebp - 0x500]
push ecx
call fcn.00407d24
add esp, 0xc
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.00402c0d
add esp, 8
push eax
call fcn.00402dc8
add esp, 4
mov dword [ebp - 0x504], eax
push 2
mov ecx, dword [ebp - 0x504]
add ecx, 0xc
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4111b4]
push ecx
mov edx, dword [ebp - 0x620]
push edx
call fcn.00407d7b
add esp, 0xc
mov eax, dword [ebp - 0x620]
push eax
push 6
lea ecx, [ebp - 0x500]
push ecx
call fcn.00407d24
add esp, 0xc
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.00402c0d
add esp, 8
push eax
call fcn.00402dc8
add esp, 4
mov dword [0x4111c0], eax
mov ecx, dword [ebp - 0x620]
push ecx
push 6
lea edx, [ebp - 0x500]
push edx
call fcn.00407d24
add esp, 0xc
mov eax, dword [ebp - 0x638]
push eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.00402c0d
add esp, 8
push eax
lea edx, [ebp - 0x510]
push edx
call fcn.00407840
add esp, 8
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x63c], 0
push 0x411fbc
lea eax, [ebp - 0x510]
push eax
call fcn.00407ca0
add esp, 8
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
jne 0x401f7e
mov dword [ebp - 0x624], 1
push 0x411fe4
lea ecx, [ebp - 0x510]
push ecx
call fcn.00407ca0
add esp, 8
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0
jne 0x401fab
mov dword [ebp - 0x624], 1
cmp dword [ebp - 0x624], 0
jne 0x401fb9
call fcn.00403ed5
push 0x410154
push 0x41201c
call fcn.00407840
add esp, 8
mov dword [ebp - 0x63c], 0
mov dword [0x411f84], 0
push 0x4124ac
push 0x41200c
call fcn.00407840
add esp, 8
push 0x4124b0
lea edx, [ebp - 0x630]
push edx
call fcn.00407840
add esp, 8
push 0x41201c
call fcn.00407720
add esp, 4
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x61c], 1
jmp 0x402033
mov eax, dword [ebp - 0x61c]
add eax, 1
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x3ec]
add ecx, 1
cmp dword [ebp - 0x61c], ecx
jge 0x4020aa
push 1
mov edx, dword [ebp - 0x61c]
push edx
push 0x41201c
call fcn.0040315a
add esp, 0xc
push eax
call fcn.004030f6
add esp, 4
push eax
call fcn.00402af8
add esp, 4
mov dword [ebp - 0x3f4], eax
mov al, byte [ebp - 0x3f4]
push eax
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x630]
push ecx
call fcn.00407840
add esp, 8
lea edx, [ebp - 0x630]
push edx
push 0x41200c
call fcn.00407850
add esp, 8
jmp 0x402024
push 0x41200c
call fcn.0040336e
add esp, 4
push eax
push 0x412028
call fcn.00407840
add esp, 8
push 0x412028
call fcn.00407720
add esp, 4
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 1
jle 0x4020e6
call fcn.00403541
mov dword [0x411f84], 0
mov eax, dword [ebp - 0x620]
push eax
push 2
lea ecx, [ebp - 0x500]
push ecx
call fcn.00407d24
add esp, 0xc
mov edx, dword [ebp - 0x638]
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.00402c0d
add esp, 8
push eax
call fcn.004030f6
add esp, 4
mov dword [0x4111b8], eax
mov ecx, dword [ebp - 0x620]
push ecx
push 2
lea edx, [ebp - 0x500]
push edx
call fcn.00407d24
add esp, 0xc
mov eax, dword [ebp - 0x638]
push eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.00402c0d
add esp, 8
push eax
call fcn.004030f6
add esp, 4
mov dword [0x4111bc], eax
mov dword [ebp - 0x618], 0
jmp 0x402183
mov edx, dword [ebp - 0x618]
add edx, 1
mov dword [ebp - 0x618], edx
mov eax, dword [ebp - 0x618]
cmp eax, dword [0x4111c0]
jge 0x402ae4
push 2
mov ecx, dword [ebp - 0x504]
mov edx, dword [ebp - 0x618]
imul edx, edx, 0x18
sub ecx, edx
imul ecx, ecx, 0xffffffff
add ecx, dword [0x4111b4]
push ecx
mov eax, dword [ebp - 0x620]
push eax
call fcn.00407d7b
add esp, 0xc
mov ecx, dword [ebp - 0x620]
push ecx
push 0xd
lea edx, [ebp - 0x500]
push edx
call fcn.00407d24
add esp, 0xc
mov eax, dword [ebp - 0x638]
push eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.00402c0d
add esp, 8
push eax
call fcn.00402dc8
add esp, 4
mov dword [ebp - 0xa28], eax
mov edx, dword [ebp - 0x620]
push edx
push 0xc
lea eax, [ebp - 0x500]
push eax
call fcn.00407d24
add esp, 0xc
mov ecx, dword [ebp - 0x638]
push ecx
lea edx, [ebp - 0x500]
push edx
call fcn.00402c0d
add esp, 8
push eax
call fcn.00402dc8
add esp, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x620]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x620]
cmp dword [eax + 4], 0
jl 0x402287
mov ecx, dword [ebp - 0x620]
mov edx, dword [ecx]
movsx eax, byte [edx]
and eax, 0xff
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0x620]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x620]
mov dword [eax], edx
jmp 0x40229c
mov ecx, dword [ebp - 0x620]
push ecx
call fcn.00407bbd
add esp, 4
mov dword [ebp - 0xb30], eax
mov edx, dword [ebp - 0xb30]
add edx, dword [ebp - 0x638]
mov dword [ebp - 0x3f0], edx
cmp dword [ebp - 0x3f0], 0xff
jle 0x4022cb
mov eax, dword [ebp - 0x3f0]
sub eax, 0x100
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0
jge 0x4022e6
mov ecx, dword [ebp - 0x3f0]
add ecx, 0x100
mov dword [ebp - 0x3f0], ecx
push 2
mov edx, dword [ebp - 0x504]
add edx, 0xc
sub edx, dword [ebp - 0xa28]
imul edx, edx, 0xffffffff
add edx, dword [0x4111b4]
push edx
mov eax, dword [ebp - 0x620]
push eax
call fcn.00407d7b
add esp, 0xc
mov ecx, dword [ebp - 0x620]
push ecx
mov edx, dword [ebp - 0x3f0]
add edx, 1
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.00407d24
add esp, 0xc
mov ecx, dword [ebp - 0x638]
push ecx
lea edx, [ebp - 0x500]
push edx
call fcn.00402c0d
add esp, 8
push eax
lea eax, [ebp - 0xb2c]
push eax
call fcn.00407840
add esp, 8
lea ecx, [ebp - 0x614]
push ecx
lea edx, [ebp - 0xa24]
push edx
call fcn.00407840
add esp, 8
lea eax, [ebp - 0xb2c]
push eax
lea ecx, [ebp - 0xa24]
push ecx
call fcn.00407850
add esp, 8
push 0x4124b4
mov edx, dword [ebp - 0x618]
imul edx, edx, 0x3e8
add edx, 0x45bb40
push edx
call fcn.00407840
add esp, 8
mov eax, dword [ebp - 0x3f8]
sub eax, dword [ebp - 0x3f0]
test eax, eax
jle 0x402adf
mov ecx, dword [0x4111c0]
sub ecx, 2
cmp dword [ebp - 0x618], ecx
jge 0x402684
cmp dword [0x4111b8], 1
jne 0x402488
lea edx, [ebp - 0xb2c]
push edx
call fcn.00407f09
add esp, 4
mov eax, dword [ebp - 0x3f8]
sub eax, dword [ebp - 0x3f0]
mov dword [ebp - 0xb34], eax
fild dword [ebp - 0xb34]
sub esp, 8
fstp qword [esp]
call fcn.00403113
add esp, 8
push eax
call fcn.00407f09
add esp, 4
push str._bytes
call fcn.00407f09
add esp, 4
push 0x410168
call fcn.00407f09
add esp, 4
mov eax, dword [ebp - 0x618]
add eax, 1
imul eax, eax, 0x64
mov ecx, dword [0x4111c0]
sub ecx, dword [ebp - 0x3fc]
cdq
idiv ecx
mov dword [ebp - 0xb38], eax
fild dword [ebp - 0xb38]
sub esp, 8
fstp qword [esp]
call fcn.00403113
add esp, 8
push eax
call fcn.00407f09
add esp, 4
push str.____
call fcn.00407f09
add esp, 4
push 0x410174
call fcn.00407f09
add esp, 4
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0xa24]
push edx
push 0x22
call fcn.0040309a
add esp, 4
push eax
push 0x410178
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0xa24]
push eax
push 0x22
call fcn.0040309a
add esp, 4
push eax
push 0x410180
push 0x41018c
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.00407930
add esp, 0x28
lea edx, [ebp - 0x3e8]
push edx
call fcn.0040779b
add esp, 4
lea eax, [ebp - 0x3e8]
push eax
mov ecx, dword [ebp - 0x618]
imul ecx, ecx, 0x3e8
add ecx, 0x45bb40
push ecx
call fcn.00407840
add esp, 8
push 0x4101a0
lea edx, [ebp - 0xa24]
push edx
call fcn.00407f5a
add esp, 8
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x402684
mov dword [0x411f84], 0
mov dword [ebp - 0x61c], 1
jmp 0x40255d
mov eax, dword [ebp - 0x61c]
add eax, 1
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x3f8]
sub ecx, dword [ebp - 0x3f0]
add ecx, 1
cmp dword [ebp - 0x61c], ecx
jge 0x402675
mov edx, dword [ebp - 0x620]
mov eax, dword [edx + 4]
sub eax, 1
mov ecx, dword [ebp - 0x620]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x620]
cmp dword [edx + 4], 0
jl 0x4025c5
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax]
movsx edx, byte [ecx]
and edx, 0xff
mov dword [ebp - 0xb3c], edx
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x620]
mov dword [edx], ecx
jmp 0x4025da
mov eax, dword [ebp - 0x620]
push eax
call fcn.00407bbd
add esp, 4
mov dword [ebp - 0xb3c], eax
mov ecx, dword [ebp - 0xb3c]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3f4]
push edx
call fcn.00402af8
add esp, 4
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x634]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x634]
cmp dword [eax + 4], 0
jl 0x402654
mov ecx, dword [ebp - 0x634]
mov edx, dword [ecx]
mov al, byte [ebp - 0x3f4]
mov byte [edx], al
movsx ecx, byte [ebp - 0x3f4]
and ecx, 0xff
mov dword [ebp - 0xb40], ecx
mov edx, dword [ebp - 0x634]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 0x634]
mov dword [ecx], eax
jmp 0x402670
mov edx, dword [ebp - 0x634]
push edx
mov eax, dword [ebp - 0x3f4]
push eax
call fcn.00407aa8
add esp, 8
mov dword [ebp - 0xb40], eax
jmp 0x40254e
mov ecx, dword [ebp - 0x634]
push ecx
call fcn.00407a52
add esp, 4
mov edx, dword [0x4111c0]
sub edx, 2
cmp dword [ebp - 0x618], edx
jne 0x4028bc
push 0x4115ac
lea eax, [ebp - 0xa24]
push eax
call fcn.00407840
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0xa24]
push ecx
push 0x22
call fcn.0040309a
add esp, 4
push eax
push 0x4101a4
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0xa24]
push edx
push 0x22
call fcn.0040309a
add esp, 4
push eax
push 0x4101ac
push 0x4101b8
lea eax, [ebp - 0x3e8]
push eax
call fcn.00407930
add esp, 0x28
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.0040779b
add esp, 4
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x618]
imul eax, eax, 0x3e8
add eax, 0x45bb40
push eax
call fcn.00407840
add esp, 8
push 0x4101cc
lea ecx, [ebp - 0xa24]
push ecx
call fcn.00407f5a
add esp, 8
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x4028bc
mov edx, dword [ebp - 0x634]
push edx
push 0x4117b4
call fcn.00407a0f
add esp, 8
mov dword [0x411f84], 0
mov dword [ebp - 0x61c], 1
jmp 0x402795
mov eax, dword [ebp - 0x61c]
add eax, 1
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x3f8]
sub ecx, dword [ebp - 0x3f0]
add ecx, 1
cmp dword [ebp - 0x61c], ecx
jge 0x4028ad
mov edx, dword [ebp - 0x620]
mov eax, dword [edx + 4]
sub eax, 1
mov ecx, dword [ebp - 0x620]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x620]
cmp dword [edx + 4], 0
jl 0x4027fd
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax]
movsx edx, byte [ecx]
and edx, 0xff
mov dword [ebp - 0xb44], edx
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x620]
mov dword [edx], ecx
jmp 0x402812
mov eax, dword [ebp - 0x620]
push eax
call fcn.00407bbd
add esp, 4
mov dword [ebp - 0xb44], eax
mov ecx, dword [ebp - 0xb44]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3f4]
push edx
call fcn.00402af8
add esp, 4
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x634]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x634]
cmp dword [eax + 4], 0
jl 0x40288c
mov ecx, dword [ebp - 0x634]
mov edx, dword [ecx]
mov al, byte [ebp - 0x3f4]
mov byte [edx], al
movsx ecx, byte [ebp - 0x3f4]
and ecx, 0xff
mov dword [ebp - 0xb48], ecx
mov edx, dword [ebp - 0x634]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 0x634]
mov dword [ecx], eax
jmp 0x4028a8
mov edx, dword [ebp - 0x634]
push edx
mov eax, dword [ebp - 0x3f4]
push eax
call fcn.00407aa8
add esp, 8
mov dword [ebp - 0xb48], eax
jmp 0x402786
mov ecx, dword [ebp - 0x634]
push ecx
call fcn.00407a52
add esp, 4
mov edx, dword [0x4111c0]
sub edx, 1
cmp dword [ebp - 0x618], edx
jne 0x402adf
push 0x4116b0
lea eax, [ebp - 0xa24]
push eax
call fcn.00407840
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0xa24]
push ecx
push 0x22
call fcn.0040309a
add esp, 4
push eax
push str._del
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0xa24]
push edx
push 0x22
call fcn.0040309a
add esp, 4
push eax
push str.if_exist
push str._s_s_s_s_s_s_s_s
lea eax, [ebp - 0x3e8]
push eax
call fcn.00407930
add esp, 0x28
lea ecx, [ebp - 0x3e8]
push ecx
call fcn.0040779b
add esp, 4
lea edx, [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x618]
imul eax, eax, 0x3e8
add eax, 0x45bb40
push eax
call fcn.00407840
add esp, 8
push 0x4101f8
lea ecx, [ebp - 0xa24]
push ecx
call fcn.00407f5a
add esp, 8
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
je 0x402adf
mov dword [0x411f84], 0
mov dword [ebp - 0x61c], 1
jmp 0x4029b9
mov edx, dword [ebp - 0x61c]
add edx, 1
mov dword [ebp - 0x61c], edx
mov eax, dword [ebp - 0x3f8]
sub eax, dword [ebp - 0x3f0]
add eax, 1
cmp dword [ebp - 0x61c], eax
jge 0x402ad0
mov ecx, dword [ebp - 0x620]
mov edx, dword [ecx + 4]
sub edx, 1
mov eax, dword [ebp - 0x620]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x620]
cmp dword [ecx + 4], 0
jl 0x402a21
mov edx, dword [ebp - 0x620]
mov eax, dword [edx]
movsx ecx, byte [eax]
and ecx, 0xff
mov dword [ebp - 0xb4c], ecx
mov edx, dword [ebp - 0x620]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp - 0x620]
mov dword [ecx], eax
jmp 0x402a36
mov edx, dword [ebp - 0x620]
push edx
call fcn.00407bbd
add esp, 4
mov dword [ebp - 0xb4c], eax
mov eax, dword [ebp - 0xb4c]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f4]
push ecx
call fcn.00402af8
add esp, 4
mov dword [ebp - 0x3f4], eax
mov edx, dword [ebp - 0x634]
mov eax, dword [edx + 4]
sub eax, 1
mov ecx, dword [ebp - 0x634]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x634]
cmp dword [edx + 4], 0
jl 0x402aaf
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax]
mov dl, byte [ebp - 0x3f4]
mov byte [ecx], dl
movsx eax, byte [ebp - 0x3f4]
and eax, 0xff
mov dword [ebp - 0xb50], eax
mov ecx, dword [ebp - 0x634]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x634]
mov dword [eax], edx
jmp 0x402acb
mov ecx, dword [ebp - 0x634]
push ecx
mov edx, dword [ebp - 0x3f4]
push edx
call fcn.00407aa8
add esp, 8
mov dword [ebp - 0xb50], eax
jmp 0x4029aa
mov eax, dword [ebp - 0x634]
push eax
call fcn.00407a52
add esp, 4
jmp 0x402174
mov ecx, dword [ebp - 0x620]
push ecx
call fcn.00407a52
add esp, 4
pop edi
mov esp, ebp
pop ebp
ret