Function at 0x70a3f0
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x7dc160
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 0x70a467
mov edi, 0x870c08
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.00401b40
test al, al
je 0x70a467
mov edi, dword [ebx + 4]
mov ecx, ebp
mov edx, ecx
mov esi, 0x870c08
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.00405070
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x70a4ae
mov edi, 0x870c08
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.00401b40
test al, al
je 0x70a4ae
mov edi, dword [ebx + 4]
mov ecx, ebp
mov eax, ecx
mov esi, 0x870c08
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.00405070
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x70a4cc
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
xor ecx, ecx
push 0
mov cl, byte [eax + 0x42]
mov dword [esp + 0x14], 0xffffffff
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
lea ecx, [esp + 0x18]
mov ebx, edx
mov dl, byte [esp + 0x50]
mov byte [esp + 0x18], dl
call fcn.00404e60
test ebx, ebx
mov dword [esp + 0x3c], 0
jl 0x70a570
cmp ebx, 4
jg 0x70a570
test ebx, ebx
je 0x70a52d
cmp ebx, 1
je 0x70a52d
cmp ebx, 3
je 0x70a52d
cmp ebx, 2
je 0x70a521
cmp ebx, 4
jne 0x70a537
mov eax, dword [esp + 0x58]
mov dword [eax], 1
jmp 0x70a537
mov ecx, dword [esp + 0x58]
mov dword [ecx], 0
mov edi, 0x833b0c
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.00401b40
test al, al
je 0x70a723
mov ecx, ebp
mov esi, 0x833b0c
jmp 0x70a707
cmp ebx, 5
jl 0x70a60e
cmp ebx, 9
jg 0x70a60e
cmp ebx, 5
jne 0x70a593
mov eax, dword [esp + 0x54]
mov dword [eax], 0
jmp 0x70a5d5
cmp ebx, 6
jne 0x70a5a4
mov ecx, dword [esp + 0x54]
mov dword [ecx], 1
jmp 0x70a5d5
cmp ebx, 7
jne 0x70a5b5
mov edx, dword [esp + 0x54]
mov dword [edx], 5
jmp 0x70a5d5
cmp ebx, 8
jne 0x70a5c6
mov eax, dword [esp + 0x54]
mov dword [eax], 3
jmp 0x70a5d5
cmp ebx, 9
jne 0x70a5d5
mov ecx, dword [esp + 0x54]
mov dword [ecx], 4
mov edi, 0x833b00
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.00401b40
test al, al
je 0x70a723
mov ecx, ebp
mov esi, 0x833b00
jmp 0x70a707
cmp ebx, 0xa
jl 0x70a65e
cmp ebx, 0xf
jg 0x70a65e
mov edi, 0x82c588
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.00401b40
test al, al
je 0x70a723
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
mov esi, 0x82c588
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x70a714
cmp ebx, 0x10
jne 0x70a692
mov edi, 0x82c588
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.00401b40
test al, al
je 0x70a723
jmp 0x70a700
cmp ebx, 0x11
jne 0x70a6d6
mov edi, 0x82c588
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.00401b40
test al, al
je 0x70a723
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
mov esi, 0x82c588
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x70a714
cmp ebx, 0x14
jne 0x70a723
mov edi, 0x82c588
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], ebx
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401b40
test al, al
je 0x70a723
mov ecx, ebp
mov esi, 0x82c588
mov edi, dword [esp + 0x18]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push ebp
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.00405070
mov al, byte [esp + 0x4c]
push 0x100
mov byte [esp + 0x58], 0
mov byte [esp + 0x28], al
call fcn.007a2d8d
mov ebp, eax
add esp, 4
mov dword [esp + 0x28], ebp
mov esi, ebp
mov edi, 0x100
lea ecx, [esp + 0x54]
push ecx
push esi
call fcn.005ab150
add esp, 8
inc esi
dec edi
jne 0x70a74a
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 0x70ad61
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 + 0x9ea09c]
lea ecx, [esi + 0x14]
call fcn.00464b70
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
cmp eax, esi
jne 0x70a7bd
xor eax, eax
jmp 0x70a7c0
add eax, 0x10
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x70ad19
cmp ebx, 5
jl 0x70abd9
cmp ebx, 9
jg 0x70abd9
mov eax, 0xd1b71759
mov esi, 0x64
mul dword [edi]
mov eax, edx
xor edx, edx
shr eax, 0xd
div esi
cmp dword [edi + 0x54], 2
mov ebx, edx
jne 0x70a7fc
xor ebx, ebx
mov eax, dword [esp + 0x5c]
cmp eax, 0xffffffff
je 0x70ad61
cmp eax, 0xc
jl 0x70ad61
mov edx, dword [esp + 0x60]
cmp edx, 0xffffffff
je 0x70ad61
test edx, edx
je 0x70ad61
cmp edx, 0x64
je 0x70ad61
cmp edx, 0x14
je 0x70ad61
cmp edx, 0x1e
je 0x70ad61
lea esi, [edx - 1]
cmp esi, 0x63
ja case.0x70a8c4.103
xor edx, edx
mov dl, byte [esi + 0x70afc0]
jmp dword [edx*4 + 0x70af9c]
cmp eax, 0x65
je 0x70a874
cmp eax, 0x68
jle case.0x70a8c4.103
cmp eax, 0x6a
jg case.0x70a8c4.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.0x70a856.8
add eax, 0xffffff9a
cmp eax, 0xa
ja case.0x70a8c4.103
xor edx, edx
mov dl, byte [eax + 0x70b02c]
jmp dword [edx*4 + 0x70b024]
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.0x70a856.8
cmp eax, 0x67
je 0x70a91e
cmp eax, 0x6c
jle case.0x70a8c4.103
cmp eax, 0x6e
jg case.0x70a8c4.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.0x70a856.8
add eax, 0xffffff99
cmp eax, 9
ja case.0x70a8c4.103
xor edx, edx
mov dl, byte [eax + 0x70b040]
jmp dword [edx*4 + 0x70b038]
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.0x70a856.8
cmp eax, 0xc9
je 0x70a9ce
cmp eax, 0xcc
jle case.0x70a8c4.103
cmp eax, 0xce
jg case.0x70a8c4.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.0x70a856.8
cmp eax, 0xc9
jl case.0x70a8c4.103
cmp eax, 0xd4
jg case.0x70a8c4.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.0x70a856.8
cmp eax, 0xc9
jl case.0x70a8c4.103
cmp eax, 0xd4
jg case.0x70a8c4.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.0x70a856.8
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x70ab91
mov eax, dword [esp + 0x18]
test ebx, ebx
je 0x70ab24
test eax, eax
jne 0x70aabd
mov eax, 0x7e5658
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 0x833ae0
push ebp
call fcn.007a3155
add esp, 0x20
jmp 0x70ab91
test eax, eax
jne 0x70ab2d
mov eax, 0x7e5658
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 0x833ac4
push ebp
call fcn.007a3155
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.00401b40
test al, al
je 0x70ad61
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.00405070
jmp 0x70ad61
test eax, eax
je 0x70ad61
mov esi, dword [eax + 0x2c]
mov eax, dword [esp + 0x18]
test esi, esi
jne 0x70ac93
test eax, eax
jne 0x70abf9
mov eax, 0x7e5658
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 0x833ac4
push ebp
call fcn.007a3155
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.00401b40
test al, al
je 0x70ad61
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.00405070
jmp 0x70ad61
test eax, eax
jne 0x70ac9c
mov eax, 0x7e5658
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 0x833ac4
push ebp
call fcn.007a3155
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.00401b40
test al, al
je 0x70ad61
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov esi, ebp
mov edi, dword [eax + 4]
jmp 0x70ad48
mov edi, 0x870c08
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.00401b40
test al, al
je 0x70ad61
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov esi, 0x870c08
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 0x70af4b
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 + 0x9ea09c]
lea edx, [esp + 0x58]
push edx
lea ecx, [esi + 0x14]
call fcn.00464b70
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x70af4b
add eax, 0x10
test eax, eax
je 0x70af4b
mov ecx, dword [eax + 0x30]
test ecx, ecx
jne 0x70ae68
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 0x82d0b0
push ebp
call fcn.007a3155
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.00401b40
test al, al
je 0x70af4b
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 0x70af4b
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 0x82d0b0
push ebp
call fcn.007a3155
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.00405090
cmp eax, ebx
jae 0x70aedb
call fcn.007a02eb
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x70af00
mov al, byte [ecx - 1]
test al, al
je 0x70af00
cmp al, 0xff
je 0x70af00
test ebx, ebx
jne 0x70af24
dec al
push ebx
mov byte [ecx - 1], al
mov ecx, esi
call fcn.00404e60
jmp 0x70af4b
test ebx, ebx
jne 0x70af0f
push 1
mov ecx, esi
call fcn.00404e60
jmp 0x70af4b
mov eax, dword [esi + 0xc]
cmp eax, 0x1f
ja 0x70af1b
cmp eax, ebx
jae 0x70af2c
push 1
mov ecx, esi
call fcn.00404e60
push ebx
mov ecx, esi
call fcn.00401c60
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.00405070
push ebp
mov byte [esp + 0x40], 0
call fcn.007a02e0
mov ecx, dword [esp + 0x1c]
add esp, 4
test ecx, ecx
mov dword [esp + 0x3c], 0xffffffff
je 0x70af85
mov al, byte [ecx - 1]
test al, al
je 0x70af7b
cmp al, 0xff
je 0x70af7b
dec al
mov byte [ecx - 1], al
jmp 0x70af85
dec ecx
push ecx
call fcn.007a02e0
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