Function at 0x427d76
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x453cb5
call fcn.004534f4
sub esp, 0x270
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
movaps xmm0, xmmword [0x407b60]
movups xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x19c], 0x6e816e
mov edx, ebx
mov dword [ebp - 0x128], edx
cmp edx, 0x12
jae 0x427ddf
movsx ecx, byte [ebp - 0x1ac]
and ecx, 0x8000000f
jns 0x427dcc
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x1ab]
sub al, cl
mov byte [ebp + edx - 0x1ab], al
inc edx
jmp 0x427dad
mov byte [ebp - 0x199], bl
lea edi, [ebp - 0x1ab]
mov dl, 2
mov dword [ebp - 0xbb], 0x7b704102
mov dword [ebp - 0xb7], 0x30317672
mov dword [ebp - 0xb3], 0x6e6e662c
mov byte [ebp - 0xaf], bl
mov ecx, ebx
mov dword [ebp - 0x12c], ecx
cmp ecx, 0xb
jae 0x427e3d
mov al, byte [ebp + ecx - 0xba]
xor al, dl
mov byte [ebp + ecx - 0xba], al
inc ecx
mov dword [ebp - 0x12c], ecx
mov dl, byte [ebp - 0xbb]
jmp 0x427e19
mov byte [ebp - 0xaf], bl
mov edx, edi
lea ecx, [ebp - 0xba]
call fcn.0040c457
mov dword [esi + 0x34c], eax
cmp eax, ebx
jne 0x427f09
movaps xmm0, xmmword [0x407be0]
movups xmmword [ebp - 0x1c4], xmm0
mov dword [ebp - 0x1b4], 0x7d687d
mov ecx, ebx
mov dword [ebp - 0x130], ecx
cmp ecx, 0x12
jae 0x427e9a
mov al, byte [ebp + ecx - 0x1c3]
xor al, byte [ebp - 0x1c4]
mov byte [ebp + ecx - 0x1c3], al
inc ecx
jmp 0x427e78
mov byte [ebp - 0x1b1], bl
mov dl, 2
mov dword [ebp - 0xae], 0x7b704102
mov dword [ebp - 0xaa], 0x30317672
mov dword [ebp - 0xa6], 0x6e6e662c
mov byte [ebp - 0xa2], bl
mov ecx, ebx
mov dword [ebp - 0x134], ecx
cmp ecx, 0xb
jae 0x427ef2
mov al, byte [ebp + ecx - 0xad]
xor al, dl
mov byte [ebp + ecx - 0xad], al
inc ecx
mov dword [ebp - 0x134], ecx
mov dl, byte [ebp - 0xae]
jmp 0x427ece
mov byte [ebp - 0xa2], bl
lea edx, [ebp - 0x1c3]
lea ecx, [ebp - 0xad]
jmp 0x427e4b
mov al, 0x24
mov dword [ebp - 0x3d], 0x76694f24
mov dword [ebp - 0x39], 0x37706972
mov dword [ebp - 0x35], 0x70683236
mov word [ebp - 0x31], 0x70
mov edx, ebx
mov dword [ebp - 0x138], edx
cmp edx, 0xc
jae 0x427f59
movsx ecx, al
and ecx, 0x8000000f
jns 0x427f43
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x3c]
sub al, cl
mov byte [ebp + edx - 0x3c], al
inc edx
mov dword [ebp - 0x138], edx
mov al, byte [ebp - 0x3d]
jmp 0x427f2e
mov byte [ebp - 0x30], bl
lea edi, [ebp - 0x3c]
mov dl, 0x2a
mov dword [ebp - 0x48], 0x44436c2a
push 0x4e
pop ebx
mov byte [ebp - 0x44], bl
mov dword [ebp - 0x43], 0x59454669
mov word [ebp - 0x3f], 0x4f
xor ecx, ecx
mov dword [ebp - 0x13c], ecx
cmp ecx, 9
jae 0x427f9e
mov al, byte [ebp + ecx - 0x47]
xor al, dl
mov byte [ebp + ecx - 0x47], al
inc ecx
mov dword [ebp - 0x13c], ecx
mov dl, byte [ebp - 0x48]
jmp 0x427f83
mov byte [ebp - 0x3e], 0
lea edx, [ebp - 0x47]
mov ecx, edi
call fcn.0040c457
push 0x64
pop ecx
mov dword [esi + 0x350], eax
xor edx, edx
test eax, eax
jne 0x428011
mov al, 0x40
mov dword [ebp - 0x53], 0x6e694640
mov byte [ebp - 0x4f], cl
mov dword [ebp - 0x4e], 0x736f6c43
mov word [ebp - 0x4a], 0x65
mov dword [ebp - 0x140], edx
cmp edx, 9
jae 0x428005
movsx ecx, al
and ecx, 0x8000000f
jns 0x427fef
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x52]
sub al, cl
mov byte [ebp + edx - 0x52], al
inc edx
mov dword [ebp - 0x140], edx
mov al, byte [ebp - 0x53]
jmp 0x427fda
mov byte [ebp - 0x49], 0
lea edx, [ebp - 0x52]
lea ecx, [ebp - 0x3c]
jmp 0x427fa7
movaps xmm0, xmmword [0x407170]
movups xmmword [ebp - 0x27c], xmm0
mov dword [ebp - 0x1b0], edx
cmp edx, 0xe
jae 0x428051
movsx ecx, byte [ebp - 0x27c]
and ecx, 0x8000000f
jns 0x42803e
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x27b]
sub al, cl
mov byte [ebp + edx - 0x27b], al
inc edx
jmp 0x42801f
mov byte [ebp - 0x26d], 0
lea edx, [ebp - 0x27b]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x354], eax
xor ecx, ecx
test eax, eax
jne 0x4280b3
movaps xmm0, xmmword [0x4071f0]
movups xmmword [ebp - 0x26c], xmm0
mov dword [ebp - 0x144], ecx
cmp ecx, 0xe
jae 0x4280a1
mov al, byte [ebp + ecx - 0x26b]
xor al, byte [ebp - 0x26c]
mov byte [ebp + ecx - 0x26b], al
inc ecx
jmp 0x42807f
mov byte [ebp - 0x25d], 0
lea edx, [ebp - 0x26b]
lea ecx, [ebp - 0x3c]
jmp 0x428060
mov dl, 0x27
mov word [ebp - 0xd9], 0x6127
mov byte [ebp - 0xd7], bl
mov dword [ebp - 0xd6], 0x42694349
mov word [ebp - 0xd2], 0x535f
mov byte [ebp - 0xd0], 0x61
mov byte [ebp - 0xcf], bl
mov dword [ebp - 0xce], 0x66424b
mov dword [ebp - 0x148], ecx
cmp ecx, 0xd
jae 0x428118
mov al, byte [ebp + ecx - 0xd8]
xor al, dl
mov byte [ebp + ecx - 0xd8], al
inc ecx
mov dword [ebp - 0x148], ecx
mov dl, byte [ebp - 0xd9]
jmp 0x4280f4
mov byte [ebp - 0xcb], 0
lea edx, [ebp - 0xd8]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x358], eax
xor ecx, ecx
cmp eax, ecx
jne 0x4281a3
mov dl, 0x42
mov dword [ebp - 0xca], 0x2c2b0442
mov dword [ebp - 0xc6], 0x3a270c26
mov dword [ebp - 0xc2], 0x2e2b0436
mov word [ebp - 0xbe], 0x327
mov byte [ebp - 0xbc], cl
mov dword [ebp - 0x14c], ecx
cmp ecx, 0xd
jae 0x428191
mov al, byte [ebp + ecx - 0xc9]
xor al, dl
mov byte [ebp + ecx - 0xc9], al
inc ecx
mov dword [ebp - 0x14c], ecx
mov dl, byte [ebp - 0xca]
jmp 0x42816d
mov byte [ebp - 0xbc], 0
lea edx, [ebp - 0xc9]
lea ecx, [ebp - 0x3c]
jmp 0x428127
mov al, 0x5c
mov dword [ebp - 0x21], 0x7a75835c
mov word [ebp - 0x1d], 0x7a75
push 0x71
pop ebx
mov byte [ebp - 0x1b], bl
mov dword [ebp - 0x1a], 0x78703a80
mov word [ebp - 0x16], 0x78
mov edx, ecx
mov dword [ebp - 0x150], edx
cmp edx, 0xb
jae 0x4281f8
movsx ecx, al
and ecx, 0x8000000f
jns 0x4281e2
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x20]
sub al, cl
mov byte [ebp + edx - 0x20], al
inc edx
mov dword [ebp - 0x150], edx
mov al, byte [ebp - 0x21]
jmp 0x4281cd
xor ecx, ecx
mov byte [ebp - 0x15], cl
lea edi, [ebp - 0x20]
movaps xmm0, xmmword [0x4080b0]
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1c8], 0x487576
mov edx, ecx
mov dword [ebp - 0x154], edx
cmp edx, 0x12
jae 0x42824c
movsx ecx, byte [ebp - 0x1d8]
and ecx, 0x8000000f
jns 0x428239
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x1d7]
sub al, cl
mov byte [ebp + edx - 0x1d7], al
inc edx
jmp 0x42821a
mov byte [ebp - 0x1c5], 0
lea edx, [ebp - 0x1d7]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x35c], eax
test eax, eax
jne 0x4282c8
movaps xmm0, xmmword [0x408420]
movups xmmword [ebp - 0x1ec], xmm0
mov dword [ebp - 0x1dc], 0x507d7e
xor edx, edx
mov dword [ebp - 0x158], edx
cmp edx, 0x12
jae 0x4282b6
movsx ecx, byte [ebp - 0x1ec]
and ecx, 0x8000000f
jns 0x4282a3
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x1eb]
sub al, cl
mov byte [ebp + edx - 0x1eb], al
inc edx
jmp 0x428284
mov byte [ebp - 0x1d9], 0
lea edx, [ebp - 0x1eb]
lea ecx, [ebp - 0x20]
jmp 0x42825b
mov al, 0x13
mov word [ebp - 0xf7], 0x4c13
mov byte [ebp - 0xf5], bl
mov word [ebp - 0xf4], 0x6877
mov byte [ebp - 0xf2], 0x75
mov byte [ebp - 0xf1], bl
mov dword [ebp - 0xf0], 0x73527768
mov byte [ebp - 0xec], 0x68
mov byte [ebp - 0xeb], bl
mov word [ebp - 0xea], 0x44
xor ebx, ebx
mov edx, ebx
mov dword [ebp - 0x15c], edx
cmp edx, 0xd
jae 0x42834d
movsx ecx, al
and ecx, 0x8000000f
jns 0x42832e
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0xf6]
sub al, cl
mov byte [ebp + edx - 0xf6], al
inc edx
mov dword [ebp - 0x15c], edx
mov al, byte [ebp - 0xf7]
jmp 0x428319
mov byte [ebp - 0xe9], bl
lea edx, [ebp - 0xf6]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x360], eax
cmp eax, ebx
jne 0x4283d6
mov dl, 0x2e
mov dword [ebp - 0xe8], 0x5a40672e
mov dword [ebp - 0xe4], 0x4b405c4b
mov dword [ebp - 0xe0], 0x4b5e615a
mov word [ebp - 0xdc], 0x6f40
mov byte [ebp - 0xda], bl
mov ecx, ebx
mov dword [ebp - 0x198], ecx
cmp ecx, 0xd
jae 0x4283c5
mov al, byte [ebp + ecx - 0xe7]
xor al, dl
mov byte [ebp + ecx - 0xe7], al
inc ecx
mov dword [ebp - 0x198], ecx
mov dl, byte [ebp - 0xe8]
jmp 0x4283a1
mov byte [ebp - 0xda], bl
lea edx, [ebp - 0xe7]
lea ecx, [ebp - 0x20]
jmp 0x42835b
movaps xmm0, xmmword [0x4084b0]
movups xmmword [ebp - 0x226], xmm0
mov word [ebp - 0x216], 0x47
mov edx, ebx
push 0x10
pop edi
mov dword [ebp - 0x194], edx
cmp edx, edi
jae 0x428423
movsx ecx, byte [ebp - 0x226]
and ecx, 0x8000000f
jns 0x428410
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x225]
sub al, cl
mov byte [ebp + edx - 0x225], al
inc edx
jmp 0x4283f2
mov byte [ebp - 0x215], bl
lea edx, [ebp - 0x225]
lea ecx, [ebp - 0x20]
call fcn.0040c457
mov dword [esi + 0x364], eax
cmp eax, ebx
jne 0x428489
movaps xmm0, xmmword [0x407980]
movups xmmword [ebp - 0x214], xmm0
mov word [ebp - 0x204], 0x74
mov ecx, ebx
mov dword [ebp - 0x190], ecx
cmp ecx, edi
jae 0x42847b
mov al, byte [ebp + ecx - 0x213]
xor al, byte [ebp - 0x214]
mov byte [ebp + ecx - 0x213], al
inc ecx
jmp 0x42845a
mov byte [ebp - 0x203], bl
lea edx, [ebp - 0x213]
jmp 0x42842f
movaps xmm0, xmmword [0x407d90]
movups xmmword [ebp - 0x238], xmm0
push 0x56
pop ebx
mov byte [ebp - 0x228], bl
mov byte [ebp - 0x227], 0
xor ecx, ecx
mov dword [ebp - 0x18c], ecx
cmp ecx, edi
jae 0x4284ca
mov al, byte [ebp + ecx - 0x237]
xor al, byte [ebp - 0x238]
mov byte [ebp + ecx - 0x237], al
inc ecx
jmp 0x4284a9
mov byte [ebp - 0x227], 0
lea edx, [ebp - 0x237]
lea ecx, [ebp - 0x20]
call fcn.0040c457
mov dword [esi + 0x368], eax
xor eax, eax
cmp dword [esi + 0x368], eax
jne 0x428538
movaps xmm0, xmmword [0x407450]
movups xmmword [ebp - 0x24a], xmm0
mov word [ebp - 0x23a], 0x39
mov ecx, eax
mov dword [ebp - 0x188], ecx
cmp ecx, edi
jae 0x428529
mov al, byte [ebp + ecx - 0x249]
xor al, byte [ebp - 0x24a]
mov byte [ebp + ecx - 0x249], al
inc ecx
jmp 0x428508
mov byte [ebp - 0x239], 0
lea edx, [ebp - 0x249]
jmp 0x4284d7
movaps xmm0, xmmword [0x408610]
movups xmmword [ebp - 0x25c], xmm0
mov word [ebp - 0x24c], 0x4b
mov edx, eax
mov dword [ebp - 0x184], edx
cmp edx, edi
jae 0x428582
movsx ecx, byte [ebp - 0x25c]
and ecx, 0x8000000f
jns 0x42856f
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x25b]
sub al, cl
mov byte [ebp + edx - 0x25b], al
inc edx
jmp 0x428551
mov byte [ebp - 0x24b], 0
lea edx, [ebp - 0x25b]
lea ecx, [ebp - 0x20]
call fcn.0040c457
mov dword [esi + 0x36c], eax
xor eax, eax
mov edx, eax
cmp dword [esi + 0x36c], eax
jne 0x428600
movaps xmm0, xmmword [0x4083d0]
movups xmmword [ebp - 0x202], xmm0
mov word [ebp - 0x1f2], 0x45
mov dword [ebp - 0x180], edx
cmp edx, edi
jae 0x4285f1
movsx ecx, byte [ebp - 0x202]
and ecx, 0x8000000f
jns 0x4285de
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x201]
sub al, cl
mov byte [ebp + edx - 0x201], al
inc edx
jmp 0x4285c0
mov byte [ebp - 0x1f1], 0
lea edx, [ebp - 0x201]
jmp 0x42858f
movaps xmm0, xmmword [0x407dc0]
movups xmmword [ebp - 0x121], xmm0
mov dword [ebp - 0x111], 0x686f6771
mov byte [ebp - 0x10d], al
mov dword [ebp - 0x17c], edx
cmp edx, 0x13
jae 0x428650
movsx ecx, byte [ebp - 0x121]
and ecx, 0x8000000f
jns 0x42863d
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x120]
sub al, cl
mov byte [ebp + edx - 0x120], al
inc edx
jmp 0x42861e
mov byte [ebp - 0x10d], 0
lea edx, [ebp - 0x120]
lea ecx, [ebp - 0x20]
call fcn.0040c457
mov dword [esi + 0x370], eax
xor eax, eax
cmp dword [esi + 0x370], eax
jne 0x4286d6
movaps xmm0, xmmword [0x407ea0]
movups xmmword [ebp - 0x10c], xmm0
mov dword [ebp - 0xfc], 0x6c736b75
mov byte [ebp - 0xf8], al
mov edx, eax
mov dword [ebp - 0x178], edx
cmp edx, 0x13
jae 0x4286c7
movsx ecx, byte [ebp - 0x10c]
and ecx, 0x8000000f
jns 0x4286b4
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x10b]
sub al, cl
mov byte [ebp + edx - 0x10b], al
inc edx
jmp 0x428695
mov byte [ebp - 0xf8], 0
lea edx, [ebp - 0x10b]
jmp 0x42865d
push 0x64
pop edx
mov byte [ebp - 0x2f], dl
mov dword [ebp - 0x2e], 0x5120025
mov word [ebp - 0x2a], 0xd14
mov byte [ebp - 0x28], 0x57
mov byte [ebp - 0x27], bl
mov dword [ebp - 0x26], 0x808004a
mov byte [ebp - 0x22], al
mov ecx, eax
mov dword [ebp - 0x174], ecx
cmp ecx, 0xc
jae 0x42871d
mov al, byte [ebp + ecx - 0x2e]
xor al, dl
mov byte [ebp + ecx - 0x2e], al
inc ecx
mov dword [ebp - 0x174], ecx
mov dl, byte [ebp - 0x2f]
jmp 0x428702
mov byte [ebp - 0x22], 0
lea edi, [ebp - 0x2e]
mov byte [ebp - 0xa1], bl
mov dword [ebp - 0xa0], 0x556d6b58
mov dword [ebp - 0x9c], 0x51746b76
mov dword [ebp - 0x98], 0x477f6b
xor edx, edx
mov dword [ebp - 0x170], edx
cmp edx, 0xb
jae 0x428784
movsx ecx, bl
and ecx, 0x8000000f
jns 0x428765
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0xa0]
sub al, cl
mov byte [ebp + edx - 0xa0], al
inc edx
mov dword [ebp - 0x170], edx
mov bl, byte [ebp - 0xa1]
jmp 0x428750
xor ebx, ebx
mov byte [ebp - 0x95], bl
lea edx, [ebp - 0xa0]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x374], eax
cmp eax, ebx
jne 0x428819
mov al, 0x7e
mov dword [ebp - 0x94], 0x7573607e
mov dword [ebp - 0x90], 0x7c737e5d
mov dword [ebp - 0x8c], 0x4f877359
mov byte [ebp - 0x88], bl
mov edx, ebx
mov dword [ebp - 0x16c], edx
cmp edx, 0xb
jae 0x428805
movsx ecx, al
and ecx, 0x8000000f
jns 0x4287e6
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x93]
sub al, cl
mov byte [ebp + edx - 0x93], al
inc edx
mov dword [ebp - 0x16c], edx
mov al, byte [ebp - 0x94]
jmp 0x4287d1
mov byte [ebp - 0x88], bl
lea edx, [ebp - 0x93]
lea ecx, [ebp - 0x2e]
jmp 0x428794
push 0x4e
pop edx
mov byte [ebp - 0x87], dl
mov dword [ebp - 0x86], 0xd292b1c
mov dword [ebp - 0x82], 0x2b3d2122
mov dword [ebp - 0x7e], 0x372b05
mov ecx, ebx
mov dword [ebp - 0x168], ecx
cmp ecx, 0xb
jae 0x428869
mov al, byte [ebp + ecx - 0x86]
xor al, dl
mov byte [ebp + ecx - 0x86], al
inc ecx
mov dword [ebp - 0x168], ecx
mov dl, byte [ebp - 0x87]
jmp 0x428845
mov byte [ebp - 0x7b], bl
lea edx, [ebp - 0x86]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x378], eax
mov ecx, ebx
cmp eax, ebx
jne 0x4288cb
mov dl, 0x2a
mov dword [ebp - 0x7a], 0x4d4f782a
mov dword [ebp - 0x76], 0x59454669
mov dword [ebp - 0x72], 0x534f614f
mov byte [ebp - 0x6e], bl
mov dword [ebp - 0x164], ecx
cmp ecx, 0xb
jae 0x4288c0
mov al, byte [ebp + ecx - 0x79]
xor al, dl
mov byte [ebp + ecx - 0x79], al
inc ecx
mov dword [ebp - 0x164], ecx
mov dl, byte [ebp - 0x7a]
jmp 0x4288a5
mov byte [ebp - 0x6e], bl
lea edx, [ebp - 0x79]
lea ecx, [ebp - 0x2e]
jmp 0x428874
push 0x71
pop edx
mov byte [ebp - 0x6d], dl
mov dword [ebp - 0x6c], 0x34161423
mov dword [ebp - 0x68], 0x3a1c041f
mov dword [ebp - 0x64], 0x300814
mov dword [ebp - 0x160], ecx
cmp ecx, 0xb
jae 0x428907
mov al, byte [ebp + ecx - 0x6c]
xor al, dl
mov byte [ebp + ecx - 0x6c], al
inc ecx
mov dword [ebp - 0x160], ecx
mov dl, byte [ebp - 0x6d]
jmp 0x4288ec
mov byte [ebp - 0x61], bl
lea edx, [ebp - 0x6c]
mov ecx, edi
call fcn.0040c457
mov dword [esi + 0x37c], eax
cmp eax, ebx
jne 0x42897c
mov al, 0x6e
mov dword [ebp - 0x60], 0x7573606e
mov dword [ebp - 0x5c], 0x7b837c53
mov dword [ebp - 0x58], 0x4f877359
mov byte [ebp - 0x54], bl
mov edx, ebx
mov dword [ebp - 0x1f0], edx
cmp edx, 0xb
jae 0x42896b
movsx ecx, al
and ecx, 0x8000000f
jns 0x428955
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x5f]
sub al, cl
mov byte [ebp + edx - 0x5f], al
inc edx
mov dword [ebp - 0x1f0], edx
mov al, byte [ebp - 0x60]
jmp 0x428940
mov byte [ebp - 0x54], bl
lea edx, [ebp - 0x5f]
lea ecx, [ebp - 0x2e]
jmp 0x42890f
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret