Function at 0x4ba3c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x61d3c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x68]
xor edi, edi
cmp dword [ecx - 0xc], edi
mov dword [esp + 0x5c], edi
jl 0x4ba418
push 0x6479b8
push ecx
call fcn.005db725
mov ecx, dword [esp + 0x70]
add esp, 8
cmp eax, edi
je 0x4ba413
sub eax, ecx
sar eax, 1
jne 0x4ba413
lea eax, [ecx - 0x10]
jmp 0x4baf0a
cmp dword [ecx - 0xc], edi
jge 0x4ba422
push 0x80070057
call fcn.00401470
movzx eax, word [ecx]
push 0x6479b0
cmp ax, 0x2f
push 0x6479b0
lea ecx, [esp + 0x70]
sete byte [esp + 0x1b]
call fcn.004ab480
mov ecx, eax
call fcn.004ab830
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx - 0xc]
cmp eax, edi
jle 0x4ba46e
push 0x20
push ecx
call fcn.005e0309
mov ecx, dword [esp + 0x70]
add esp, 8
cmp eax, edi
je 0x4ba46e
sub eax, ecx
sar eax, 1
mov esi, eax
jns 0x4ba471
mov esi, dword [ecx - 0xc]
push esi
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x70]
call fcn.00466e20
mov ecx, eax
mov byte [esp + 0x5c], 1
call fcn.004ab420
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.0041bc70
add eax, 0x10
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4ba4c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push esi
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x70]
call fcn.00469210
mov ecx, eax
mov byte [esp + 0x5c], 4
call fcn.00469280
mov ecx, eax
call fcn.004692d0
push eax
lea ecx, [esp + 0x6c]
call fcn.0041fb20
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4ba517
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x5c], 6
mov bl, 0xb
mov edi, edi
mov eax, dword [esp + 0x68]
cmp dword [eax - 0xc], 0
jle 0x4ba8dc
push 0x3d
push eax
call fcn.005e0309
add esp, 8
test eax, eax
je 0x4ba8dc
sub eax, dword [esp + 0x68]
sar eax, 1
mov ebp, eax
test ebp, ebp
jle 0x4ba8dc
push ebp
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x70]
call fcn.00466e20
mov ecx, eax
mov byte [esp + 0x5c], 7
call fcn.00469280
mov ecx, eax
call fcn.004692d0
mov edi, eax
mov eax, dword [edi]
mov esi, dword [eax - 0xc]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, esi
or eax, ecx
jge 0x4ba5b3
push esi
mov ecx, edi
call fcn.004195e0
mov eax, dword [edi]
lea edx, [esi + 1]
push edx
push eax
call fcn.005e0b87
add esp, 8
test esi, esi
jl 0x4ba418
mov eax, dword [edi]
cmp esi, dword [eax - 8]
jg 0x4ba418
mov dword [eax - 0xc], esi
mov eax, dword [edi]
push edi
lea ecx, [esp + 0x48]
mov word [eax + esi*2], 0
call fcn.004b8400
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ba60f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebp, 1
push ebp
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x70]
call fcn.00469210
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x60], 8
call fcn.0041fb20
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4ba655
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor esi, esi
test esi, esi
jl 0x4ba418
mov eax, dword [esp + 0x68]
cmp esi, dword [eax - 0xc]
jg 0x4ba418
movzx eax, word [eax + esi*2]
movzx ecx, ax
push ecx
call fcn.005da0e2
add esp, 4
test eax, eax
je 0x4ba685
add esi, 1
jmp 0x4ba657
push esi
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x70]
call fcn.00469210
mov ecx, dword [eax]
mov esi, dword [esp + 0x68]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
mov byte [esp + 0x5c], 9
je 0x4ba6f0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4ba6e2
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4ba6e2
push eax
call fcn.0041bc70
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4ba6d9
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebp, 0x10
mov dword [esp + 0x68], ebp
jmp 0x4ba6f0
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.00419da0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ba715
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x4ba418
movzx edx, word [ecx]
cmp dx, 0x22
jne 0x4ba77f
push 1
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x70]
call fcn.00469210
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x60], 0xa
call fcn.0041fb20
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4ba771
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x68]
cmp dword [ecx - 0xc], 0
jle 0x4ba7a0
push 0x22
jmp 0x4ba785
test eax, eax
jle 0x4ba7a0
push 0x20
push ecx
call fcn.005e0309
mov ecx, dword [esp + 0x70]
add esp, 8
test eax, eax
je 0x4ba7a0
sub eax, ecx
sar eax, 1
mov ebp, eax
test ebp, ebp
jge 0x4ba7a3
mov ebp, dword [ecx - 0xc]
push ebp
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x70]
call fcn.00466e20
mov ecx, eax
mov byte [esp + 0x5c], bl
call fcn.00469280
mov ecx, eax
call fcn.004692d0
mov edi, eax
mov eax, dword [edi]
mov esi, dword [eax - 0xc]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, esi
or eax, ecx
jge 0x4ba7e4
push esi
mov ecx, edi
call fcn.004195e0
mov eax, dword [edi]
lea edx, [esi + 1]
push edx
push eax
call fcn.005e0b87
add esp, 8
test esi, esi
jl 0x4ba418
mov eax, dword [edi]
cmp esi, dword [eax - 8]
jg 0x4ba418
mov dword [eax - 0xc], esi
mov eax, dword [edi]
push edi
lea ecx, [esp + 0x38]
mov word [eax + esi*2], 0
call fcn.004b8400
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ba840
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebp, 1
push ebp
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x70]
call fcn.00469210
mov ecx, dword [eax]
mov esi, dword [esp + 0x68]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
mov byte [esp + 0x5c], 0xc
je 0x4ba8ae
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4ba8a0
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4ba8a0
push eax
call fcn.0041bc70
mov ebp, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4ba897
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebp, 0x10
mov dword [esp + 0x68], ebp
jmp 0x4ba8ae
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.00419da0
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ba540
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4ba540
mov esi, dword [esp + 0x14]
mov ecx, 0x6479a4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4ba90d
test dx, dx
je 0x4ba909
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4ba90d
add eax, 4
add ecx, 4
test dx, dx
jne 0x4ba8e7
xor eax, eax
jmp 0x4ba912
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x4bae9e
mov ecx, 0x6479a0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4ba94c
test dx, dx
je 0x4ba948
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4ba94c
add eax, 4
add ecx, 4
test dx, dx
jne 0x4ba926
xor eax, eax
jmp 0x4ba951
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x4bae82
lea ecx, [esp + 0x14]
push 0x647990
push ecx
call fcn.004a9e30
add esp, 8
test al, al
jne 0x4bae82
lea edx, [esp + 0x14]
push 0x64798c
push edx
call fcn.004a9e30
add esp, 8
test al, al
jne 0x4bae60
lea eax, [esp + 0x14]
push 0x647984
push eax
call fcn.004a9e30
add esp, 8
test al, al
jne 0x4bae60
lea ecx, [esp + 0x14]
push 0x647980
push ecx
call fcn.004a9e30
add esp, 8
test al, al
je 0x4ba9ea
cmp byte [esp + 0x13], 0
jne 0x4ba9d7
mov ecx, dword [esp + 0x6c]
mov al, 1
mov byte [ecx + 0x7d], al
jmp 0x4bae9e
mov edx, dword [esp + 0x70]
mov al, byte [edx + 0x7d]
mov ecx, dword [esp + 0x6c]
mov byte [ecx + 0x7d], al
jmp 0x4bae9e
lea edx, [esp + 0x14]
push 0x64797c
push edx
call fcn.004a9e30
add esp, 8
test al, al
jne 0x4bae3e
lea eax, [esp + 0x14]
push str.strike
push eax
call fcn.004a9e30
add esp, 8
test al, al
jne 0x4bae3e
lea ecx, [esp + 0x14]
push 0x647964
push ecx
call fcn.004a9e30
add esp, 8
test al, al
jne 0x4bae3e
lea edx, [esp + 0x14]
push str.font
push edx
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bad8a
cmp byte [esp + 0x13], 0
jne 0x4bad4f
xor esi, esi
cmp dword [esp + 0x48], esi
jbe 0x4bae9e
mov edi, dword [esp + 0x6c]
lea ecx, [ecx]
push esi
lea ecx, [esp + 0x38]
call fcn.004fdf60
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x4bad3d
push str.face
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4baabc
push esi
lea ecx, [esp + 0x38]
call fcn.004fdf60
mov eax, dword [eax]
push eax
lea ecx, [edi + 0x50]
call fcn.0040d930
jmp 0x4bad3d
push str.size
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bab91
push esi
lea ecx, [esp + 0x38]
call fcn.004fdf60
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jl 0x4ba418
movzx eax, word [eax]
cmp ax, 0x2b
push esi
lea ecx, [esp + 0x38]
jne 0x4bab27
call fcn.004fdf60
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005e0522
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
add esp, 0xc
fadd qword [edi + 0x58]
fstp qword [edi + 0x58]
jmp 0x4bad3d
call fcn.004fdf60
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jl 0x4ba418
movzx eax, word [eax]
cmp ax, 0x2d
push esi
lea ecx, [esp + 0x38]
jne 0x4bab6d
call fcn.004fdf60
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005e0522
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
add esp, 0xc
fsubr qword [edi + 0x58]
fstp qword [edi + 0x58]
jmp 0x4bad3d
call fcn.004fdf60
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005e0522
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
add esp, 0xc
fstp qword [edi + 0x58]
jmp 0x4bad3d
push str.color
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bac22
xor ebp, ebp
push 0x23
push esi
lea ecx, [esp + 0x3c]
call fcn.004fdf60
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.0041efe0
lea ecx, [esp + 0x34]
push ecx
call fcn.004a54a0
add esp, 8
mov ecx, eax
mov byte [esp + 0x60], 0xd
call fcn.00434280
push eax
lea ecx, [esp + 0x70]
call fcn.00402bc0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5c], 6
call fcn.00401a50
mov ebx, dword [esp + 0x6c]
lea edx, [esp + 0x28]
push edx
push ebx
mov ecx, 0x71e334
call fcn.004f6d20
test al, al
je 0x4bacfb
mov eax, dword [esp + 0x28]
mov dword [edi + ebp*4 + 0x38], eax
jmp 0x4bad18
push str.outline_color
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bac48
mov ebp, 2
jmp 0x4babaf
push str.outline_level
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bac90
push esi
lea ecx, [esp + 0x38]
call fcn.004fdf60
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005e0522
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
add esp, 0xc
fst qword [edi + 0x20]
fstp qword [edi + 0x18]
jmp 0x4bad3d
push str.shadow_color
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bacb6
mov ebp, 3
jmp 0x4babaf
push 0x6478dc
push esi
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bad3d
push esi
lea ecx, [esp + 0x38]
call fcn.004fdf60
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005e0522
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
add esp, 0xc
fst qword [edi + 0x30]
fstp qword [edi + 0x28]
jmp 0x4bad3d
push 0x10
push 0
push ebx
call fcn.005dcca4
add esp, 0xc
test eax, eax
mov dword [edi + ebp*4 + 0x38], eax
jne 0x4bad18
mov dword [edi + ebp*4 + 0x38], 0xffffff
mov eax, dword [edi + ebp*4 + 0x38]
movzx edx, byte [edi + ebp*4 + 0x3a]
movzx ecx, al
shl ecx, 0x10
or ecx, edx
and eax, 0xff00
or ecx, eax
mov dword [edi + ebp*4 + 0x38], ecx
lea ecx, [esp + 0x6c]
call fcn.00401a50
add esi, 1
cmp esi, dword [esp + 0x48]
jb 0x4baa70
jmp 0x4bae9e
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
lea eax, [esi + 0x50]
push eax
lea ecx, [edi + 0x50]
call fcn.00403400
fld qword [esi + 0x58]
lea eax, [esi + 0x38]
fstp qword [edi + 0x58]
mov edx, dword [eax]
lea ecx, [edi + 0x38]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x4bae9e
lea ecx, [esp + 0x14]
push 0x6478d8
push ecx
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bae03
mov edi, 1
cmp dword [esp + 0x48], edi
jne 0x4bae03
push 0x6478d4
push 0
lea ecx, [esp + 0x4c]
call fcn.004fdf60
push eax
call fcn.004a9e30
add esp, 8
test al, al
je 0x4bae03
mov esi, dword [esp + 0x30]
mov edx, dword [esi + 0x130]
push 0
lea ecx, [esp + 0x38]
mov dword [esi + 0x128], edi
mov dword [esi + 0x12c], edx
call fcn.004fdf60
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005e0522
add esp, 0xc
add dword [esi + 0x130], eax
jmp 0x4bae9e
lea ecx, [esp + 0x34]
call fcn.005a1500
lea ecx, [esp + 0x44]
call fcn.005a1500
lea ecx, [esp + 0x14]
call fcn.004194a0
lea ecx, [esp + 0x68]
call fcn.004194a0
xor al, al
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x10
cmp byte [esp + 0x13], 0
jne 0x4bae50
mov ecx, dword [esp + 0x6c]
mov al, 1
mov byte [ecx + 0x7e], al
jmp 0x4bae9e
mov eax, dword [esp + 0x70]
mov al, byte [eax + 0x7e]
mov ecx, dword [esp + 0x6c]
mov byte [ecx + 0x7e], al
jmp 0x4bae9e
cmp byte [esp + 0x13], 0
jne 0x4bae72
mov ecx, dword [esp + 0x6c]
mov al, 1
mov byte [ecx + 0x7c], al
jmp 0x4bae9e
mov edx, dword [esp + 0x70]
mov al, byte [edx + 0x7c]
mov ecx, dword [esp + 0x6c]
mov byte [ecx + 0x7c], al
jmp 0x4bae9e
cmp byte [esp + 0x13], 0
jne 0x4bae90
mov eax, 0x2bc
jmp 0x4bae97
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x78]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x78], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4baebe
mov edx, dword [esp + 0x38]
push edx
push eax
call fcn.004b8490
mov eax, dword [esp + 0x3c]
push eax
call fcn.005d9100
add esp, 0xc
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4baede
mov ecx, dword [esp + 0x48]
push ecx
push eax
call fcn.004b8490
mov edx, dword [esp + 0x4c]
push edx
call fcn.005d9100
add esp, 0xc
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x5c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4baf03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [esp + 0x5c], edx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4baf27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
mov al, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x50
ret 0x10