Function at 0x40f270
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x38
mov eax, dword [0x42968c]
push ebx
push ebp
xor ebx, ebx
or ebp, 0xffffffff
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
je 0x40f3d6
mov eax, dword [0x429680]
mov edi, dword [eax]
add eax, 4
cmp edi, ebx
mov dword [0x429680], eax
je 0x40f359
push 2
push 5
call fcn.00403700
add esp, 8
cmp eax, ebx
je 0x40f2d1
cmp byte [eax], 0
je 0x40f2d1
push ebx
push edi
call fcn.00403b00
push eax
call fcn.00401ee0
add esp, 0xc
mov eax, dword [0x42967c]
mov esi, dword [0x429678]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
fild qword [esp + 0x38]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
fild qword [esp + 0x38]
fmul qword [0x421530]
fdiv st(1)
call fcn.00419e24
mov edx, dword [edi + 0xa]
mov dword [esp + 0x3c], ebx
add esi, edx
mov ebp, eax
mov dword [esp + 0x38], esi
mov dword [0x429678], esi
fild qword [esp + 0x38]
fmul qword [0x421530]
fdiv st(1)
call fcn.00419e24
push eax
push ebp
push edi
fstp st(0)
call fcn.0040ee70
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40f343
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push eax
call fcn.00401320
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov esi, dword [0x429738]
mov edi, dword [0x421298]
cmp esi, ebx
mov dword [0x429770], ebx
mov dword [0x42968c], ebx
je 0x40f393
push 1
push 5
call fcn.00403700
add esp, 8
push eax
push 0x417
push esi
call edi
push eax
call fcn.00407aa0
add esp, 8
mov esi, dword [0x4296b4]
cmp esi, ebx
je 0x40f3bb
push 3
push 5
call fcn.00403700
add esp, 8
push eax
push 0x3e9
push esi
call edi
push eax
call fcn.00407aa0
add esp, 8
cmp dword [0x429344], ebx
jne 0x40f3cd
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push ebx
call fcn.00401e60
add esp, 4
mov ecx, dword [0x4292b8]
mov dword [esp + 0x10], ebp
mov byte [ecx], 0
mov ecx, dword [0x429348]
mov eax, dword [0x4292d0]
cmp ecx, ebx
je 0x40f404
lea eax, [eax + eax*4 + 5]
xor edx, edx
lea eax, [eax + eax*4]
shl eax, 2
div ecx
mov dword [esp + 0x18], eax
mov edi, pe_nt_image_headers32
mov eax, dword [0x4292d0]
mov ecx, dword [0x429348]
inc eax
cmp eax, ecx
mov dword [0x4292d0], eax
jae 0x40ff0c
mov eax, dword [0x4292cc]
mov ebp, eax
push eax
mov dword [esp + 0x24], ebp
call fcn.00403810
xor ebx, ebx
mov dword [0x4292cc], eax
mov bx, word [ebp + 2]
push ebp
mov dword [esp + 0x3c], ebx
mov word [ebp + 2], 0
call fcn.0040d7c0
mov ecx, dword [0x4292bc]
mov dword [esp + 0x2c], eax
add esp, 8
cmp byte [ecx], 0
je 0x40f409
test bl, 2
je 0x40f50d
mov edx, dword [0x4292b4]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40f46f
call fcn.00407850
test eax, eax
je 0x40f4b0
mov edx, dword [0x4292d0]
mov ecx, dword [0x429348]
cmp edx, ecx
mov eax, ebp
jge 0x40f4b0
mov esi, dword [eax + 0x1a]
push eax
or esi, edi
mov dword [eax + 0x1a], esi
call fcn.00403810
mov ecx, dword [0x429348]
add esp, 4
inc edx
cmp edx, ecx
jl 0x40f494
mov edx, dword [0x429650]
test byte [edx], 0x10
je 0x40f50d
mov eax, dword [0x4292bc]
push 0
push eax
call fcn.004010a0
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x40f504
push 0xfffffffffffffff8
push esi
call fcn.00401200
lea ecx, [esp + 0x48]
push 8
push ecx
push esi
call fcn.00401120
push esi
call fcn.00401320
add esp, 0x18
cmp word [esp + 0x40], 0x7f7f
jne 0x40f504
test byte [esp + 0x42], 2
jne 0x40f409
mov edx, dword [0x4292b4]
mov byte [edx], 0x30
mov eax, dword [0x4292d0]
xor edx, edx
lea eax, [eax + eax*4 + 5]
lea eax, [eax + eax*4]
shl eax, 2
div dword [0x429348]
mov ebx, eax
mov eax, dword [ebp + 0x1a]
test edi, eax
mov dword [esp + 0x28], ebx
jne 0x40feb7
test dword [0x429700], eax
je 0x40feb7
test ah, 2
jne 0x40f6d4
test al, 0x40
mov edi, 1
je 0x40f573
mov eax, dword [0x4292bc]
push 0
push eax
call fcn.004010a0
add esp, 8
cmp eax, 0xffffffff
je 0x40f573
push eax
call fcn.00401320
add esp, 4
jmp 0x40f5d2
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40f5d4
mov ecx, dword [0x4292bc]
push 0
push ecx
mov dword [esp + 0x38], 0
call fcn.004010a0
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x40f5c7
push esi
call fcn.00401220
mov ecx, dword [ebp + 0x12]
add esp, 4
cmp eax, ecx
jne 0x40f5be
lea edx, [esp + 0x38]
lea eax, [esp + 0x30]
push edx
push eax
push esi
call fcn.00405150
add esp, 0xc
push esi
call fcn.00401320
add esp, 4
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x16]
cmp ecx, eax
jne 0x40f5d4
xor edi, edi
test edi, edi
mov dword [0x429770], 0
je 0x40f6e8
mov eax, dword [0x429654]
test eax, eax
je 0x40f404
push 2
push 5
call fcn.00403700
add esp, 8
test eax, eax
je 0x40f616
cmp byte [eax], 0
je 0x40f616
mov eax, dword [0x4292bc]
push eax
call fcn.00401ee0
add esp, 4
mov ecx, dword [0x4292bc]
push ecx
call fcn.00402310
mov ecx, dword [0x4292bc]
mov edx, dword [0x4292b8]
add esp, 4
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40f631
mov edx, dword [0x4292b8]
push str..__A
push edx
call fcn.00402000
mov eax, dword [0x4292b8]
push 0
push eax
call fcn.004010a0
add esp, 0x10
cmp eax, 0xffffffff
je 0x40f6a1
push eax
call fcn.00401320
mov esi, dword [0x4292b8]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
push eax
mov dl, byte [ecx + esi - 1]
or ecx, 0xffffffff
inc dl
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ecx + esi - 1], dl
mov eax, dword [0x4292b8]
push eax
call fcn.004010a0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40f661
mov eax, dword [ebp + 0x1a]
test al, 0x20
je 0x40f6f3
push 0
push ebp
call fcn.00403b00
mov ecx, dword [0x429690]
mov edx, dword [0x4292b8]
push eax
push ecx
push edx
call fcn.0040f190
add esp, 0x14
test eax, eax
je 0x40ff0c
jmp 0x40fcb9
mov edx, dword [0x4292bc]
push edx
call fcn.00402310
add esp, 4
jmp 0x40feb7
mov word [ebp + 2], 0x1f5
jmp 0x40fde8
test eax, 0x200000
je 0x40f726
mov eax, dword [esp + 0x18]
mov esi, ebx
sub esi, eax
shr esi, 1
add esi, eax
push esi
push eax
push ebp
call fcn.0040ee70
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x40ff0c
mov ebx, esi
mov dword [esp + 0x18], ebx
jmp 0x40f72a
mov ebx, dword [esp + 0x18]
mov eax, dword [0x4292b8]
push eax
call fcn.004010f0
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
jne 0x40f75e
mov ecx, dword [0x4292b8]
mov dword [0x429770], 0x11
push ecx
call fcn.0040a2c0
jmp 0x40fedd
mov al, byte [esp + 0x34]
test al, 1
je 0x40fa62
mov eax, dword [ebp + 0x28]
xor edx, edx
mov dx, word [ebp + 0x26]
mov edi, dword [edx*4 + 0x429610]
add edi, 4
test eax, eax
jle 0x40f791
mov edx, eax
push edi
call fcn.00403810
add esp, 4
dec edx
mov edi, eax
jne 0x40f783
mov eax, dword [edi + 0x1a]
test al, 0x20
je 0x40f7d1
push esi
call fcn.00401320
push 0
push ebp
mov dword [esp + 0x1c], 0xffffffff
call fcn.00403b00
mov ecx, dword [0x4292b8]
push eax
mov eax, dword [0x429690]
push eax
push ecx
call fcn.0040f190
add esp, 0x18
test eax, eax
je 0x40fee0
jmp 0x40f978
test eax, 0x200000
je 0x40f800
mov esi, dword [esp + 0x28]
sub esi, ebx
shr esi, 1
add esi, ebx
push esi
push ebx
push edi
call fcn.0040ee70
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x40fee0
mov dword [esp + 0x18], esi
jmp 0x40f819
mov edx, dword [edi + 6]
push edx
call fcn.0040b270
add esp, 4
mov dword [0x429770], eax
test eax, eax
jne 0x40fee0
mov ecx, dword [0x429324]
xor eax, eax
mov ax, word [ebp + 0x26]
xor edx, edx
cmp ecx, edx
mov eax, dword [eax*4 + 0x4295d0]
mov ebx, dword [eax + 8]
mov ax, word [eax + 2]
mov dword [0x42930c], edx
mov dword [0x429308], edx
mov byte [0x4292e4], 0x39
je 0x40f8be
cmp ax, dx
je 0x40f8be
cmp ebx, 2
je 0x40f8be
mov esi, 5
test ebx, ebx
mov dword [0x429308], esi
jne 0x40f88a
xor eax, eax
mov edx, 1
mov al, byte [ecx]
mov esi, eax
xor esi, 0x6a
inc ecx
cmp esi, 0x1f
mov dword [0x429308], esi
jle 0x40f88a
mov esi, 0x1f
mov dword [0x429308], esi
xor eax, eax
test esi, esi
jle 0x40f8b3
mov ebp, ecx
sub ebp, 0x4292e8
mov bl, byte [eax + ebp + 0x4292e8]
mov cl, dl
add cl, al
xor bl, cl
xor bl, 0x6a
mov byte [eax + 0x4292e8], bl
inc eax
cmp eax, esi
jl 0x40f898
mov ebp, dword [esp + 0x20]
mov byte [esi + 0x4292e8], 0
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
jne 0x40f8cc
mov eax, dword [0x424040]
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x38]
push edx
mov edx, dword [edi + 0xa]
lea ecx, [esp + 0x34]
push ecx
push edx
push eax
push ebx
call fcn.00403270
mov esi, eax
mov eax, dword [0x4296f4]
add esp, 0x14
test esi, esi
je 0x40f927
cmp eax, 2
je 0x40fecc
push 0
push edi
call fcn.00403b00
add esp, 8
push eax
push 0
push edi
call fcn.00403b00
add esp, 8
push eax
push esi
call fcn.0040b470
add esp, 0xc
mov dword [0x429770], eax
jmp 0x40fecc
cmp eax, 2
je 0x40fecc
mov eax, dword [esp + 0x14]
or esi, 0xffffffff
cmp eax, esi
je 0x40f948
push eax
call fcn.00401320
add esp, 4
mov dword [esp + 0x14], esi
push ebx
call fcn.00401320
mov eax, dword [esp + 0x34]
mov ecx, dword [edi + 0x12]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x10], esi
jne 0x40f96b
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 0x16]
cmp ecx, eax
je 0x40f978
call fcn.0040ded0
test eax, eax
je 0x40fecc
mov eax, dword [0x429650]
mov ecx, dword [0x429324]
xor edx, edx
mov edi, dword [eax + 8]
mov ax, word [eax + 2]
cmp ecx, edx
mov dword [0x42930c], edx
mov dword [0x429308], edx
mov byte [0x4292e4], 0x39
je 0x40fa15
test ax, ax
je 0x40fa15
cmp edi, 2
je 0x40fa15
mov esi, 5
test edi, edi
mov dword [0x429308], esi
jne 0x40f9e1
xor eax, eax
mov edx, 1
mov al, byte [ecx]
mov esi, eax
xor esi, 0x6a
inc ecx
cmp esi, 0x1f
mov dword [0x429308], esi
jle 0x40f9e1
mov esi, 0x1f
mov dword [0x429308], esi
xor eax, eax
test esi, esi
jle 0x40fa0a
mov edi, ecx
sub edi, 0x4292e8
mov bl, byte [edi + eax + 0x4292e8]
mov cl, dl
add cl, al
xor bl, cl
xor bl, 0x6a
mov byte [eax + 0x4292e8], bl
inc eax
cmp eax, esi
jl 0x40f9ef
mov ebp, dword [esp + 0x20]
mov byte [esi + 0x4292e8], 0
mov esi, dword [esp + 0x1c]
cmp esi, 0xffffffff
je 0x40fa2c
mov edi, dword [0x424040]
mov dword [0x424040], esi
jmp 0x40fa30
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4292b8]
push edx
push eax
push ecx
push ebp
call fcn.0040df50
add esp, 0x10
cmp esi, 0xffffffff
je 0x40fa55
mov dword [0x424040], edi
test eax, eax
je 0x40fecc
jmp 0x40fcb9
test al, 2
je 0x40fb2d
mov ecx, dword [0x42965c]
test ecx, ecx
je 0x40fcb9
mov eax, dword [0x429658]
test eax, eax
je 0x40fcb9
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
call fcn.00401160
add esp, 0xc
mov dword [0x429770], eax
test eax, eax
jne 0x40fee0
mov eax, dword [ebp + 6]
push eax
call fcn.0040b270
add esp, 4
mov dword [0x429770], eax
test eax, eax
jne 0x40fee0
mov edx, dword [0x424040]
mov edi, dword [esp + 0x10]
xor ebx, ebx
mov byte [0x4292e4], 0x39
mov dword [0x42930c], ebx
mov dword [0x429308], ebx
mov ecx, dword [ebp + 0xa]
push ebx
push ebx
push ecx
push edx
push edi
call fcn.00403270
mov esi, eax
mov eax, dword [0x4296f4]
add esp, 0x14
cmp esi, ebx
je 0x40fb0e
cmp eax, 2
je 0x40fee0
push ebx
push ebp
call fcn.00403b00
add esp, 8
push eax
push ebx
jmp 0x40fc3e
cmp eax, 2
je 0x40fee0
push edi
call fcn.00401320
add esp, 4
mov dword [esp + 0x10], 0xffffffff
jmp 0x40fcb9
cmp dword [esp + 0x1c], 0xffffffff
jne 0x40fb4d
mov eax, dword [ebp + 6]
push eax
call fcn.0040b270
add esp, 4
mov dword [0x429770], eax
test eax, eax
jne 0x40fef2
mov edx, dword [0x429324]
xor ecx, ecx
mov cx, word [ebp + 0x26]
mov eax, dword [ecx*4 + 0x4295d0]
xor ecx, ecx
cmp edx, ecx
mov edi, dword [eax + 8]
mov ax, word [eax + 2]
mov dword [0x42930c], ecx
mov dword [0x429308], ecx
mov byte [0x4292e4], 0x39
je 0x40fbf2
cmp ax, cx
je 0x40fbf2
cmp edi, 2
je 0x40fbf2
mov esi, 5
test edi, edi
mov dword [0x429308], esi
jne 0x40fbbe
xor eax, eax
mov ecx, 1
mov al, byte [edx]
mov esi, eax
xor esi, 0x6a
inc edx
cmp esi, 0x1f
mov dword [0x429308], esi
jle 0x40fbbe
mov esi, 0x1f
mov dword [0x429308], esi
xor eax, eax
test esi, esi
jle 0x40fbe7
mov edi, edx
sub edi, 0x4292e8
mov bl, byte [edi + eax + 0x4292e8]
mov dl, cl
add dl, al
xor bl, dl
xor bl, 0x6a
mov byte [eax + 0x4292e8], bl
inc eax
cmp eax, esi
jl 0x40fbcc
mov ebp, dword [esp + 0x20]
mov byte [esi + 0x4292e8], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jne 0x40fc00
mov eax, dword [0x424040]
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [ebp + 0xa]
lea edx, [esp + 0x3c]
push edx
push ecx
push eax
push edi
call fcn.00403270
mov esi, eax
mov eax, dword [0x4296f4]
add esp, 0x14
test esi, esi
je 0x40fc5b
cmp eax, 2
je 0x40fee0
push 0
push ebp
call fcn.00403b00
add esp, 8
push eax
push 0
push ebp
call fcn.00403b00
add esp, 8
push eax
push esi
call fcn.0040b470
add esp, 0xc
mov dword [0x429770], eax
jmp 0x40fee0
cmp eax, 2
je 0x40fee0
mov eax, dword [ebp + 0x1a]
test al, 8
je 0x40fc85
test al, 6
lea eax, [ebp + 0x40]
jne 0x40fc75
lea eax, [ebp + 0x2c]
lea edx, [eax + 0x10]
lea ecx, [eax + 8]
push edx
push ecx
push eax
push edi
call dword [0x42117c]
push edi
call fcn.00401320
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x12]
add esp, 4
cmp edx, eax
mov dword [esp + 0x10], 0xffffffff
jne 0x40fcac
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0x16]
cmp eax, ecx
je 0x40fcb9
call fcn.0040ded0
test eax, eax
je 0x40fee0
cmp dword [ebp + 0x22], 3
jne 0x40fcf9
mov ecx, dword [0x4292bc]
push 0
push ecx
call fcn.004010a0
add esp, 8
cmp eax, 0xffffffff
je 0x40fcf9
push eax
call fcn.00401320
mov edx, dword [0x4292bc]
push edx
call fcn.00402a60
mov eax, dword [0x4292bc]
push eax
call fcn.00401330
add esp, 0xc
mov dword [esp + 0x24], eax
cmp dword [ebp + 0x22], 2
je 0x40fdb4
mov eax, dword [ebp + 0x1a]
mov esi, 0x1000
test esi, eax
jne 0x40fdb4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40fd4f
mov ecx, dword [0x4292b8]
mov edx, dword [0x4292bc]
push ecx
push edx
call fcn.00411420
add esp, 8
test eax, eax
je 0x40fd47
mov dword [0x429768], 1
mov word [ebp + 2], 0x1f4
jmp 0x40fd5e
mov word [ebp + 2], 0x1b
jmp 0x40fd5e
mov eax, dword [0x4292b8]
push eax
push ebp
call fcn.0040dac0
add esp, 8
mov ax, word [ebp + 2]
cmp ax, 0x1b
jne 0x40fd83
mov ecx, dword [0x4292bc]
mov dword [0x429770], 0x16
push ecx
call fcn.0040a2c0
jmp 0x40fec9
test dword [ebp + 0x1e], esi
je 0x40fde8
cmp ax, 0x1f4
push pe_nt_image_headers32
jne 0x40fda4
mov edx, dword [0x4292b8]
push edx
call fcn.00418dfc
add esp, 8
jmp 0x40fde8
mov eax, dword [0x4292bc]
push eax
call fcn.00418dfc
add esp, 8
jmp 0x40fde8
mov edi, dword [0x4292b8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
inc ecx
push ecx
call fcn.004190e0
mov dword [ebp + 0xe], eax
mov ecx, dword [0x4292b8]
add esp, 4
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40fdd8
mov word [ebp + 2], 0x1f6
mov eax, dword [0x429770]
test eax, eax
jne 0x40fecc
mov ecx, dword [0x4292b8]
mov al, byte [esp + 0x34]
test al, 2
mov byte [ecx], 0
je 0x40fe0c
mov word [ebp + 2], 0
mov eax, dword [ebp + 0x22]
test eax, eax
je 0x40fe3c
mov eax, dword [ebp + 0x1a]
test ah, 4
je 0x40fe3c
mov ax, word [ebp + 2]
cmp ax, 0x17
je 0x40fe37
cmp ax, 0x19
je 0x40fe37
cmp ax, 0x1f5
je 0x40fe37
cmp ax, 0x1f4
jne 0x40fe3c
call fcn.0040ea50
cmp dword [ebp + 0x22], 3
jne 0x40fe61
mov ax, word [ebp + 2]
cmp ax, 0x17
je 0x40fe52
cmp ax, 0x19
jne 0x40fe61
mov edx, dword [0x4292bc]
push edx
call fcn.00402770
add esp, 4
mov eax, dword [ebp + 0x1a]
test ah, 0x10
je 0x40fe99
mov eax, dword [0x4296a8]
test eax, eax
je 0x40fe7a
cmp word [ebp + 2], 0x1f5
je 0x40fe90
mov ax, word [ebp + 2]
cmp ax, 0x17
je 0x40fe90
cmp ax, 0x19
je 0x40fe90
cmp ax, 0x1f4
jne 0x40fe99
push ebp
call fcn.0040cea0
add esp, 4
mov eax, dword [ebp + 0x1a]
test ah, 8
je 0x40fea7
mov dword [0x4292e0], ebp
test byte [ebp + 0x1a], 0x10
je 0x40feb7
mov dword [0x4296c0], 1
mov eax, dword [esp + 0x28]
push eax
call fcn.00401e60
mov dword [esp + 0x30], 1
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x40fee0
mov ecx, eax
push ecx
call fcn.00401320
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x40fef2
push eax
call fcn.00401320
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x40ff04
push eax
call fcn.00401320
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40ff1f
mov eax, dword [0x4292b8]
cmp byte [eax], 0
je 0x40ff1f
push eax
call fcn.00419510
add esp, 4
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret