Function at 0x48d4e0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5d7218
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xbc
push ebx
push esi
push edi
mov dword [esp + 0xc4], ecx
mov ecx, dword [ebp + 0xc]
xor edi, edi
mov eax, 0x2710
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x1c], edi
call fcn.00426a20
mov dword [esp + 0x20], eax
lea eax, [esp + 0x70]
push eax
push str.value
push str.link_line_prec
push str.workspace
mov ecx, 0x87f5b8
mov dword [esp + 0x80], edi
call fcn.00593f80
test eax, eax
jne 0x48d5bc
mov dword [esp + 0x70], 0x14
fild dword [esp + 0x70]
mov ecx, dword [ebp + 0x10]
push edi
fstp qword [esp + 0x28]
call fcn.00547260
mov ebx, eax
cmp ebx, edi
mov dword [esp + 0x18], ebx
je 0x48eb30
mov esi, dword [ebp + 0x14]
mov edi, ebx
test ebx, ebx
je 0x48eb30
jmp 0x48d5ed
mov esi, dword [ebp + 0x14]
mov ecx, dword [edi]
call fcn.0054a0f0
test eax, eax
je 0x48dd2e
mov ecx, dword [edi]
call fcn.00549f80
cmp eax, 0xb
jne 0x48dd2e
cmp esi, 1
jne 0x48d620
mov ecx, dword [edi]
call fcn.00549ff0
test eax, eax
je 0x48dd2e
mov ecx, dword [edi]
call fcn.0054a160
test eax, eax
jne 0x48dd2e
mov ecx, dword [edi]
call fcn.00571b10
test eax, eax
jne 0x48dd2e
mov ecx, dword [edi]
call fcn.00565200
test eax, eax
jne 0x48dd2e
mov eax, dword [esp + 0x10]
mov esi, dword [edi]
test eax, eax
jne 0x48da64
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x48d78c
mov ecx, esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], esi
call fcn.00549f70
mov ecx, dword [ebp + 0x10]
push 0
push edi
mov dword [esp + 0x74], eax
call fcn.00547400
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x18], ebx
je 0x48d6bb
mov ecx, dword [ebx]
call fcn.0054a0f0
test eax, eax
je 0x48d6a6
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 0xa
jne 0x48d6b7
mov ecx, dword [ebp + 0x10]
push 0
push ebx
call fcn.00547400
mov ebx, eax
test ebx, ebx
jne 0x48d68f
mov dword [esp + 0x18], ebx
mov ecx, dword [ebp + 0x10]
push 0
push edi
call fcn.00547400
mov edi, eax
test edi, edi
jne 0x48d5ea
mov esi, dword [esp + 0x10]
test esi, esi
je 0x48dde8
mov ecx, esi
call fcn.005655a0
mov ecx, esi
mov edi, eax
call fcn.005655c0
mov dword [esp + 0xc], eax
mov eax, dword [eax]
sub esp, 0x1c
mov edx, dword [eax]
mov ecx, esp
mov dword [esp + 0x2c], esp
sub esp, 0x1c
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 edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
je 0x48eb1e
mov eax, dword [edi]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], 1
mov ecx, dword [ecx]
mov edx, dword [eax]
push 1
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 edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x18], eax
mov ecx, esi
jmp 0x48eb19
mov ecx, esi
call fcn.00549f70
cmp eax, dword [esp + 0x6c]
ja 0x48eb1e
mov ecx, dword [esp + 0x14]
call fcn.005655a0
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], edx
mov eax, dword [eax + 0x18]
mov dword [esp + 0xa8], eax
call fcn.005655c0
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov eax, dword [eax + 0x18]
mov ecx, esi
mov dword [esp + 0x8c], eax
call fcn.005655a0
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], ecx
mov ecx, esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
call fcn.005655c0
mov eax, dword [eax]
sub esp, 0x1c
mov dword [esp + 0x28], esp
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
mov eax, esp
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
sub esp, 0x1c
mov dword [eax + 0x18], ecx
lea edx, [esp + 0xc8]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48dfab
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x28], esp
sub esp, 0x1c
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
lea edx, [esp + 0xc8]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e196
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x28], esp
sub esp, 0x1c
mov dword [eax], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x94]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x9c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e300
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x28], esp
sub esp, 0x1c
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e4b5
jmp 0x48d6bb
mov ecx, esi
call fcn.00549f70
cmp eax, dword [esp + 0x6c]
ja 0x48e6b2
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.005655a0
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edx
mov eax, dword [eax + 0x18]
mov ecx, ebx
mov dword [esp + 0xa8], eax
call fcn.005655c0
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov eax, dword [eax + 0x18]
mov ecx, esi
mov dword [esp + 0x8c], eax
call fcn.005655a0
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0x18]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x60], ecx
mov ecx, esi
mov dword [esp + 0x64], edx
call fcn.005655c0
mov eax, dword [eax]
sub esp, 0x1c
mov dword [esp + 0x28], esp
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
mov eax, esp
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ebx
sub esp, 0x1c
lea eax, [esp + 0xc8]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e738
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x28], esp
sub esp, 0x1c
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
lea edx, [esp + 0xc8]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e808
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x28], esp
sub esp, 0x1c
mov dword [eax], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x94]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x9c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ebx
lea eax, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e898
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x28], esp
sub esp, 0x1c
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
lea edx, [esp + 0xac]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
jne 0x48e95c
mov ebx, dword [esp + 0x18]
jmp 0x48d6bb
mov ecx, dword [edi]
call fcn.0054a0f0
test eax, eax
je 0x48dd78
mov ecx, dword [edi]
call fcn.00549f80
cmp eax, 0xa
jne 0x48dd78
cmp esi, 1
jne 0x48dd55
mov ecx, dword [edi]
call fcn.00549ff0
test eax, eax
je 0x48dd78
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [edi]
push 0
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
push 0
push edx
push eax
push ecx
mov ecx, dword [esp + 0xe0]
call fcn.0048d4e0
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x48ddd2
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x48ddd2
push esi
mov esi, dword [ebp + 0x10]
push edi
mov ecx, esi
call fcn.00547400
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x18], ebx
je 0x48d6bb
mov ecx, dword [ebx]
call fcn.0054a0f0
test eax, eax
je 0x48ddbd
mov ecx, dword [ebx]
call fcn.00549f80
cmp eax, 0xa
jne 0x48d6b7
push 0
push ebx
mov ecx, esi
call fcn.00547400
mov ebx, eax
test ebx, ebx
jne 0x48dda2
jmp 0x48d6b7
mov ecx, dword [edi]
call fcn.00549f70
cmp eax, dword [esp + 0x6c]
ja 0x48ea6a
jmp 0x48d6bb
mov esi, dword [esp + 0x14]
test esi, esi
je 0x48eb1e
mov ecx, esi
call fcn.005655a0
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.005655c0
mov edi, eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
mov eax, dword [edi]
sub esp, 0x1c
mov dword [esp + 0x44], esp
mov edx, dword [eax]
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 edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x48]
mov dword [ecx + 0x18], eax
mov ecx, esp
mov eax, dword [edx]
push eax
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
je 0x48eb1e
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.0054a170
mov ecx, dword [esp + 0x10]
mov eax, dword [edi]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov ecx, dword [ecx]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea edx, [esp + 0xac]
fld qword [ecx]
fsub qword [eax]
push edx
push eax
fstp qword [esp + 0xb4]
fld qword [ecx + 8]
fsub qword [eax + 8]
mov ecx, esi
fstp qword [esp + 0xbc]
call fcn.00566120
push 0x2c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48df10
xor ecx, ecx
mov esi, eax
mov dword [eax + 0x14], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x28], ecx
jmp 0x48df12
xor esi, esi
mov eax, dword [ebp + 0x1c]
mov dword [esi], 0xd
push 4
mov ecx, dword [eax]
mov dword [esi + 8], 1
mov dword [esi + 4], ecx
call fcn.005b449a
mov edx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
mov dword [eax], edx
mov eax, dword [edi]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x18]
fld qword [esp + 0xb0]
fchs
fstp qword [esi + 0x14]
fld qword [esp + 0xb8]
fchs
fstp qword [esi + 0x1c]
fld qword [esp + 0xc0]
add esp, 4
fchs
fstp qword [esi + 0x24]
test eax, eax
je 0x48df8b
mov eax, dword [ebp + 8]
push esi
lea ecx, [eax + 0x58]
push ecx
lea ecx, [eax + 0x1a0c]
call fcn.00526d60
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
jmp 0x48eb1e
mov edx, dword [esi + 0xc]
push edx
call fcn.005b44c3
push esi
call fcn.005b44c3
mov eax, dword [ebp + 0x1c]
add esp, 8
mov dword [eax], 0
jmp 0x48eb1e
push 0x944
mov dword [esp + 0x20], 1
call fcn.005b449a
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0xd0], 0
je 0x48dfe3
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0055f5c0
mov ebx, eax
jmp 0x48dfe5
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov ecx, ebx
inc eax
mov dword [esp + 0xd0], 0xffffffff
push eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], eax
call fcn.00549f60
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
push ebx
push edx
call fcn.005477e0
push 0x14
call fcn.005b449a
mov edi, eax
push 4
mov dword [edi], 2
mov dword [edi + 8], 1
call fcn.005b449a
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x1c]
add esp, 8
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], 0
mov eax, dword [ebp + 0x20]
mov dword [edi + 0x10], 1
test eax, eax
jne 0x48e059
mov dword [edi + 0x10], 0
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x18]
test eax, eax
mov dword [edx], ebx
je 0x48e07a
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
push eax
add ecx, 0x1a0c
call fcn.00526d60
jmp 0x48e08c
mov edx, dword [edi + 0xc]
push edx
call fcn.005b44c3
push edi
call fcn.005b44c3
add esp, 8
mov ecx, ebx
call fcn.005655a0
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.005655a0
test eax, eax
je 0x48e10b
push eax
mov ecx, esi
call fcn.00565610
mov edi, eax
test edi, edi
je 0x48e10b
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e0ea
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e0ec
xor eax, eax
mov edx, dword [esp + 0xc]
push eax
push edx
mov ecx, ebx
call fcn.005659f0
push edi
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00565610
mov edi, eax
test edi, edi
jne 0x48e0b0
mov ebx, dword [esp + 0x14]
push 0
mov ecx, ebx
call fcn.0054a100
push 0
mov ecx, esi
call fcn.0054a100
push 0x14
call fcn.005b449a
mov edi, eax
push 8
mov dword [edi], 1
mov dword [edi + 8], 2
call fcn.005b449a
mov edx, dword [ebp + 0x20]
xor ecx, ecx
add esp, 8
cmp edx, ecx
mov dword [edi + 0xc], eax
mov dword [edi + 4], ecx
mov dword [edi + 0x10], 1
jne 0x48e15a
mov dword [edi + 0x10], ecx
mov dword [eax], ebx
mov eax, dword [edi + 0xc]
mov dword [eax + 4], esi
mov eax, dword [ebp + 0x18]
cmp eax, ecx
je 0x48e18d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push edi
push ecx
lea ecx, [edx + 0x1a0c]
call fcn.00526d60
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], 0
jmp 0x48eb28
mov eax, dword [edi + 0xc]
push eax
jmp 0x48ea4b
mov edi, 1
push 0x944
mov dword [esp + 0x20], edi
call fcn.005b449a
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0xd0], edi
je 0x48e1cb
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0055f5c0
mov ebx, eax
jmp 0x48e1cd
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov ecx, ebx
inc eax
mov dword [esp + 0xd0], 0xffffffff
push eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], eax
call fcn.00549f60
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
push ebx
push edx
call fcn.005477e0
push 0x14
call fcn.005b449a
mov edi, eax
push 4
mov dword [edi], 2
mov dword [edi + 8], 1
call fcn.005b449a
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x1c]
add esp, 8
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], 0
mov eax, dword [ebp + 0x20]
mov dword [edi + 0x10], 1
test eax, eax
jne 0x48e241
mov dword [edi + 0x10], 0
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x18]
test eax, eax
mov dword [edx], ebx
je 0x48e262
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
push eax
add ecx, 0x1a0c
call fcn.00526d60
jmp 0x48e274
mov edx, dword [edi + 0xc]
push edx
call fcn.005b44c3
push edi
call fcn.005b44c3
add esp, 8
mov ecx, ebx
call fcn.005655a0
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.005655c0
test eax, eax
je 0x48e460
push eax
mov ecx, esi
call fcn.005655e0
mov edi, eax
test edi, edi
je 0x48e460
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e2da
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e2dc
xor eax, eax
mov edx, dword [esp + 0xc]
push eax
push edx
mov ecx, ebx
call fcn.005659f0
push edi
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.005655e0
mov edi, eax
test edi, edi
jne 0x48e2a0
jmp 0x48e460
push 0x944
mov dword [esp + 0x20], 1
call fcn.005b449a
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0xd0], 2
je 0x48e338
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0055f5c0
mov ebx, eax
jmp 0x48e33a
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov ecx, ebx
inc eax
mov dword [esp + 0xd0], 0xffffffff
push eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], eax
call fcn.00549f60
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
push ebx
push edx
call fcn.005477e0
push 0x14
call fcn.005b449a
mov edi, eax
push 4
mov dword [edi], 2
mov dword [edi + 8], 1
call fcn.005b449a
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x1c]
add esp, 8
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], 0
mov eax, dword [ebp + 0x20]
mov dword [edi + 0x10], 1
test eax, eax
jne 0x48e3ae
mov dword [edi + 0x10], 0
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x18]
test eax, eax
mov dword [edx], ebx
je 0x48e3cf
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
push eax
add ecx, 0x1a0c
call fcn.00526d60
jmp 0x48e3e1
mov edx, dword [edi + 0xc]
push edx
call fcn.005b44c3
push edi
call fcn.005b44c3
add esp, 8
mov ecx, ebx
call fcn.005655c0
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.005655a0
test eax, eax
je 0x48e460
push eax
mov ecx, esi
call fcn.00565610
mov edi, eax
test edi, edi
je 0x48e460
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e43f
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e441
xor eax, eax
mov edx, dword [esp + 0xc]
push eax
push edx
mov ecx, ebx
call fcn.00565ab0
push edi
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00565610
mov edi, eax
test edi, edi
jne 0x48e405
mov ebx, dword [esp + 0x14]
push 0
mov ecx, ebx
call fcn.0054a100
push 0
mov ecx, esi
call fcn.0054a100
push 0x14
call fcn.005b449a
mov edi, eax
push 8
mov dword [edi], 1
mov dword [edi + 8], 2
call fcn.005b449a
mov edx, dword [ebp + 0x20]
xor ecx, ecx
add esp, 8
mov dword [edi + 0xc], eax
mov dword [edi + 4], ecx
cmp edx, ecx
mov dword [edi + 0x10], 1
jne 0x48e15a
jmp 0x48e157
push 0x944
mov dword [esp + 0x20], 1
call fcn.005b449a
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0xd0], 3
je 0x48e4ed
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0055f5c0
mov ebx, eax
jmp 0x48e4ef
xor ebx, ebx
mov eax, dword [esp + 0x20]
mov ecx, ebx
inc eax
mov dword [esp + 0xd0], 0xffffffff
push eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], eax
call fcn.00549f60
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
push ebx
push edx
call fcn.005477e0
push 0x14
call fcn.005b449a
mov edi, eax
push 4
mov dword [edi], 2
mov dword [edi + 8], 1
call fcn.005b449a
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x1c]
add esp, 8
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], 0
mov eax, dword [ebp + 0x20]
mov dword [edi + 0x10], 1
test eax, eax
jne 0x48e563
mov dword [edi + 0x10], 0
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x18]
test eax, eax
mov dword [edx], ebx
je 0x48e584
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
push eax
add ecx, 0x1a0c
call fcn.00526d60
jmp 0x48e596
mov edx, dword [edi + 0xc]
push edx
call fcn.005b44c3
push edi
call fcn.005b44c3
add esp, 8
mov ecx, ebx
call fcn.005655c0
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.005655c0
test eax, eax
je 0x48e615
push eax
mov ecx, esi
call fcn.005655e0
mov edi, eax
test edi, edi
je 0x48e615
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e5f4
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e5f6
xor eax, eax
mov edx, dword [esp + 0xc]
push eax
push edx
mov ecx, ebx
call fcn.00565ab0
push edi
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.005655e0
mov edi, eax
test edi, edi
jne 0x48e5ba
mov ecx, dword [esp + 0x14]
xor ebx, ebx
push ebx
call fcn.0054a100
push ebx
mov ecx, esi
call fcn.0054a100
push 0x14
call fcn.005b449a
mov edi, eax
push 8
mov dword [edi], 1
mov dword [edi + 8], 2
call fcn.005b449a
mov ecx, dword [ebp + 0x20]
add esp, 8
cmp ecx, ebx
mov dword [edi + 0xc], eax
mov dword [edi + 4], ebx
mov dword [edi + 0x10], 1
jne 0x48e660
mov dword [edi + 0x10], ebx
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x18]
cmp eax, ebx
mov dword [edx + 4], esi
je 0x48e693
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
push eax
add ecx, 0x1a0c
call fcn.00526d60
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x18]
jmp 0x48eb28
mov edx, dword [edi + 0xc]
push edx
call fcn.005b44c3
push edi
call fcn.005b44c3
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x20]
add esp, 8
jmp 0x48eb28
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.005655a0
mov ecx, esi
mov edi, eax
call fcn.005655c0
mov dword [esp + 0xc], eax
mov eax, dword [eax]
sub esp, 0x1c
mov edx, dword [eax]
mov ecx, esp
mov dword [esp + 0x2c], esp
sub esp, 0x1c
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 edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
je 0x48eb1e
mov eax, dword [edi]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], 1
jmp 0x48d759
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], 1
call fcn.005655a0
mov ecx, esi
mov ebx, eax
call fcn.005655a0
test eax, eax
je 0x48e7bb
push eax
mov ecx, esi
call fcn.00565610
mov edi, eax
test edi, edi
je 0x48e7bb
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e79e
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e7a0
xor eax, eax
mov ecx, dword [esp + 0x10]
push eax
push ebx
call fcn.005659f0
push edi
mov ecx, esi
mov ebx, eax
call fcn.00565610
mov edi, eax
test edi, edi
jne 0x48e764
push 0
mov ecx, esi
call fcn.0054a100
push 0x14
call fcn.005b449a
mov edi, eax
mov ebx, 1
push 4
mov dword [edi], ebx
mov dword [edi + 8], ebx
call fcn.005b449a
mov edx, dword [ebp + 0x20]
xor ecx, ecx
add esp, 8
cmp edx, ecx
mov dword [edi + 0xc], eax
mov dword [edi + 4], ecx
mov dword [edi + 0x10], ebx
jne 0x48e7f6
mov dword [edi + 0x10], ecx
mov dword [eax], esi
mov eax, dword [ebp + 0x18]
cmp eax, ecx
je 0x48ea47
jmp 0x48ea23
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], 1
call fcn.005655a0
mov ecx, esi
mov ebx, eax
call fcn.005655c0
test eax, eax
je 0x48e91b
push eax
mov ecx, esi
call fcn.005655e0
mov edi, eax
test edi, edi
je 0x48e91b
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e876
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e878
xor eax, eax
mov ecx, dword [esp + 0x10]
push eax
push ebx
call fcn.005659f0
push edi
mov ecx, esi
mov ebx, eax
call fcn.005655e0
mov edi, eax
test edi, edi
jne 0x48e83c
jmp 0x48e91b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], 1
call fcn.005655c0
mov ecx, esi
mov ebx, eax
call fcn.005655a0
test eax, eax
je 0x48e91b
push eax
mov ecx, esi
call fcn.00565610
mov edi, eax
test edi, edi
je 0x48e91b
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e8fe
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e900
xor eax, eax
mov ecx, dword [esp + 0x10]
push eax
push ebx
call fcn.00565ab0
push edi
mov ecx, esi
mov ebx, eax
call fcn.00565610
mov edi, eax
test edi, edi
jne 0x48e8c4
push 0
mov ecx, esi
call fcn.0054a100
push 0x14
call fcn.005b449a
mov edi, eax
mov ebx, 1
push 4
mov dword [edi], ebx
mov dword [edi + 8], ebx
call fcn.005b449a
mov edx, dword [ebp + 0x20]
xor ecx, ecx
add esp, 8
mov dword [edi + 0xc], eax
mov dword [edi + 4], ecx
cmp edx, ecx
mov dword [edi + 0x10], ebx
jne 0x48e7f6
jmp 0x48e7f3
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], 1
call fcn.005655c0
mov ecx, esi
mov ebx, eax
call fcn.005655c0
test eax, eax
je 0x48e9df
push eax
mov ecx, esi
call fcn.005655e0
mov edi, eax
test edi, edi
je 0x48e9df
push 0x1c
call fcn.005b449a
add esp, 4
test eax, eax
je 0x48e9c2
mov ecx, dword [edi]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x18]
mov dword [eax + 0x18], ecx
jmp 0x48e9c4
xor eax, eax
mov ecx, dword [esp + 0x10]
push eax
push ebx
call fcn.00565ab0
push edi
mov ecx, esi
mov ebx, eax
call fcn.005655e0
mov edi, eax
test edi, edi
jne 0x48e988
push 0
mov ecx, esi
call fcn.0054a100
push 0x14
call fcn.005b449a
mov edi, eax
mov ebx, 1
push 4
mov dword [edi], ebx
mov dword [edi + 8], ebx
call fcn.005b449a
mov edx, dword [ebp + 0x20]
xor ecx, ecx
add esp, 8
cmp edx, ecx
mov dword [edi + 0xc], eax
mov dword [edi + 4], ecx
mov dword [edi + 0x10], ebx
jne 0x48ea1a
mov dword [edi + 0x10], ecx
mov dword [eax], esi
mov eax, dword [ebp + 0x18]
cmp eax, ecx
je 0x48ea47
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push edi
push edx
lea ecx, [eax + 0x1a0c]
call fcn.00526d60
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], 0
jmp 0x48eb28
mov ecx, dword [edi + 0xc]
push ecx
call fcn.005b44c3
push edi
call fcn.005b44c3
mov ebx, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x14], 0
jmp 0x48eb28
test esi, esi
je 0x48eb1e
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.005655a0
mov ecx, esi
mov edi, eax
call fcn.005655c0
mov esi, eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
mov eax, dword [esi]
sub esp, 0x1c
mov dword [esp + 0x44], esp
mov edx, dword [eax]
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 edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov ecx, esp
push edx
call fcn.0042cf80
call fcn.0048d4b0
fcomp qword [esp + 0x5c]
add esp, 0x38
fnstsw ax
test ah, 1
je 0x48eb1e
mov eax, dword [edi]
mov ecx, dword [esi]
mov dword [esp + 0x1c], 1
push 1
mov edx, dword [eax]
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 edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x14]
call fcn.0054a170
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x48d5db
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.0054a880
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
neg eax
sbb eax, eax
pop edi
and eax, 0x40000000
pop esi
add eax, 0xc0000000
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c