Function at 0x6a9350
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x75d880
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
mov dword fs:[0], esp
sub esp, 0x24
mov dword [eax], 0xffffffff
mov dword [ecx], 0xffffffff
push ebx
mov ebx, dword [esp + 0x40]
push ebp
push esi
test ebx, ebx
push edi
je 0x6a93c7
mov edi, 0x7c4d78
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, ebx
push ebp
call fcn.00401450
test al, al
je 0x6a93c7
mov edi, dword [ebx + 4]
mov ecx, ebp
mov edx, ecx
mov esi, 0x7c4d78
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.00404970
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x6a940e
mov edi, 0x7c4d78
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, ebx
push ebp
call fcn.00401450
test al, al
je 0x6a940e
mov edi, dword [ebx + 4]
mov ecx, ebp
mov eax, ecx
mov esi, 0x7c4d78
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.00404970
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x6a942c
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
mov cl, byte [esp + 0x4c]
xor ebx, ebx
mov bl, byte [eax + 0x42]
mov byte [esp + 0x14], cl
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], 0xffffffff
call fcn.00404760
test ebx, ebx
mov dword [esp + 0x3c], 0
jl 0x6a94d1
cmp ebx, 4
jg 0x6a94d1
test ebx, ebx
je 0x6a9481
cmp ebx, 1
je 0x6a9481
cmp ebx, 3
je 0x6a9481
cmp ebx, 2
je 0x6a9475
cmp ebx, 4
jne 0x6a948b
mov edx, dword [esp + 0x58]
mov dword [edx], 1
jmp 0x6a948b
mov eax, dword [esp + 0x58]
mov dword [eax], 0
mov edi, 0x7aaf60
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401450
test al, al
je 0x6a964a
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
mov esi, 0x7aaf60
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x6a963b
cmp ebx, 5
jl 0x6a957c
cmp ebx, 9
jg 0x6a957c
cmp ebx, 5
jne 0x6a94f4
mov eax, dword [esp + 0x54]
mov dword [eax], 0
jmp 0x6a9536
cmp ebx, 6
jne 0x6a9505
mov ecx, dword [esp + 0x54]
mov dword [ecx], 1
jmp 0x6a9536
cmp ebx, 7
jne 0x6a9516
mov edx, dword [esp + 0x54]
mov dword [edx], 5
jmp 0x6a9536
cmp ebx, 8
jne 0x6a9527
mov eax, dword [esp + 0x54]
mov dword [eax], 3
jmp 0x6a9536
cmp ebx, 9
jne 0x6a9536
mov ecx, dword [esp + 0x54]
mov dword [ecx], 4
mov edi, 0x7aaf54
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], 2
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401450
test al, al
je 0x6a964a
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
mov esi, 0x7aaf54
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x6a963b
cmp ebx, 0xa
jl 0x6a95b5
cmp ebx, 0xf
jg 0x6a95b5
mov edi, 0x7a4cc0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], 3
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401450
test al, al
je 0x6a964a
jmp 0x6a9627
cmp ebx, 0x10
jne 0x6a95f9
mov edi, 0x7a4cc0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], 9
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401450
test al, al
je 0x6a964a
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
mov esi, 0x7a4cc0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x6a963b
cmp ebx, 0x11
jne 0x6a964a
mov edi, 0x7a4cc0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], 0xa
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401450
test al, al
je 0x6a964a
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
mov esi, 0x7a4cc0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push ebp
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00404970
mov cl, byte [esp + 0x4c]
push 0x100
mov byte [esp + 0x58], 0
mov byte [esp + 0x28], cl
call fcn.00726f70
mov ebp, eax
add esp, 4
mov dword [esp + 0x28], ebp
mov esi, ebp
mov edi, 0x100
lea edx, [esp + 0x54]
push edx
push esi
call fcn.0058f910
add esp, 8
inc esi
dec edi
jne 0x6a9671
lea eax, [ebp + 0x100]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x3c], 1
test eax, eax
je 0x6a9c98
mov eax, dword [esp + 0x48]
xor edx, edx
mov ecx, 0x3e8
mov edi, dword [esp + 0x44]
div ecx
lea eax, [esp + 0x54]
lea ecx, [esp + 0x58]
push eax
push ecx
mov dword [esp + 0x5c], edx
xor edx, edx
mov dl, byte [edi + 4]
mov esi, dword [edx*4 + 0x93c89c]
lea ecx, [esi + 0x14]
call fcn.0045e480
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
cmp eax, esi
jne 0x6a96e4
xor eax, eax
jmp 0x6a96e7
add eax, 0x10
mov esi, dword [edi + 0x30]
test esi, esi
je 0x6a9c50
cmp ebx, 5
jl 0x6a9b10
cmp ebx, 9
jg 0x6a9b10
mov esi, dword [edi]
mov eax, 0xcccccccd
mul esi
mov eax, 0xd1b71759
mov ecx, edx
mul esi
mov eax, edx
xor edx, edx
shr eax, 0xd
mov esi, 0x64
div esi
mov eax, dword [edi + 0x54]
shr ecx, 3
cmp eax, 2
mov ebx, edx
jne 0x6a9733
xor ebx, ebx
mov eax, dword [esp + 0x5c]
cmp eax, 0xffffffff
je 0x6a9c98
cmp eax, 0xc
jl 0x6a9c98
mov edx, dword [esp + 0x60]
cmp edx, 0xffffffff
je 0x6a9c98
test edx, edx
je 0x6a9c98
cmp edx, 0x64
je 0x6a9c98
cmp edx, 0x14
je 0x6a9c98
cmp edx, 0x1e
je 0x6a9c98
lea esi, [edx - 1]
cmp esi, 0x63
ja case.0x6a97fb.103
xor edx, edx
mov dl, byte [esi + 0x6a9ef8]
jmp dword [edx*4 + 0x6a9ed4]
cmp eax, 0x65
je 0x6a97ab
cmp eax, 0x68
jle case.0x6a97fb.103
cmp eax, 0x6a
jg case.0x6a97fb.103
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0x3e8
jmp case.0x6a978d.8
add eax, 0xffffff9a
cmp eax, 0xa
ja case.0x6a97fb.103
xor edx, edx
mov dl, byte [eax + 0x6a9f64]
jmp dword [edx*4 + 0x6a9f5c]
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0x7d0
jmp case.0x6a978d.8
cmp eax, 0x67
je 0x6a9855
cmp eax, 0x6c
jle case.0x6a97fb.103
cmp eax, 0x6e
jg case.0x6a97fb.103
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0xbb8
jmp case.0x6a978d.8
add eax, 0xffffff99
cmp eax, 9
ja case.0x6a97fb.103
xor edx, edx
mov dl, byte [eax + 0x6a9f78]
jmp dword [edx*4 + 0x6a9f70]
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0xfa0
jmp case.0x6a978d.8
cmp eax, 0xc9
je 0x6a9905
cmp eax, 0xcc
jle case.0x6a97fb.103
cmp eax, 0xce
jg case.0x6a97fb.103
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0x2af8
jmp case.0x6a978d.8
cmp eax, 0xc9
jl case.0x6a97fb.103
cmp eax, 0xd4
jg case.0x6a97fb.103
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0x2ee0
jmp case.0x6a978d.8
cmp eax, 0xc9
jl case.0x6a97fb.103
cmp eax, 0xd4
jg case.0x6a97fb.103
mov eax, 0x14f8b589
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, edx
add ecx, 0x32c8
jmp case.0x6a978d.8
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x6a9ac8
mov eax, dword [esp + 0x18]
test ebx, ebx
je 0x6a9a5b
test eax, eax
jne 0x6a99f4
mov eax, 0x765608
push eax
mov eax, ecx
cdq
mov esi, 0xa
idiv esi
mov eax, 0x66666667
push edx
imul ecx
sar edx, 2
mov esi, edx
mov eax, edx
shr esi, 0x1f
add eax, esi
mov esi, 0x64
cdq
idiv esi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov esi, edx
mov eax, edx
shr esi, 0x1f
add eax, esi
mov esi, 0x2710
cdq
idiv esi
mov eax, 0x6b5fca6b
push edx
imul ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push ebx
push 0x7aaf34
push ebp
call fcn.00727335
add esp, 0x20
jmp 0x6a9ac8
test eax, eax
jne 0x6a9a64
mov eax, 0x765608
push eax
mov eax, ecx
cdq
mov esi, 0xa
idiv esi
mov eax, 0x66666667
push edx
imul ecx
sar edx, 2
mov esi, edx
mov eax, edx
shr esi, 0x1f
add eax, esi
mov esi, 0x64
cdq
idiv esi
mov eax, 0x10624dd3
push edx
imul ecx
sar edx, 6
mov esi, edx
mov eax, edx
shr esi, 0x1f
add eax, esi
mov esi, 0x2710
cdq
idiv esi
mov eax, 0x6b5fca6b
push edx
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
push 0x7aaf18
push ebp
call fcn.00727335
add esp, 0x1c
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x50]
push ebx
call fcn.00401450
test al, al
je 0x6a9c98
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov edx, ecx
mov esi, ebp
mov edi, dword [eax + 4]
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
call fcn.00404970
jmp 0x6a9c98
test eax, eax
je 0x6a9c98
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 0x18]
test ecx, ecx
jne 0x6a9bca
test eax, eax
jne 0x6a9b30
mov eax, 0x765608
push eax
mov eax, esi
xor edx, edx
mov ecx, 0xa
div ecx
mov eax, 0xcccccccd
mov ecx, 0x64
push edx
mul esi
mov eax, edx
xor edx, edx
shr eax, 3
div ecx
mov eax, 0x10624dd3
mov ecx, 0x2710
push edx
mul esi
mov eax, edx
xor edx, edx
shr eax, 6
div ecx
mov eax, 0x6b5fca6b
push edx
mul esi
shr edx, 0x16
push edx
push 0x7aaf18
push ebp
call fcn.00727335
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x1c
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
mov ecx, dword [esp + 0x50]
push ebx
call fcn.00401450
test al, al
je 0x6a9c98
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov edx, ecx
mov esi, ebp
mov edi, dword [eax + 4]
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
call fcn.00404970
jmp 0x6a9c98
test eax, eax
jne 0x6a9bd3
mov eax, 0x765608
push eax
mov eax, ecx
xor edx, edx
mov esi, 0xa
div esi
mov eax, 0xcccccccd
mov esi, 0x64
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 3
div esi
mov eax, 0x10624dd3
mov esi, 0x2710
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div esi
mov eax, 0x6b5fca6b
push edx
mul ecx
shr edx, 0x16
push edx
push 0x7aaf18
push ebp
call fcn.00727335
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x1c
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
mov ecx, dword [esp + 0x50]
push ebx
call fcn.00401450
test al, al
je 0x6a9c98
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov esi, ebp
mov edi, dword [eax + 4]
jmp 0x6a9c7f
mov edi, 0x7c4d78
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x50]
push ebx
call fcn.00401450
test al, al
je 0x6a9c98
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov esi, 0x7c4d78
mov edi, dword [eax + 4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 4]
mov dword [eax + 8], ebx
add ebx, ecx
mov byte [ebx], 0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6a9e82
mov eax, dword [esp + 0x48]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x4c]
push ecx
mov dword [esp + 0x50], edx
xor edx, edx
mov dl, byte [eax + 4]
mov esi, dword [edx*4 + 0x93c89c]
lea edx, [esp + 0x58]
push edx
lea ecx, [esi + 0x14]
call fcn.0045e480
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x6a9e82
add eax, 0x10
test eax, eax
je 0x6a9e82
mov ecx, dword [eax + 0x30]
test ecx, ecx
jne 0x6a9d9f
mov eax, dword [esp + 0x44]
xor edx, edx
mov esi, 0xa
mov ecx, dword [eax + 0x34]
mov eax, ecx
div esi
mov eax, 0xcccccccd
mov esi, 0x64
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 3
div esi
mov eax, 0x10624dd3
mov esi, 0x2710
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div esi
mov eax, 0x6b5fca6b
push edx
mul ecx
shr edx, 0x16
push edx
push 0x7a5774
push ebp
call fcn.00727335
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
mov ecx, dword [esp + 0x54]
push ebx
call fcn.00401450
test al, al
je 0x6a9e82
mov eax, dword [esp + 0x50]
mov ecx, ebx
mov edx, ecx
mov esi, ebp
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 4]
mov dword [eax + 8], ebx
add ebx, ecx
mov byte [ebx], 0
jmp 0x6a9e82
mov eax, ecx
xor edx, edx
mov esi, 0xa
div esi
mov eax, 0xcccccccd
mov esi, 0x64
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 3
div esi
mov eax, 0x10624dd3
mov esi, 0x2710
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div esi
mov eax, 0x6b5fca6b
push edx
mul ecx
shr edx, 0x16
push edx
push 0x7a5774
push ebp
call fcn.00727335
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
mov esi, dword [esp + 0x50]
not ecx
dec ecx
mov ebx, ecx
mov ecx, esi
call fcn.00404990
cmp eax, ebx
jae 0x6a9e12
call fcn.007373b0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x6a9e37
mov al, byte [ecx - 1]
test al, al
je 0x6a9e37
cmp al, 0xff
je 0x6a9e37
test ebx, ebx
jne 0x6a9e5b
dec al
push ebx
mov byte [ecx - 1], al
mov ecx, esi
call fcn.00404760
jmp 0x6a9e82
test ebx, ebx
jne 0x6a9e46
push 1
mov ecx, esi
call fcn.00404760
jmp 0x6a9e82
mov eax, dword [esi + 0xc]
cmp eax, 0x1f
ja 0x6a9e52
cmp eax, ebx
jae 0x6a9e63
push 1
mov ecx, esi
call fcn.00404760
push ebx
mov ecx, esi
call fcn.00401570
mov edi, dword [esi + 4]
mov ecx, ebx
mov eax, ecx
mov esi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x54]
call fcn.00404970
push ebp
mov byte [esp + 0x40], 0
call fcn.00726ea6
mov ecx, dword [esp + 0x1c]
add esp, 4
test ecx, ecx
mov dword [esp + 0x3c], 0xffffffff
je 0x6a9ebc
mov al, byte [ecx - 1]
test al, al
je 0x6a9eb2
cmp al, 0xff
je 0x6a9eb2
dec al
mov byte [ecx - 1], al
jmp 0x6a9ebc
dec ecx
push ecx
call fcn.00726ea6
add esp, 4
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret