Function at 0x41fc80
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov edi, ecx
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 2
mov dword [esi + 0xb8], 1
push 0xc904973f
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
lea ecx, [esi + 0x28]
lea edx, [esi + 0xb0]
push ecx
push edx
push dword [ebp + 0xc]
push dword [ebp + 8]
call eax
test eax, eax
je 0x41fd1b
cmp dword [edi], 0xffffffff
jne 0x41fdc5
jmp 0x4202b5
push 0x39be051d
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
mov dword [esi], eax
push 0x847b02a2
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
mov dword [esi + 4], eax
push 0x2e775759
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x28]
jmp 0x41fd73
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
je 0x41fda4
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
call dword [esi]
mov dword [edi], eax
cmp eax, 0xffffffff
je 0x41fd70
push dword [ebx + 0x10]
push dword [ebx + 0x18]
push eax
call dword [esi + 4]
test eax, eax
je 0x41fda4
push dword [edi]
call dword [esi + 8]
mov dword [edi], 0xffffffff
jmp 0x41fd70
push 0x18c354a9
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
push dword [esi + 0x28]
call eax
cmp dword [edi], 0xffffffff
je 0x4202b5
mov ecx, dword [ebp + 0x10]
mov eax, 0x8d
nop
nop
nop
cmp byte [ecx + eax - 0x8d], 0
lea eax, [eax + 1]
jne 0x41fdd0
mov edx, dword [ebp + 8]
inc eax
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x41fde0
mov dword [esi + 0x1c], edi
mov edx, dword [ebp + 0xc]
nop
inc eax
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x41fdf0
add eax, 3
and eax, 0xfffffffc
call fcn.004085c0
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 4], eax
mov esp, eax
mov dword [esi + 0x30], 0x51a072c
mov dword [esi + 0x34], 0x3b212200
mov dword [esi + 0x38], 0x115c5827
mov dword [esi + 0x3c], 0x27eeeee9
mov word [esi + 0x40], 0x5f3c
mov dword [esi + 0x42], 0
mov byte [esi + 0x46], 0
xor edi, edi
nop
nop
nop
movzx ebx, byte [esi + edi + 0x30]
mov edx, edi
not edx
or edx, 0xfc5334ed
add edx, edi
mov eax, edi
or eax, 0xfc5334ed
add edx, eax
inc edx
xor edx, ebx
mov eax, edx
xor eax, 0xa4
and edx, 0x5b
add edx, edx
sub edx, eax
add dl, 3
mov byte [esi + edi + 0x30], dl
mov eax, edi
xor eax, 0x7ffffffe
mov edx, edi
or edx, 1
and edx, eax
xor edi, 1
lea edi, [edi + edx*2]
cmp edi, 0x17
jb 0x41fe40
mov dword [esi + 0xc], 0x311a0805
mov byte [esi + 0x10], 0x50
mov dword [esi + 0x11], 0
mov dword [esi + 0x14], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax + eax]
mov edi, edx
and edi, 0x1a
mov ebx, eax
xor ebx, 0x6d
add ebx, edi
xor bl, byte [esi + eax + 0xc]
add bl, 0xdf
mov byte [esi + eax + 0xc], bl
and edx, 2
xor eax, 1
add eax, edx
cmp eax, 0xc
jb 0x41feb0
movzx eax, byte [esi + 0xc]
mov ebx, dword [esi + 4]
test al, al
je 0x41fefb
lea edx, [esi + 0xd]
mov ebx, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x41fef0
mov byte [ebx], 0
movzx eax, byte [ecx]
test al, al
je 0x41ff1d
inc ecx
mov edx, dword [ebp + 8]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ff10
jmp 0x41ff20
mov edx, dword [ebp + 8]
mov byte [ebx], 0
movzx eax, byte [esi + 0x30]
test al, al
je 0x41ff3b
lea ecx, [esi + 0x31]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ff30
mov byte [ebx], 0
movzx eax, byte [edx]
test al, al
je 0x41ff5b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x41ff50
mov byte [ebx], 0x3a
mov dword [esi + 0x30], 0x87fb2f2d
mov dword [esi + 0x34], 0x8ff39b8f
mov dword [esi + 0x38], 0x842ed78d
mov dword [esi + 0x3c], 0x98859391
mov dword [esi + 0x40], 0x8b9b9e97
mov dword [esi + 0x44], 0x90fd3331
mov dword [esi + 0x48], 0xa0a39392
mov dword [esi + 0x4c], 0xa9a9a4b0
mov dword [esi + 0x50], 0xa7db19fe
mov dword [esi + 0x54], 0xafd3bbaf
mov dword [esi + 0x58], 0xc01804ad
mov dword [esi + 0x5c], 0xc0ffb2b1
mov dword [esi + 0x60], 0xb4c9b7b5
mov dword [esi + 0x64], 0xafbfb2bb
mov dword [esi + 0x68], 0x5643d6f5
mov dword [esi + 0x6c], 0x3422fd1a
mov dword [esi + 0x70], 0x749574d
mov dword [esi + 0x74], 0x3a46205b
mov dword [esi + 0x78], 0x340f463d
mov dword [esi + 0x7c], 0x38075859
mov dword [esi + 0x80], 0x93d5938
mov dword [esi + 0x84], 0x2839243c
mov dword [esi + 0x88], 0xc9cb0457
mov dword [esi + 0x8c], 0x2e656013
mov dword [esi + 0x90], 0x18686413
mov dword [esi + 0x94], 0x6e656a67
mov dword [esi + 0x98], 0x7204247c
mov dword [esi + 0x9c], 0x78736262
mov dword [esi + 0xa0], 0x36c62f7a
mov dword [esi + 0xa4], 0xd6d4d02b
mov word [esi + 0xa8], 0xe1d6
mov byte [esi + 0xae], 0
mov dword [esi + 0xaa], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x30]
mov dword [esi], ecx
lea edx, [eax - 0x690d273a]
mov edi, ecx
not edi
or edi, edx
lea edx, [ecx + edi]
inc edx
mov ecx, edx
and ecx, 0xfd
mov edi, edx
or edi, 0xfd
inc edi
imul edi, ecx
mov ecx, edx
and ecx, 2
or edx, 2
imul edx, ecx
sub edi, edx
mov ecx, dword [esi]
add ecx, eax
add ecx, 0x96f2d8c6
add ecx, edi
add cl, 0x22
mov byte [esi + eax + 0x30], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x7f
jb 0x420070
inc ebx
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx]
test al, al
je 0x4200eb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4200e0
mov byte [ebx], 0
movzx eax, byte [esi + 0x30]
test al, al
je 0x42010b
lea ecx, [esi + 0x31]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420100
mov byte [ebx], 0
mov edi, dword [esi + 4]
sub ebx, edi
push 0xd0026952
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
push 0
push ebx
push edi
mov edi, dword [esi + 0x1c]
push dword [edi]
call eax
cmp eax, 0xffffffff
jne 0x420178
cmp dword [edi], 0xffffffff
je 0x420178
push 0x59ea2086
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
push 2
push dword [edi]
call eax
push 0x2e775759
push dword [0x44b9f8]
call fcn.004400a0
add esp, 8
push dword [edi]
call eax
mov dword [edi], 0xffffffff
xor eax, eax
jmp 0x420785
cmp eax, 0xffffffff
je 0x4202b5
push 0x400
call fcn.004086e0
add esp, 4
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
add eax, 0x400
mov dword [esi + 0x14], eax
lea eax, [esi + 0xc]
mov ecx, edi
push eax
call fcn.00420790
mov cl, 1
mov dword [esi + 0x18], ecx
test al, al
je 0x42076d
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov ebx, edx
sub ebx, ecx
mov eax, ecx
cmp edx, dword [esi + 0x14]
jne 0x42032a
mov eax, edx
not eax
and eax, ecx
mov dword [esi], ecx
not ecx
mov dword [esi + 0x18], edx
and ecx, edx
sub ecx, eax
mov edx, ecx
shr edx, 1
add edx, ecx
lea eax, [ebx - 0x5ab28c26]
add eax, 0x5ab28c27
cmp edx, eax
ja 0x4201f1
mov edx, eax
mov dword [esi + 0x24], edx
push edx
call fcn.004086e0
add esp, 4
mov ecx, dword [esi]
test ecx, ecx
mov dword [esi + 4], eax
je 0x420311
cmp eax, ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 8], ebx
jbe 0x4202bc
cmp ecx, eax
jbe 0x4202bc
test ebx, ebx
je 0x4202fb
mov edx, dword [esi + 8]
mov eax, dword [esi]
add eax, edx
dec eax
mov ecx, dword [esi + 4]
add ecx, edx
dec ecx
mov edi, edx
and edi, 7
je 0x420254
neg edi
xor edx, edx
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp edi, edx
jne 0x420241
add eax, edx
add ecx, edx
add edx, dword [esi + 8]
mov edi, dword [esi]
sub edi, dword [esi + 0x18]
cmp edi, 0xfffffff8
ja 0x4202fb
neg edx
xor edi, edi
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
movzx ebx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], bl
movzx ebx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], bl
movzx ebx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], bl
movzx ebx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], bl
movzx ebx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], bl
movzx ebx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], bl
movzx ebx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], bl
add edi, 0xfffffff8
cmp edx, edi
jne 0x420266
jmp 0x4202fb
xor eax, eax
jmp 0x420785
mov ecx, ebx
shr ecx, 2
mov edx, dword [esi]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
lea edi, [eax + edx]
add edx, dword [esi]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esi + 0x20], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
je 0x4202fb
mov eax, dword [esi + 8]
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esi + 0x20]
mov byte [edx + eax], cl
push dword [esi + 0xc]
call fcn.004086f0
add esp, 4
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 8]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
add eax, ebx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x24]
add edx, eax
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x18]
cmp ebx, ebx
jae 0x420393
add ecx, ebx
sub ecx, edx
add eax, ebx
cmp ecx, 1
jle 0x420346
lea edx, [eax + ecx]
mov dword [esi], edx
lea edx, [eax + ecx]
dec edx
mov eax, dword [esi]
jmp 0x42038e
lea edi, [eax + 1]
mov dword [esi], ecx
mov ecx, dword [esi]
shr ecx, 2
mov edx, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi]
and edx, 0xfffffffc
lea ecx, [eax + edx]
inc ecx
add edx, eax
mov eax, ecx
mov ecx, dword [esi]
shr ecx, 1
and ecx, 1
mov dword [esi + 8], ebx
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [esi]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x1c]
test cl, 1
je 0x420393
and ecx, 2
add eax, ecx
add edx, ecx
movzx ecx, byte [edx]
mov byte [eax], cl
mov eax, dword [esi + 0xc]
mov byte [eax + ebx], 0
mov eax, dword [esi + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 8], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], 0xe1eaebe4
mov dword [esi + 0x34], 0x60c0001
mov dword [esi + 0x38], 0xfa060414
mov byte [esi + 0x3c], 0xc8
mov dword [esi + 0x3d], 0
mov ecx, 0x7c0ac4f5
mov edx, 0x7ea764a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
and eax, 0x2c
mov ebx, ecx
and ebx, 0xd3
or ebx, eax
xor bl, byte [esi + ecx - 0x7c0ac4c5]
xor bl, 0x2c
add bl, 0x37
mov byte [esi + ecx - 0x7c0ac4c5], bl
inc ecx
dec edx
cmp ecx, 0x7c0ac506
jne 0x4203e0
movzx edx, byte [esi + 0x30]
mov eax, dword [esi + 4]
mov dword [esi], eax
test dl, dl
je 0x42045b
lea ebx, [esi + 0x30]
mov eax, dword [esi + 4]
mov ecx, eax
mov dword [esi], eax
jmp 0x42043a
movzx edx, byte [ebx]
test dl, dl
mov edi, dword [esi + 0x1c]
je 0x42045b
movzx eax, byte [ecx]
test al, al
je 0x42075a
inc ecx
inc ebx
mov edi, dword [esi]
inc edi
cmp al, dl
je 0x420454
mov eax, edi
mov dword [esi], edi
mov ecx, edi
je 0x420430
lea ebx, [esi + 0x30]
jmp 0x420430
cmp dword [esi], 0
je 0x42075a
mov ebx, dword [esi + 8]
jmp 0x42047e
cmp dl, dh
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 8]
je 0x42076d
mov ecx, edi
mov edi, dword [esi + 4]
mov edx, edi
sub edx, ebx
je 0x4204a8
mov dword [esi], ebx
xor ecx, ecx
mov dword [esi + 4], edi
mov eax, dword [esi]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, dword [esi + 4]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [esi + 0x1c]
add dword [esi + 0x10], edx
lea eax, [esi + 0xc]
push eax
call fcn.00420790
test al, al
je 0x420766
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
mov ebx, edi
sub ebx, ecx
mov eax, ecx
cmp edi, dword [esi + 0x14]
je 0x4204e0
cmp ebx, ebx
jb 0x420649
jmp 0x4206a7
mov eax, edi
not eax
and eax, ecx
mov dword [esi], ecx
not ecx
and ecx, edi
sub ecx, eax
mov edx, ecx
shr edx, 1
add edx, ecx
lea eax, [ebx - 0x5ab28c26]
add eax, 0x5ab28c27
cmp edx, eax
ja 0x420505
mov edx, eax
mov dword [esi + 8], edx
push edx
call fcn.004086e0
add esp, 4
mov ecx, dword [esi]
test ecx, ecx
je 0x420634
cmp eax, ecx
mov dword [esi + 4], ebx
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], eax
jbe 0x4205df
cmp edi, eax
jbe 0x4205df
test ebx, ebx
je 0x42061e
mov edx, dword [esi + 4]
mov eax, dword [esi]
add eax, edx
dec eax
mov ecx, dword [esi + 0x20]
add ecx, edx
dec ecx
mov edi, edx
and edi, 7
je 0x420573
neg edi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp edi, edx
jne 0x420560
add eax, edx
add ecx, edx
add edx, dword [esi + 4]
mov edi, dword [esi]
sub edi, dword [esi + 0x24]
cmp edi, 0xfffffff8
ja 0x42061e
neg edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
movzx ebx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], bl
movzx ebx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], bl
movzx ebx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], bl
movzx ebx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], bl
movzx ebx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], bl
movzx ebx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], bl
movzx ebx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], bl
add edi, 0xfffffff8
cmp edx, edi
jne 0x420590
jmp 0x42061e
mov ecx, ebx
shr ecx, 2
mov edx, dword [esi]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
lea edi, [eax + edx]
add edx, dword [esi]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, edx
mov dword [esi + 0x2c], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
je 0x42061e
mov eax, dword [esi + 4]
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esi + 0x2c]
mov byte [edx + eax], cl
push dword [esi + 0xc]
call fcn.004086f0
add esp, 4
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [esi + 0xc], eax
lea edx, [eax + ebx]
mov dword [esi + 0x10], edx
mov edx, dword [esi + 8]
add edx, eax
mov dword [esi + 0x14], edx
cmp ebx, ebx
jae 0x4206a7
add ecx, ebx
sub ecx, edi
add eax, ebx
cmp ecx, 1
jle 0x42065d
lea edi, [eax + ecx]
lea edx, [eax + ecx]
dec edx
jmp 0x4206a2
lea edi, [eax + 1]
mov dword [esi], ecx
mov ecx, dword [esi]
shr ecx, 2
mov edx, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi]
and edx, 0xfffffffc
lea edi, [eax + edx]
inc edi
add edx, eax
mov ecx, dword [esi]
shr ecx, 1
and ecx, 1
mov dword [esi + 4], ebx
mov ebx, edx
mov eax, edi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
test cl, 1
je 0x4206a7
and ecx, 2
mov edi, eax
add edi, ecx
add edx, ecx
movzx ecx, byte [edx]
mov byte [edi], cl
mov eax, dword [esi + 0xc]
mov byte [eax + ebx], 0
mov eax, dword [esi + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 8], eax
mov dword [esi + 0x10], eax
mov word [esi + 0x30], 0x9795
mov byte [esi + 0x32], 0x8e
mov dword [esi + 0x33], 0
mov ecx, 0xdd
lea eax, [esi + 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi], eax
movzx edx, byte [eax]
mov ebx, ecx
and ebx, edx
lea eax, [ecx - 0x14995900]
or eax, edx
not eax
or eax, ebx
lea edx, [eax - 0x66feb8ab]
lea ebx, [eax*2 + 0x32028eaa]
and ebx, 2
mov edi, 0xaa
sub edi, eax
and edi, 0xc4
mov eax, ebx
and eax, edx
and edx, 0x3b
or edx, edi
or edx, ebx
xor edx, 0xc5
add edx, eax
mov eax, dword [esi]
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0xd6
jne 0x4206e0
xor ecx, ecx
mov eax, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax + ecx]
mov dh, byte [esi + ecx + 0x30]
test dl, dl
je 0x420470
inc ecx
cmp dl, dh
je 0x420740
jmp 0x420470
mov ecx, edi
push 0x3ea
call fcn.0041f9d0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x420782
cmp eax, dword [esi + 0x10]
je 0x420782
push eax
call fcn.004086f0
add esp, 4
mov eax, dword [esi + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc