Function at 0x10037615
Capabilities:
Encode data using xor
Modify service

Disassembly:
mov eax, 0x100581b7
call fcn.10056e5c
sub esp, 0x240
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x34], 0x5430
cmp dword [ebp - 0x34], 0x571c
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x148], ebx
jle 0x100376ab
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x38], 0x1d8a
mov esi, dword [ebp - 0x30]
mov edi, ebx
mov ecx, edi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], ebx
shl esi, cl
mov eax, esi
mov ecx, 0x10070b88
or eax, ebx
cdq
push edx
push eax
call fcn.1000e159
inc ebx
cmp ebx, 0x135e
jl 0x1003766b
mov esi, dword [ebp - 0x30]
inc edi
push 0
pop ebx
cmp edi, 0x482d
jl 0x10037661
mov esi, dword [ebp - 0x18]
add dword [ebp - 0x30], esi
dec dword [ebp - 0x38]
jne 0x1003765c
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x9a9
jl 0x10037652
mov dword [ebp - 0x18], 0x5b8f
cmp dword [ebp - 0x18], 0x5cd2
jle 0x1003770c
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
xor eax, ebx
mov ecx, 0x10070b88
xor eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.1000e159
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x3502
jl 0x100376ca
inc ebx
push 0
mov dword [ebp - 0x30], ebx
cmp ebx, 0x50d1
pop ebx
jl 0x100376c2
inc edi
cmp edi, 0x1565
jl 0x100376bf
inc esi
cmp esi, 0x6a1f
jl 0x100376bd
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x5935
mov dword [ebp - 0x88], 0xe055f03
mov word [ebp - 0x84], 0xd04
mov byte [ebp - 0x82], bl
mov dword [ebp - 0x81], 0x80a80226
mov dword [ebp - 0x7d], 0x3022b01
mov word [ebp - 0x79], 0x3306
jge 0x10037757
mov edx, str.scnwwqwb_eld_mhf_saejjl_ieyd_mmmdz_gerz_tzrbww_qosjw_yypqa_wquczqyo_cfcfzvfoo
mov ecx, 0x10070b88
call fcn.10010f71
or dword [ebp - 4], 0xffffffff
push 2
pop esi
push 0x62
pop eax
mov word [ebp - 0x116], ax
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x28], ebx
jmp 0x100377a3
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x94], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x10037796
mov dword [ebp - 0x28], ebx
jmp 0x100377bf
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1c4], 0xf0f5
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x100377ae
mov dword [ebp - 0x8c], 0xfffffffd
mov ecx, 0xfffb
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
cmp ecx, eax
mov ecx, dword [ebp - 0x90]
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax
mov dword [ebp - 0x1c0], ecx
mov eax, dword [ebp - 0x8c]
cmp eax, ecx
mov eax, dword [ebp - 0x8c]
setg dl
sub edx, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], 0x303f
cmp dword [ebp - 0x18], 0x3253
jle 0x100378a9
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x38], ebx
add eax, edi
xor eax, ecx
lea ecx, [ebp - 0x22c]
cdq
push edx
push eax
call fcn.10002407
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003786e
mov eax, dword [eax]
push eax
call fcn.10039f03
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x22c]
call fcn.1000eba1
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0x325b
jl 0x10037852
inc edi
cmp edi, 0x4483
jl 0x1003784d
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x293
jl 0x1003784b
mov dword [ebp - 0x20], ebx
jmp 0x100378bf
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x100378ae
cmp dword [ebp - 0x18], 0x2db1
jge 0x100378d9
push str.grgcsv_hjzq_mxed_uzjomtepl
call fcn.10039f03
pop ecx
mov edi, esi
mov dword [ebp - 0x38], ebx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], 0x6b3e713e
mov dword [ebp - 0x18], ebx
jmp 0x10037901
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf4], 0x1b055cc2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100378f0
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0xec], ebx
ja 0x1003791b
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
test eax, eax
jne 0x10037935
mov edx, ebx
cmp dword [ebp - 0xf0], ebx
je 0x10037937
mov edx, ecx
dec dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, 0xfff8
setne cl
cmp eax, ecx
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037987
push ebx
push ebx
push 0x1376
push 0x193f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp edi, 8
jne 0x10037ce6
xor edx, edx
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ebx
jmp 0x100379a9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x64], 0x98a8f939
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003799b
mov dword [ebp - 0x20], ebx
jmp 0x10037a72
mov dword [ebp - 0x28], 0xafd94fe5
mov dword [ebp - 0x30], 0x48bd921b
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], ebx
jl 0x10037a6f
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x64], ebx
jne 0x100379e4
mov eax, dword [ebp - 0x28]
mov edi, ebx
cmp dword [ebp + eax*4 - 0x64], ebx
je 0x100379e6
mov edi, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x64]
mov eax, 0xffffdca0
sub eax, edi
add ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x64], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x28]
cmp ecx, dword [ebp + eax*4 - 0x64]
jne 0x10037a2b
mov eax, dword [ebp - 0x28]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x64], ebx
je 0x10037a2d
mov ecx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, dword [ebp + eax*4 - 0x64]
jge 0x10037a52
cmp dword [ebp - 0x30], ebx
jne 0x10037a52
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x64], ebx
jne 0x10037a4b
mov eax, ebx
cmp dword [ebp - 0x20], ebx
je 0x10037a4d
mov eax, edx
mov dword [ebp - 0x30], eax
jmp 0x10037a66
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037a66
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
xor edx, edx
inc edx
dec dword [ebp - 0x28]
jns 0x100379d0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x100379b6
movzx edi, byte [ebp - 0x80]
lea eax, [edi + 1]
mov dword [ebp - 0x38], eax
mov eax, 0x847dfa86
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x20], 0xf0b96ca2
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x18], ebx
jmp 0x10037ac2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037ab1
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x10037c60
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10037afb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10c], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037aea
mov dword [ebp - 0x28], ebx
jmp 0x10037b81
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10037b1e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1e4], 0xb3bfa32a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10037b0d
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xbc]
cmp eax, 0x4163
sete cl
mov dword [ebp - 0x1d8], ecx
test ecx, ecx
je 0x10037b51
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xbc]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xbc], ecx
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x10037b05
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], ebx
jl 0x10037c57
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x3c], 0xbe1552b9
mov eax, dword [ebp - 0x28]
inc eax
jne 0x10037bae
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x28]
cmp eax, 0x44ed25e4
setle cl
cmp ecx, edx
jl 0x10037bcc
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setg dl
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x28], ebx
jne 0x10037bee
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
imul ecx, dword [ebp + eax*4 - 0x9c], 0x5604
mov eax, dword [ebp - 0x28]
cmp ecx, dword [ebp + eax*4 - 0x9c]
jl 0x10037c17
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
setne dl
add edx, 0x418d0dca
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x30], 0xcf62392e
sbb eax, eax
neg eax
mov dword [ebp - 0x108], eax
dec dword [ebp - 0x28]
jns 0x10037b97
xor edx, edx
inc edx
dec dword [ebp - 0x20]
jns 0x10037ad7
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037c80
push 0x22e
push 0x184
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov dword [ebp - 0x18], 0xffffffff
add edi, 7
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x18], ebx
jmp 0x10037ca7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x214], 0xa8c6a53d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10037c96
mov dword [ebp - 0x18], ebx
jmp 0x10037cd8
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037cd5
push ebx
push ebx
push 0x1d86
push ebx
push 0x1def
push ebx
push 0x14a0
push ebx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10037cb2
mov dword [ebp - 0x3c], 0xfffffffb
jmp 0x10037d1e
movzx edx, byte [ebp + edi - 0x87]
mov eax, edi
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], ebx
movzx eax, byte [ebp + eax - 0x8a]
movzx eax, word [ebp + eax*2 - 0x11c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + edi - 0x88]
mov word [ebp + eax*2 - 0x11c], cx
add edi, esi
cmp edi, 0x11
jb 0x100378de
xor eax, eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x34], 0x530e
mov word [ebp - 0x10e], ax
jge 0x10037d51
mov edx, str.inzwuf_jlgjlgpt_mrcguvbd_bopkn_cvu_iur_alhl_kxx_pwbxln
mov ecx, 0x10070b88
call fcn.10010f71
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0xdf1febae
mov dword [ebp - 0x18], ebx
jmp 0x10037d97
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1fc], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037d86
mov dword [ebp - 0x18], ebx
jmp 0x10037db5
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037db2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x10037da1
xor eax, eax
mov dword [ebp - 0x188], 7
mov word [ebp - 0x19c], ax
lea ecx, [ebp - 0x19c]
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x18c], ebx
push eax
call fcn.100163c6
mov dword [ebp - 4], 6
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], 0x914cc5c6
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x3c], 0xf2ddfdaf
mov dword [ebp - 0x18], ebx
jmp 0x10037e18
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10037e0a
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], 0xffff
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
sub eax, 0x864cb83
je 0x10037e54
cmp dword [ebp - 0x6c], ebx
je 0x10037e54
xor ecx, ecx
inc ecx
jmp 0x10037e56
mov ecx, ebx
mov eax, dword [ebp - 0x6c]
xor edx, edx
add eax, ecx
cmp eax, 0xacc0
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x6c], 0xfffffffc
jg 0x10037e86
cmp dword [ebp - 0x6c], ebx
je 0x10037e86
xor ecx, ecx
inc ecx
jmp 0x10037e88
mov ecx, ebx
mov eax, dword [ebp - 0x6c]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x68]
test edx, edx
je 0x10037ea9
cmp dword [ebp - 0x30], ebx
je 0x10037ea9
xor edx, edx
inc edx
jmp 0x10037eab
mov edx, ebx
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6c]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x6c]
cmp ecx, eax
setne dl
cmp edx, dword [ebp - 0x6c]
jle 0x10037ef1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037f36
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x1a61
push 0x4ae
push 0x1133
push ebx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
jmp 0x10037f36
mov dword [ebp - 0x3c], 0xb5d06de2
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], ebx
jmp 0x10037f30
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037f1d
push ebx
push 0x1e1c
push 0x1b40
call dword [sym.imp.GDI32.dll_CreatePen]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10037f2d
push ebx
call dword [sym.imp.USER32.dll_SetKeyboardState]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffc
jne 0x10037f03
push dword [ebp - 0xe4]
xor eax, eax
lea edi, [ebp - 0x11c]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x1b4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.1000e26e
mov byte [ebp - 4], 7
mov dword [ebp - 0x28], 0x51c7
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xb748abb7
mov dword [ebp - 0x3c], 0xcd021aa2
mov dword [ebp - 0x50], 8
mov dword [ebp - 0x18], ebx
jmp 0x10037f96
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x16c], 0x69be541
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10037f85
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, dword [ebp - 0x34]
setl dl
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp edx, ecx
setg al
xor edx, edx
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov eax, dword [ebp - 0x28]
inc edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x20]
cmp eax, edx
setg cl
xor eax, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x20]
neg ecx
cmp ecx, 0x9b8b
setle al
cmp dword [ebp - 0x28], eax
jg 0x10038005
mov edi, ebx
cmp dword [ebp - 0x168], ebx
je 0x10038007
mov edi, edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edi, eax
setl cl
imul eax, ecx, 0xa8d7
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x30], 0x6b3e713e
mov dword [ebp - 0x18], ebx
jmp 0x1003803d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x104], 0x1b055cc2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003802c
mov eax, dword [ebp - 0x104]
cmp dword [ebp - 0xfc], ebx
ja 0x10038057
mov eax, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x104], eax
test eax, eax
jne 0x10038071
cmp dword [ebp - 0x100], ebx
jne 0x10038071
mov edx, ebx
dec dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, 0xfff8
setne cl
cmp eax, ecx
mov eax, dword [ebp - 0x30]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100380c1
push ebx
push ebx
push 0x1376
push 0x193f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0x5c
pop eax
mov byte [ebp - 0x5c], bl
mov edi, esi
mov dword [ebp - 0x5b], 0x964e03fd
mov ecx, ebx
mov byte [ebp - 0x57], pe_nt_image_headers32
mov word [ebp - 0x54], ax
cmp edi, esi
jne 0x100380e5
push 4
pop ecx
push ecx
pop edi
jmp 0x1003810e
movzx edx, byte [ebp + edi - 0x5b]
mov eax, edi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x5e]
movzx ecx, word [ebp + eax*2 - 0x54]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + edi - 0x5c]
add ecx, edx
mov word [ebp + eax*2 - 0x54], cx
mov ecx, ebx
add edi, esi
cmp edi, 6
jb 0x100380da
xor eax, eax
mov word [ebp - 0x52], ax
mov dword [ebp - 0x3c], 0xe80c6548
mov dword [ebp - 0x18], ebx
jmp 0x10038138
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], 0x22124f84
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10038127
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1003814d
call dword [sym.imp.USER32.dll_ReleaseCapture]
cmp dword [ebp - 0xa8], ebx
je 0x10038166
cmp dword [ebp - 0xa8], 0x847d
je 0x10038166
xor ecx, ecx
inc ecx
jmp 0x10038168
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0x128], 7
cmp ecx, 1
mov dword [ebp - 0x12c], ebx
lea ecx, [ebp - 0x13c]
setl al
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov word [ebp - 0x13c], ax
lea eax, [ebp - 0x54]
push eax
call fcn.100163c6
mov byte [ebp - 4], 8
mov eax, 0x847dfa86
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x20], 0xf0b96ca2
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x18], ebx
jmp 0x100381e6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100381d5
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x10038385
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003821f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x124], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003820e
mov dword [ebp - 0x28], ebx
jmp 0x100382a5
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10038242
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1f4], 0xb3bfa32a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10038231
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xcc]
cmp eax, 0x4163
sete cl
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
je 0x10038275
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xcc]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xcc], ecx
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x10038229
mov dword [ebp - 0x28], 1
cmp dword [ebp - 0x28], ebx
jl 0x1003837c
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x3c], 0xbe1552b9
mov eax, dword [ebp - 0x28]
inc eax
jne 0x100382d6
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x28]
cmp eax, 0x44ed25e4
setle cl
cmp ecx, edx
jl 0x100382f4
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setg dl
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x28], ebx
jne 0x10038316
mov eax, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
imul ecx, dword [ebp + eax*4 - 0xa4], 0x5604
mov eax, dword [ebp - 0x28]
cmp ecx, dword [ebp + eax*4 - 0xa4]
jl 0x1003833f
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0xcc]
cmp ecx, eax
setne dl
add edx, 0x418d0dca
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x30], 0xcf62392e
sbb eax, eax
neg eax
mov dword [ebp - 0x120], eax
dec dword [ebp - 0x28]
jns 0x100382bf
dec dword [ebp - 0x20]
jns 0x100381fb
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100383a7
push 0x22e
push 0x184
call edi
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x20], 0x4e064826
mov dword [ebp - 0x20], ebx
jmp 0x100383be
cmp dword [ebp - 0x20], ebx
jne 0x100383c4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x15
jne 0x100383b6
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100383d6
call edi
push eax
call dword [sym.imp.USER32.dll_GetParent]
push 0x5f
pop eax
push 2
mov byte [ebp - 0x48], bl
mov ecx, ebx
mov word [ebp - 0x47], 0x170
mov byte [ebp - 0x45], al
mov word [ebp - 0x4c], ax
pop edi
cmp esi, edi
jne 0x100383f8
mov ecx, edi
mov esi, edi
jmp 0x10038421
movzx edx, byte [ebp + esi - 0x47]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x4a]
movzx ecx, word [ebp + eax*2 - 0x4c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x48]
add ecx, edx
mov word [ebp + eax*2 - 0x4c], cx
mov ecx, ebx
add esi, edi
cmp esi, 4
jb 0x100383ee
xor eax, eax
mov dword [ebp - 0x170], 7
mov word [ebp - 0x4a], ax
lea ecx, [ebp - 0x184]
mov word [ebp - 0x184], ax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x174], ebx
call fcn.100163c6
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x20], ebx
inc ecx
mov dword [ebp - 0x28], 0xbefcdf11
mov dword [ebp - 0x30], 0xe856dfc9
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003847e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x74], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10038474
mov dword [ebp - 0x20], ebx
jmp 0x100384ee
mov dword [ebp - 0x18], ebx
jmp 0x1003849e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe0], 0x398070ad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003848d
mov dword [ebp - 0xd8], ebx
jmp 0x100384c0
mov eax, dword [ebp - 0xd8]
mov dword [ebp + eax*4 - 0x74], 0xffffffff
inc dword [ebp - 0xd8]
cmp dword [ebp - 0xd8], ecx
jl 0x100384ac
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100384eb
push 0x244f
push 0xce5
push ecx
push ebx
push 0x5fe
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
xor ecx, ecx
inc ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10038488
cmp dword [ebp - 0x74], ebx
jne 0x1003852c
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp eax, 0xffffffff
setl cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
neg edx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x20]
jg 0x10038523
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x74], 1
jg 0x1003852c
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
push 0xfffffffffffffff8
setle dl
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x20], edx
pop edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], ebx
jmp 0x10038564
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x160], 0x313dd33a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10038553
push 2
mov dword [ebp - 0x28], ebx
pop ecx
jmp 0x100385b5
mov dword [ebp - 0x18], 0x888adae8
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x160], ebx
jne 0x100385ba
mov dword [ebp - 0x18], ebx
jmp 0x100385ad
mov dword [ebp - 0x20], 0xa20bd035
mov dword [ebp - 0x20], ebx
jmp 0x100385a5
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x160], ebx
jne 0x100385aa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x10038596
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1003858a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x10038572
push 8
pop esi
push dword [ebp - 0x12c]
cmp dword [ebp - 0x128], esi
lea eax, [ebp - 0x13c]
push ebx
cmovae eax, dword [ebp - 0x13c]
lea ecx, [ebp - 0x1b4]
push eax
call fcn.1001644e
cmp eax, 0xffffffff
je 0x10038602
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x184]
push ecx
push 1
push eax
lea ecx, [ebp - 0x1b4]
call fcn.1001157f
jmp 0x100385bd
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], 0x5466bc65
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x50], 2
mov dword [ebp - 0x50], 0x61ea52fa
mov dword [ebp - 0x18], ebx
jmp 0x1003862f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x208], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10038622
mov dword [ebp - 0x3c], 0x78bb
cmp dword [ebp - 0x3c], 0x7b9a
mov dword [ebp - 0x50], str.golnvxiv_cazd_piekckw_ssotlhyy_xsjy_ghlatmyx_dmdhwzi_dhwxocwcd_bzsxp_nnw_puhq_wjqyjnbc
jle 0x10038687
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov eax, esi
mov ecx, 0x10070b88
cdq
idiv ebx
or edx, edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000e159
inc ebx
cmp ebx, 0x5fa9
jl 0x10038653
inc esi
push 0
pop ebx
cmp esi, 0x12d6
jl 0x10038650
inc edi
cmp edi, 0x73f6
jl 0x1003864e
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffff7
jge 0x100389fc
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x30], 0x3d3b
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x40], 0x1f7ee045
mov dword [ebp - 0x40], 0xd68e480b
mov dword [ebp - 0x38], 0x42a2
mov dword [ebp - 0x28], ebx
jmp 0x100386d0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x248], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x100386c3
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setg dl
cmp edx, 0xffffffff
jle 0x10038707
cmp dword [ebp - 0x28], ebx
je 0x10038707
xor edx, edx
inc edx
jmp 0x10038709
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
push 9
setge cl
imul ecx, dword [ebp - 0x18]
pop eax
sub eax, ecx
je 0x100388aa
mov dword [ebp - 0x70], 0x7c76
mov dword [ebp - 0x18], ebx
jmp 0x10038744
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x154], 0x3c8d3fd9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10038733
mov dword [ebp - 0x40], 0x56b5
cmp dword [ebp - 0x40], 0x57a2
jle 0x1003879c
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], 0x6c62
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x10070b88
cdq
push edx
push eax
call fcn.1000e159
inc edi
cmp edi, 0x156
jl 0x1003876b
dec esi
dec dword [ebp - 0x34]
jne 0x10038769
mov esi, dword [ebp - 0x38]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x4ccf
jl 0x1003875f
mov dword [ebp - 0x28], ebx
jmp 0x10038850
mov dword [ebp - 0x34], 0xc35cf455
mov dword [ebp - 0x34], 0x657a772b
mov dword [ebp - 0x18], ebx
jmp 0x100387c8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d4], 0x7dcc3592
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100387b7
cmp dword [ebp - 0x30], ebx
je 0x100387dd
cmp dword [ebp - 0x70], ebx
je 0x100387dd
xor ecx, ecx
inc ecx
jmp 0x100387df
mov ecx, ebx
xor eax, eax
cmp ecx, 1
setge al
cmp eax, dword [ebp - 0x70]
je 0x100387f6
cmp dword [ebp - 0x30], ebx
je 0x100387f6
xor ecx, ecx
inc ecx
jmp 0x100387f8
mov ecx, ebx
xor eax, eax
test ecx, ecx
setne al
add eax, dword [ebp - 0x28]
jne 0x1003880d
cmp dword [ebp - 0x28], ebx
jne 0x1003880d
mov eax, ebx
jmp 0x10038810
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0x1c1d
mov eax, dword [ebp - 0x1cc]
setl dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], ebx
je 0x10038842
cmp dword [ebp - 0x1cc], ebx
je 0x10038842
xor eax, eax
inc eax
jmp 0x10038844
mov eax, ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x154], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
je 0x100387a4
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x40], 0x53c8
jge 0x10038876
mov edx, str.cettyz_ytolybawk_lxhbmu
mov ecx, 0x10070b88
call fcn.10010f71
mov dword [ebp - 4], 9
jmp 0x100389f4
mov dword [ebp - 0x40], 0x1b06
cmp dword [ebp - 0x40], 0xbeb
jge 0x1003898b
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x144]
push eax
push str._lld__lld_n
call fcn.10039c1b
mov esi, dword [ebp - 0x140]
add esp, 0xc
mov edi, dword [ebp - 0x144]
push ebx
push 2
push esi
push edi
call fcn.10056e80
mov ecx, eax
mov eax, edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x34], ecx
or ecx, eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x40], eax
jne 0x1003893a
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x70], eax
mov eax, edx
sbb eax, esi
mov dword [ebp - 0x28], eax
js 0x10038937
jg 0x10038921
cmp dword [ebp - 0x70], 2
jb 0x10038937
mov ecx, edi
mov eax, esi
add ecx, 2
adc eax, ebx
push eax
push ecx
mov ecx, edi
mov eax, esi
add ecx, 1
adc eax, ebx
jmp 0x1003896d
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x34], 1
jne 0x10038980
cmp eax, ebx
jne 0x10038980
sub ecx, edi
sbb edx, esi
mov dword [ebp - 0x40], edx
js 0x10038980
jg 0x10038954
cmp ecx, 3
jb 0x10038980
mov ecx, edi
mov eax, esi
add ecx, 3
adc eax, ebx
push eax
push ecx
mov ecx, edi
mov eax, esi
add ecx, 2
adc eax, ebx
add edi, 1
adc esi, ebx
push eax
push ecx
push esi
push edi
push str._lld__lld__lld_n
call fcn.10039f03
add esp, 0x1c
jmp 0x1003898b
push 0x10062d54
call fcn.1003a126
pop ecx
mov dword [ebp - 0x40], 0xf33d48a2
mov dword [ebp - 0x40], 0x194e4064
mov dword [ebp - 0x28], ebx
jmp 0x100389af
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x14c], 0x2db60270
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 1
jl 0x1003899e
mov dword [ebp - 0x28], ebx
jmp 0x100389c7
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x238], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x100389ba
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
neg ecx
inc dword [ebp - 0x38]
cmp ecx, eax
jl 0x100389e5
xor edx, edx
inc edx
jmp 0x100389e7
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x20]
jmp 0x1003868a
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x3c], 0x7578
jge 0x10038a34
mov edx, dword [ebp - 0x50]
mov ecx, 0x10070b88
call fcn.10010f71
jmp 0x10038a34
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x1b4]
push eax
lea edx, [ebp - 0x19c]
mov dword [ebp - 4], 9
call fcn.10038c9b
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.1000ed75
push ebx
push 1
lea ecx, [ebp - 0x13c]
call fcn.1000ed75
push ebx
push 1
lea ecx, [ebp - 0x1b4]
call fcn.1000ed75
push ebx
push 1
lea ecx, [ebp - 0x19c]
call fcn.1000ed75
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xac]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret