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

Disassembly:
test dword [0x4410bb4], 0xfffffe00
jne 0x4a890c
test dword [0x4410bb4], 0xffffffff
jne 0x4a7604
call fcn.004a42d8
jmp fcn.004a75dc
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x6c
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [ecx]
mov dword [esp + 0x40], edx
mov edi, edx
and edi, 0x7fffffff
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x64], eax
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov ecx, esi
and ecx, 0x7fffffff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], eax
xor edx, esi
mov dword [esp + 0x5c], ebx
and edx, 0x80000000
mov dword [esp + 0x58], edx
movzx esi, di
shr edi, 0x10
mov dword [esp + 0x68], edi
movzx edx, cx
mov eax, ecx
shr eax, 0x10
lea ebx, [edi - 1]
cmp ebx, 0x7ffd
ja 0x4a7dff
lea ebx, [eax - 1]
cmp ebx, 0x7ffd
ja 0x4a7dff
mov ebx, dword [esp + 0x68]
or esi, 0x10000
or edx, 0x10000
lea ebx, [ebx + eax - 0x4000]
add esp, 0xffffffd0
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x48]
lea edx, [esp + 0x50]
lea ecx, [esp + 0x58]
call fcn.004a85ac
add esp, 0x30
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov esi, eax
and esi, 2
or esi, ecx
je 0x4a77a6
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, edx
shr edi, 0x11
shl edx, 0xf
shl eax, 0xf
or edi, eax
mov dword [esp + 0x1c], edi
mov eax, ecx
shr eax, 0x11
or edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x2c]
mov edi, esi
shr edi, 0x11
shl esi, 0xf
shl ecx, 0xf
or edi, ecx
mov dword [esp + 0x24], edi
mov ecx, edx
shr ecx, 0x11
or esi, ecx
mov ecx, dword [esp + 0x30]
or ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
je 0x4a7788
mov ecx, 1
jmp 0x4a778a
xor ecx, ecx
mov esi, eax
shr esi, 0x11
shl eax, 0xf
shl edx, 0xf
or esi, edx
or eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
add ebx, 1
jmp 0x4a7818
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, edx
shr edi, 0x10
shl edx, 0x10
shl eax, 0x10
or edi, eax
mov dword [esp + 0x1c], edi
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x2c]
mov edi, esi
shr edi, 0x10
shl esi, 0x10
shl ecx, 0x10
or edi, ecx
mov dword [esp + 0x24], edi
mov ecx, edx
shr ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x30]
or ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
je 0x4a77ff
mov ecx, 1
jmp 0x4a7801
xor ecx, ecx
mov esi, eax
shr esi, 0x10
shl eax, 0x10
shl edx, 0x10
or esi, edx
or eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
cmp ebx, 0x7ffd
jae 0x4a7968
or eax, esi
je 0x4a7937
fnstcw word [esp + 0x38]
mov edx, dword [esp + 0x38]
mov eax, dword [0x4cd488]
mov ecx, dword [0x4cd48c]
fld qword [eax]
fadd qword [ecx]
fstp qword [esp + 0x10]
and edx, 0xc00
jne 0x4a785d
mov eax, dword [esp + 0x2c]
sub eax, 0
jl 0x4a788d
jmp 0x4a78f4
cmp edx, 0xc00
je 0x4a78f4
xor eax, eax
or eax, dword [esp + 0x58]
je 0x4a787e
xor eax, eax
cmp edx, 0x400
sete al
jmp 0x4a7889
xor eax, eax
cmp edx, 0x800
sete al
test eax, eax
je 0x4a78f4
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
add ecx, 1
adc esi, 0
mov eax, ecx
or eax, esi
je 0x4a78b3
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edi
jmp 0x4a78c9
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add eax, 1
adc edi, 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edi, edi
adc eax, eax
or edi, eax
jne 0x4a78e0
mov edi, 1
jmp 0x4a78e2
xor edi, edi
xor eax, eax
test edx, edx
sete al
and eax, edi
not eax
cdq
and ecx, eax
and esi, edx
jmp 0x4a790c
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edx
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x5c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 4], esi
shl ebx, 0x10
add edx, ebx
mov ebx, dword [esp + 0x58]
or ebx, edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x58]
mov dword [edi], eax
mov dword [edi + 4], edx
shl ebx, 0x10
add ebx, dword [esp + 0x1c]
or esi, ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], esi
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fnstcw word [esp + 0x38]
mov edx, dword [esp + 0x38]
mov ecx, edx
and ecx, 0xc00
jne 0x4a7989
mov eax, dword [esp + 0x2c]
sub eax, 0
jl 0x4a7a55
jmp 0x4a79b3
cmp ecx, 0xc00
je 0x4a79b3
xor eax, eax
or eax, dword [esp + 0x58]
je 0x4a79a7
cmp ecx, 0x400
je 0x4a7a47
jmp 0x4a79b3
cmp ecx, 0x800
je 0x4a7de7
xor eax, eax
cmp ebx, 0x7ffd
jle 0x4a7a30
mov eax, dword [0x4cd490]
fld qword [eax]
fmul st(0)
fstp qword [esp + 0x10]
cmp ecx, 0xc00
je 0x4a7a9b
mov edx, dword [esp + 0x58]
xor eax, eax
or edx, eax
je 0x4a79ef
cmp ecx, 0x800
je 0x4a7a5f
mov ecx, 1
jmp 0x4a79fd
cmp ecx, 0x400
je 0x4a7a97
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x4c5270]
mov edx, dword [ecx + 0x4c5274]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x4c5278]
mov ecx, dword [ecx + 0x4c527c]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
je 0x4a7da3
test ebx, ebx
jl 0x4a7aa7
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
jmp 0x4a7824
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x2c]
je 0x4a79b3
mov eax, 1
jmp 0x4a79b5
mov ebx, 1
mov esi, dword [ebp + 8]
shl ebx, 4
mov eax, dword [ebx + 0x4c52c0]
mov edx, dword [ebx + 0x4c52c4]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebx + 0x4c52c8]
mov ebx, dword [ebx + 0x4c52cc]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ebx, ebx
jmp 0x4a7a64
mov edx, dword [esp + 0x58]
xor eax, eax
or edx, eax
jne 0x4a7a5f
jmp 0x4a7a97
cmp ebx, 0xffffffff
jge 0x4a7abe
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], ecx
jmp 0x4a7b22
test eax, eax
jne 0x4a7ad4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], ecx
jmp 0x4a7b22
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, edi
sub eax, 0xffffffff
mov ecx, esi
sbb ecx, 0x1ffff
jae 0x4a7afd
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], ecx
jmp 0x4a7b22
add edi, 1
add esi, 0xfffe0001
or edi, esi
jne 0x4a7b2d
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
sub eax, 0xffffffff
mov dword [esp + 0x40], ecx
sbb ecx, 0xffffffff
jae 0x4a7b3d
mov eax, 1
mov dword [esp + 0x3c], eax
jmp 0x4a7b43
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], ecx
xor eax, eax
mov dword [esp + 0x3c], eax
neg ebx
mov eax, ebx
and eax, 0x3f
mov dword [esp + 8], eax
mov ecx, ebx
neg ecx
and ecx, 0x3f
mov dword [esp + 0x64], ecx
cmp ebx, 0x40
jge 0x4a7c5e
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x2c]
je 0x4a7b73
mov ebx, 1
jmp 0x4a7b75
xor ebx, ebx
mov eax, ecx
cmp eax, 0x1f
ja 0x4a7b8b
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0xc]
shld esi, eax, cl
shl eax, cl
jmp 0x4a7b93
mov esi, dword [esp + 0xc]
xor eax, eax
shl esi, cl
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x2c], esi
or eax, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x44], ebx
cmp edi, 0x1f
ja 0x4a7bc9
mov ecx, edi
mov edi, ebx
mov ebx, dword [esp + 4]
shld edi, ebx, cl
shl ebx, cl
mov dword [esp + 0x48], ebx
jmp 0x4a7bd7
mov ecx, edi
mov edi, dword [esp + 4]
xor ebx, ebx
mov dword [esp + 0x48], ebx
shl edi, cl
mov ecx, dword [esp + 8]
cmp ecx, 0x1f
ja 0x4a7bff
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0xc]
shrd edi, ebx, cl
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x68]
shr ebx, cl
mov dword [esp + 0x60], ebx
jmp 0x4a7c0f
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x40]
shr ebx, cl
mov dword [esp + 0xc], ebx
or edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 8]
or ecx, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
cmp ebx, 0x1f
mov dword [esp + 0x24], edi
ja 0x4a7c41
mov ecx, ebx
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 4]
shrd edi, ebx, cl
shr ebx, cl
mov dword [esp + 4], edi
jmp 0x4a7c4f
mov ecx, ebx
mov edi, dword [esp + 0x44]
xor ebx, ebx
shr edi, cl
mov dword [esp + 4], edi
mov ecx, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
jmp 0x4a7d0e
je 0x4a7d6b
cmp ebx, 0x80
jge 0x4a7ce9
mov ecx, dword [esp + 0xc]
or ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0x2c]
or ecx, eax
je 0x4a7c8b
mov eax, 1
mov dword [esp + 0x40], eax
jmp 0x4a7c91
xor eax, eax
mov dword [esp + 0x40], eax
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], eax
cmp ecx, 0x1f
ja 0x4a7cb1
mov esi, eax
shld esi, ebx, cl
mov eax, ebx
shl eax, cl
jmp 0x4a7cb7
xor eax, eax
mov esi, ebx
shl esi, cl
or eax, dword [esp + 0x40]
mov ecx, dword [esp + 8]
cmp ecx, 0x1f
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
ja 0x4a7cd7
mov edi, dword [esp + 0x44]
shrd ebx, edi, cl
shr edi, cl
jmp 0x4a7cdf
mov ebx, dword [esp + 0x44]
xor edi, edi
shr ebx, cl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
jmp 0x4a7d04
mov dword [esp + 0x28], 1
mov eax, 1
xor esi, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4a7d64
or eax, esi
je 0x4a7d36
mov eax, dword [0x4cd48c]
fld qword [eax]
fmul st(0)
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
fstp qword [esp + 0x10]
xor ebx, ebx
jmp 0x4a7824
test dl, 0x10
jne 0x4a7d5d
mov eax, dword [0x4cd48c]
fld qword [eax]
mov edx, dword [0x4cd494]
fmul qword [edx]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
fstp qword [esp + 0x10]
xor ebx, ebx
jmp 0x4a7824
xor ebx, ebx
jmp 0x4a7937
xor ebx, ebx
jmp 0x4a7824
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x2c]
je 0x4a7d7c
mov eax, 1
jmp 0x4a7d7e
xor eax, eax
or eax, dword [esp + 0xc]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
jmp 0x4a7d04
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add esi, 1
add edx, 0xfffe0001
or esi, edx
jne 0x4a7a3a
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add esi, 1
add edx, 1
or esi, edx
jne 0x4a7a3a
test eax, eax
jne 0x4a79bd
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
jmp 0x4a7824
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x2c]
je 0x4a79b3
mov eax, 1
jmp 0x4a79b5
mov ebx, dword [esp + 0x50]
or ebx, dword [esp + 0x4c]
je 0x4a7e14
mov ebx, 1
mov dword [esp + 0xc], ebx
jmp 0x4a7e1a
xor ebx, ebx
mov dword [esp + 0xc], ebx
mov edi, ebx
or edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xc], edi
or ebx, edi
jne 0x4a7e3d
xor ebx, ebx
mov dword [esp + 8], ebx
mov edi, 1
mov dword [esp + 4], edi
jmp 0x4a7ea3
mov ebx, dword [esp + 0x48]
sub ebx, 0x10000
jae 0x4a7e58
mov ebx, 2
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
jmp 0x4a7ea3
mov ebx, dword [esp + 0x48]
sub ebx, 0x7fff0000
jae 0x4a7e75
xor ebx, ebx
mov dword [esp + 8], ebx
mov edi, 4
mov dword [esp + 4], edi
jmp 0x4a7ea3
mov edi, dword [esp + 0x48]
xor ebx, ebx
mov dword [esp + 8], ebx
sub edi, 0x7fff0000
jb 0x4a7e9a
mov ebx, dword [esp + 0xc]
or ebx, edi
je 0x4a7e9a
mov ebx, 0x10
mov dword [esp + 4], ebx
jmp 0x4a7ea3
mov ebx, 8
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
or ebx, dword [esp + 0x5c]
je 0x4a7eb8
mov ebx, 1
mov dword [esp + 0xc], ebx
jmp 0x4a7ebe
xor ebx, ebx
mov dword [esp + 0xc], ebx
mov edi, ebx
or edi, dword [esp + 0x64]
mov ebx, ecx
mov dword [esp + 0xc], edi
or ebx, edi
jne 0x4a7ed9
mov ebx, 1
mov dword [esp + 0xc], ebx
jmp 0x4a7f2a
mov ebx, ecx
sub ebx, 0x10000
jae 0x4a7ef3
or dword [esp + 8], 2
mov ebx, 2
mov dword [esp + 0xc], ebx
jmp 0x4a7f2a
mov ebx, ecx
sub ebx, 0x7fff0000
jae 0x4a7f08
mov ebx, 4
mov dword [esp + 0xc], ebx
jmp 0x4a7f2a
mov ebx, ecx
sub ebx, 0x7fff0000
jb 0x4a7f21
or edi, ebx
je 0x4a7f21
mov ebx, 0x10
mov dword [esp + 0xc], ebx
jmp 0x4a7f2a
mov ebx, 8
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x68]
or ebx, dword [esp + 0xc]
cmp edi, 0x7fff
je 0x4a8304
cmp eax, 0x7fff
je 0x4a8304
test bl, 1
je 0x4a7fb3
mov eax, dword [esp + 8]
test eax, eax
je 0x4a7f6d
mov eax, dword [0x4cd484]
fld qword [eax]
mov edx, dword [0x4cd488]
fmul qword [edx]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x58]
xor eax, eax
or edx, eax
je 0x4a7f7e
mov ecx, 1
jmp 0x4a7f80
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x4c52a0]
mov edx, dword [ecx + 0x4c52a4]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x4c52a8]
mov ecx, dword [ecx + 0x4c52ac]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 4]
cmp ebx, edi
je 0x4a8131
mov ebx, dword [0x4cd484]
fld qword [ebx]
mov edi, dword [0x4cd488]
fmul qword [edi]
mov ebx, dword [esp + 4]
fstp qword [esp + 0x10]
cmp ebx, 2
je 0x4a8194
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
or eax, edx
je 0x4a7ffb
mov eax, 0xfffffff1
jmp 0x4a8010
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, 0x31
mov ebx, dword [esp + 0xc]
sub ebx, 1
jae 0x4a801e
add eax, 0x20
jmp 0x4a8026
mov ebx, dword [esp + 0xc]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 8]
bsr edi, ebx
sub eax, edi
add eax, 0x1f
cmp eax, 0x40
jge 0x4a80e4
cmp eax, 0x1f
ja 0x4a8053
mov ebx, dword [esp + 0x64]
mov ecx, eax
shld edx, ebx, cl
mov ecx, eax
shl ebx, cl
mov dword [esp + 0x3c], ebx
jmp 0x4a8061
xor edx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x64]
mov ecx, eax
shl edx, cl
mov ecx, eax
neg ecx
and ecx, 0x3f
cmp ecx, 0x1f
ja 0x4a808c
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov dword [esp], esi
mov esi, edi
shrd ebx, esi, cl
mov esi, dword [esp]
mov dword [esp + 0x64], ebx
shr edi, cl
mov dword [esp + 0x40], edi
jmp 0x4a809c
mov edi, dword [esp + 0x5c]
xor ebx, ebx
mov dword [esp + 0x40], ebx
shr edi, cl
mov dword [esp + 0x64], edi
or edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x64]
or ebx, dword [esp + 0x3c]
mov dword [esp + 0x64], ebx
cmp eax, 0x1f
ja 0x4a80cc
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov ecx, eax
shld edi, ebx, cl
mov dword [esp + 0x5c], edi
mov ecx, eax
shl ebx, cl
mov dword [esp + 0x40], ebx
jmp 0x4a80de
mov edi, dword [esp + 0x60]
xor ebx, ebx
mov dword [esp + 0x40], ebx
mov ecx, eax
shl edi, cl
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], ebx
jmp 0x4a8127
je 0x4a8111
mov ecx, eax
and ecx, 0x3f
cmp ecx, 0x1f
ja 0x4a8103
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
shld edx, ebx, cl
shl ebx, cl
mov dword [esp + 0x64], ebx
jmp 0x4a811d
xor edx, edx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x60]
shl edx, cl
jmp 0x4a811d
mov edx, dword [esp + 0x60]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x5c]
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
neg eax
add eax, 1
jmp 0x4a76a0
fnstcw word [esp + 0x38]
mov ebx, dword [esp + 0x38]
mov eax, dword [0x4cd48c]
fld qword [eax]
and ebx, 0xc00
xor ecx, ecx
or ecx, dword [esp + 0x58]
mov edx, dword [0x4cd484]
fmul qword [edx]
fstp qword [esp + 0x10]
je 0x4a8167
xor eax, eax
cmp ebx, 0x400
sete al
jmp 0x4a8172
xor eax, eax
cmp ebx, 0x800
sete al
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x58]
mov dword [ecx + 4], 0
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], esi
or ebx, esi
je 0x4a81af
mov ebx, 0xfffffff1
mov dword [esp + 0x68], ebx
jmp 0x4a81c8
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], edi
mov ebx, 0x31
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x3c]
sub ebx, 1
jae 0x4a81d8
add dword [esp + 0x68], 0x20
jmp 0x4a81e0
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x44]
bsr edi, ebx
mov ebx, dword [esp + 0x68]
sub ebx, edi
add ebx, 0x1f
mov dword [esp + 0x68], ebx
cmp ebx, 0x40
jge 0x4a82ac
cmp ebx, 0x1f
ja 0x4a8213
mov ecx, ebx
mov ebx, dword [esp + 0x54]
shld esi, ebx, cl
shl ebx, cl
mov dword [esp + 0x44], ebx
jmp 0x4a8221
mov ecx, ebx
mov esi, dword [esp + 0x54]
xor ebx, ebx
mov dword [esp + 0x44], ebx
shl esi, cl
mov ebx, ecx
neg ebx
and ebx, 0x3f
cmp ebx, 0x1f
mov dword [esp + 0xc], ebx
ja 0x4a8250
mov ecx, ebx
mov ebx, dword [esp + 0x50]
mov dword [esp], esi
mov esi, dword [esp + 0x4c]
shrd ebx, esi, cl
mov dword [esp + 0x54], ebx
shr esi, cl
mov dword [esp + 0x40], esi
mov esi, dword [esp]
jmp 0x4a8262
mov ecx, ebx
mov edi, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 0x40], ebx
shr edi, cl
mov dword [esp + 0x54], edi
or esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x68]
or ebx, dword [esp + 0x44]
mov dword [esp + 0x54], ebx
cmp edi, 0x1f
ja 0x4a8294
mov ecx, edi
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
shld edi, ebx, cl
mov dword [esp + 0x4c], edi
shl ebx, cl
mov dword [esp + 0x44], ebx
jmp 0x4a82a6
mov ecx, edi
mov edi, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x44], ebx
shl edi, cl
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ebx
jmp 0x4a82f2
cmp ebx, 0x40
je 0x4a82dc
mov ecx, ebx
and ecx, 0x3f
cmp ecx, 0x1f
ja 0x4a82ce
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
shld esi, ebx, cl
shl ebx, cl
mov dword [esp + 0x54], ebx
jmp 0x4a82e8
mov esi, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x54], ebx
shl esi, cl
jmp 0x4a82e8
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x54], ebx
xor ebx, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x68]
neg ebx
add ebx, 1
mov dword [esp + 0x68], ebx
jmp 0x4a76a0
test bl, 0x10
je 0x4a8506
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 4]
cmp eax, edx
je 0x4a8387
mov eax, edx
cmp eax, 0x10
je 0x4a833b
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov ebx, dword [ebp + 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
jmp 0x4a8354
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov ebx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
xor edx, edx
mov ecx, ebx
and ecx, 0x8000
or ecx, edx
jne 0x4a84ed
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [0x4cd480]
mov dword [edx + 0xc], ebx
fld qword [eax]
fdiv st(0)
fstp qword [esp + 0x10]
mov eax, dword [edx + 8]
mov ebx, dword [edx + 0xc]
jmp 0x4a84ed
mov edx, dword [esp + 0x40]
and edx, 0x8000
xor eax, eax
or edx, eax
je 0x4a839e
mov eax, 1
jmp 0x4a83a0
xor eax, eax
mov ecx, dword [esp + 0x3c]
and ecx, 0x8000
xor edx, edx
test eax, eax
sete dl
mov dword [esp + 0x40], edx
xor eax, eax
or ecx, eax
je 0x4a83c2
mov edx, 1
jmp 0x4a83c4
xor edx, edx
xor eax, eax
test edx, edx
sete al
mov edx, dword [esp + 0x40]
or edx, eax
je 0x4a83e1
mov edx, dword [0x4cd480]
fld qword [edx]
fdiv st(0)
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x40]
cmp eax, edx
je 0x4a840e
mov eax, edx
test eax, eax
je 0x4a84a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
jmp 0x4a84ed
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
sub eax, edx
sbb ecx, ebx
jb 0x4a844e
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
sub eax, dword [esp + 0x64]
sub edx, dword [esp + 0x44]
or eax, edx
jne 0x4a8469
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
sub eax, edx
sbb ecx, ebx
jae 0x4a8469
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
jmp 0x4a84ed
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
sub eax, edx
sbb ecx, ebx
jb 0x4a84a9
mov edx, dword [esp + 0x64]
sub edx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x48]
or edx, eax
jne 0x4a84c1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
sub edx, eax
sbb ebx, ecx
jae 0x4a84c1
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
jmp 0x4a84ed
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
xor edx, edx
and ecx, 0x80000000
or ecx, edx
je 0x4a83f3
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebp + 8]
or ebx, 0x8000
mov dword [edx + 8], eax
mov dword [edx + 0xc], ebx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test bl, 1
je 0x4a8548
mov eax, dword [0x4cd480]
fld qword [eax]
fdiv st(0)
mov edi, dword [ebp + 8]
fstp qword [esp + 0x10]
mov edx, dword [0x4c5290]
mov ecx, dword [0x4c5294]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ebx, dword [0x4c5298]
mov esi, dword [0x4c529c]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], esi
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 8]
test eax, eax
je 0x4a8563
mov eax, dword [0x4cd484]
fld qword [eax]
mov edx, dword [0x4cd488]
fmul qword [edx]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x58]
xor eax, eax
or edx, eax
je 0x4a8574
mov ecx, 1
jmp 0x4a8576
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x4c5270]
mov edx, dword [ecx + 0x4c5274]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x4c5278]
mov ecx, dword [ecx + 0x4c527c]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0x6c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x94
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov esi, dword [edi + 8]
mov dword [esp + 0x74], ecx
mov ebx, ecx
and ebx, 0x7fffffff
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x8c], eax
mov eax, dword [edx]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x6c], eax
mov eax, edx
mov dword [esp + 0x70], edx
and eax, 0x7fffffff
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], esi
mov esi, dword [edi + 4]
mov dword [esp + 0x58], esi
mov esi, dword [edi]
xor ecx, edx
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x8c]
and ecx, 0x80000000
mov dword [esp + 0x60], ecx
movzx edx, bx
mov dword [esp + 0x88], edx
shr ebx, 0x10
mov dword [esp + 0x68], ebx
movzx edx, ax
mov dword [esp + 0x84], edx
shr eax, 0x10
lea edx, [ebx - 1]
cmp edx, 0x7ffd
ja 0x4a924b
lea edx, [eax - 1]
cmp edx, 0x7ffd
ja 0x4a924b
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x64]
lea eax, [edx + eax - 0x4000]
mov dword [esp + 0x78], eax
mov eax, ecx
mul edi
or dword [esp + 0x88], 0x10000
or ebx, 0x10000
mov dword [esp + 0x7c], eax
mov eax, ecx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x58]
mul edx
mov dword [esp + 0x68], eax
mov eax, ecx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mul edx
mov dword [esp + 0x10], eax
mov eax, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x14], edx
mul ebx
mov dword [esp + 0x6c], eax
mov eax, edi
mov dword [esp + 0x18], edx
mul esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, ecx
mul esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], edx
mul esi
mov dword [esp + 0x2c], eax
mov eax, ebx
mov dword [esp + 0x30], edx
mul esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x34], edx
mov eax, edi
mul esi
mov dword [esp + 0x38], eax
mov eax, ecx
mov dword [esp + 0x3c], edx
mul esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], edx
mul esi
mov dword [esp + 0x48], eax
mov eax, ebx
mov dword [esp + 0x4c], edx
mul esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x70], edx
mov eax, edi
mov edi, dword [esp + 0x88]
mul edi
mov dword [esp + 0x64], edx
mov esi, eax
mov eax, ecx
mul edi
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], edx
mul edi
mov dword [esp + 0x5c], eax
mov eax, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x54], edx
mul edi
xor edi, edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x68]
add ecx, edx
adc edi, 0
mov edx, dword [esp + 0x1c]
add ecx, edx
mov edx, dword [esp + 0x10]
adc edi, 0
mov dword [esp + 0x74], ecx
xor ecx, ecx
add ebx, edx
mov edx, dword [esp + 0x20]
adc ecx, 0
add edx, eax
mov eax, 0
adc eax, 0
add ebx, edx
adc ecx, eax
mov edx, dword [esp + 0x38]
add edx, edi
mov edi, 0
adc edi, 0
mov eax, dword [esp + 0x2c]
add ebx, edx
mov edx, dword [esp + 0x14]
adc ecx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x6c]
add edx, ebx
mov ebx, 0
adc ebx, 0
add edi, eax
mov eax, 0
adc eax, 0
add edx, edi
adc ebx, eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
add eax, edi
mov edi, 0
adc edi, 0
add esi, ecx
mov ecx, 0
adc ecx, 0
add eax, esi
adc edi, ecx
mov esi, dword [esp + 0x18]
add edx, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x8c]
adc ebx, edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x44]
add esi, eax
mov eax, 0
adc eax, 0
add ecx, edx
mov edx, 0
adc edx, 0
add esi, ecx
adc eax, edx
mov edx, dword [esp + 0x64]
xor ecx, ecx
add edi, edx
adc ecx, 0
mov edx, dword [esp + 0x58]
add edx, ebx
mov ebx, 0
adc ebx, 0
add edi, edx
adc ecx, ebx
mov ebx, dword [esp + 0x34]
add esi, edi
adc eax, ecx
mov edx, dword [esp + 0x4c]
add ebx, edx
mov edx, 0
adc edx, 0
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x50]
add ecx, edi
mov edi, 0
adc edi, 0
add ebx, ecx
adc edx, edi
mov ecx, dword [esp + 0x5c]
add ecx, eax
mov eax, 0
adc eax, 0
mov edi, dword [esp + 0x70]
add ebx, ecx
adc edx, eax
mov eax, dword [esp + 0x54]
add edi, eax
mov eax, 0
adc eax, 0
mov ecx, dword [esp + 0x88]
add ecx, edx
mov edx, dword [esp + 0x84]
adc edx, 0
add edi, ecx
adc eax, edx
mov edx, dword [esp + 0xc]
or edx, dword [esp + 0x74]
xor ecx, ecx
or edx, dword [esp + 0x7c]
mov dword [esp + 0x70], edi
mov edx, 1
cmovne ecx, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
test al, 2
je 0x4a8c9b
mov ecx, edi
add dword [esp + 0x78], 1
shl eax, 0xf
mov edi, ecx
shr edi, 0x11
or eax, edi
shl ecx, 0xf
mov edi, ebx
shr edi, 0x11
or ecx, edi
mov dword [esp + 0x70], ecx
shl ebx, 0xf
mov ecx, esi
shr ecx, 0x11
or ebx, ecx
shl esi, 0xf
mov ecx, edx
shr ecx, 0x11
or esi, ecx
shl edx, 0xf
or edx, dword [esp + 0x74]
jmp 0x4a8cd0
mov ecx, edi
shl eax, 0x10
mov edi, ecx
shr edi, 0x10
or eax, edi
shl ecx, 0x10
mov edi, ebx
shr edi, 0x10
or ecx, edi
mov dword [esp + 0x70], ecx
shl ebx, 0x10
mov ecx, esi
shr ecx, 0x10
or ebx, ecx
shl esi, 0x10
mov ecx, edx
shr ecx, 0x10
or esi, ecx
shl edx, 0x10
or edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
cmp ecx, 0x7ffd
jae 0x4a8df4
test edx, edx
je 0x4a9102
fnstcw word [esp + 8]
mov ecx, dword [esp + 8]
mov edi, dword [0x4cd488]
movsd xmm0, qword [edi]
and ecx, 0xc00
mov dword [esp + 0x80], ecx
mov ecx, dword [0x4cd48c]
addsd xmm0, qword [ecx]
movsd qword [esp], xmm0
jne 0x4a8d23
mov ecx, edx
shr ecx, 0x1f
mov dword [esp + 0x7c], ecx
jmp 0x4a8d7c
mov ecx, dword [esp + 0x80]
cmp ecx, 0xc00
je 0x4a8dc6
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x4a8d5e
mov edi, dword [esp + 0x80]
mov ecx, 1
cmp edi, 0x400
mov edi, 0
cmove edi, ecx
mov dword [esp + 0x7c], edi
jmp 0x4a8d7c
mov edi, dword [esp + 0x80]
mov ecx, 1
cmp edi, 0x800
mov edi, 0
cmove edi, ecx
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x4a8dc6
add esi, 1
jne 0x4a8d9f
add ebx, 1
jne 0x4a8d9f
mov ecx, dword [esp + 0x70]
lea edi, [eax + 1]
add ecx, 1
cmove eax, edi
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x80]
mov edi, 1
cmp ecx, 0
mov ecx, 0
cmove ecx, edi
add edx, edx
mov edx, 0
cmove edx, edi
and ecx, edx
not ecx
and esi, ecx
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x70]
mov dword [edx], esi
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [edx + 8], ecx
shl ebx, 0x10
add ebx, eax
mov eax, dword [esp + 0x60]
or eax, ebx
mov dword [edx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fnstcw word [esp + 8]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ecx
and ecx, 0xc00
jne 0x4a8e16
mov edi, edx
shr edi, 0x1f
mov dword [esp + 0x88], edi
jmp 0x4a8e49
cmp ecx, 0xc00
je 0x4a8e40
mov edi, dword [esp + 0x60]
test edi, edi
je 0x4a8e34
cmp ecx, 0x400
je 0x4a91db
jmp 0x4a8e40
cmp ecx, 0x800
je 0x4a9232
xor edi, edi
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x78]
cmp edi, 0x7ffd
jle 0x4a8edc
mov eax, dword [0x4cd490]
movsd xmm0, qword [eax]
mulsd xmm0, xmm0
movsd qword [esp], xmm0
cmp ecx, 0xc00
je 0x4a9194
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4a8e8d
cmp ecx, 0x800
je 0x4a9194
jmp 0x4a8e99
cmp ecx, 0x400
je 0x4a9194
mov edx, 1
xor edi, edi
cmp eax, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x4c5270]
mov dword [edx], ecx
mov ebx, dword [edi + 0x4c5274]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x4c5278]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x4c527c]
mov dword [edx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp edi, 0x7ffd
je 0x4a91f4
mov ecx, edi
test ecx, ecx
jge 0x4a8ce0
cmp ecx, 0xffffffff
jl 0x4a8f25
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x4a8f25
cmp eax, 0x1ffff
jb 0x4a8f25
jne 0x4a8f30
mov ecx, dword [esp + 0x70]
cmp ecx, 0xffffffff
jb 0x4a8f25
cmp ecx, 0xffffffff
jne 0x4a8f30
cmp ebx, 0xffffffff
jb 0x4a8f25
jne 0x4a8f30
cmp esi, 0xffffffff
jae 0x4a8f30
mov ecx, 1
mov dword [esp + 0x58], ecx
jmp 0x4a8f36
xor ecx, ecx
mov dword [esp + 0x58], ecx
neg edi
mov dword [esp + 0x78], edi
mov ecx, edi
neg ecx
cmp edi, 0x20
mov dword [esp + 0x5c], ecx
jge 0x4a8fb4
mov dword [esp + 0x54], eax
mov eax, ecx
mov ecx, eax
mov edi, esi
shl edi, cl
mov ecx, 1
cmp edx, 0
mov edx, 0
cmovne edx, ecx
mov ecx, eax
or edx, edi
mov edi, ebx
shl edi, cl
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x78]
mov ecx, edx
shr esi, cl
mov ecx, eax
or esi, edi
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x70]
mov edi, esi
shl edi, cl
mov ecx, edx
shr ebx, cl
mov ecx, eax
mov eax, dword [esp + 0x54]
or ebx, edi
mov edi, eax
shl edi, cl
mov ecx, edx
shr esi, cl
mov ecx, edx
shr eax, cl
mov edx, dword [esp + 0x14]
or esi, edi
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x18]
jmp 0x4a90a4
mov ecx, edi
cmp ecx, 0x20
je 0x4a9173
cmp ecx, 0x40
jge 0x4a9018
mov ecx, dword [esp + 0x5c]
mov edi, ebx
shl edi, cl
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x70]
or esi, edx
mov esi, 1
mov edx, 0
cmovne edx, esi
mov esi, edi
or edx, dword [esp + 0x50]
shl esi, cl
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x78]
mov ecx, edx
shr ebx, cl
or esi, ebx
mov ecx, dword [esp + 0x5c]
mov ebx, eax
shl ebx, cl
mov ecx, edx
shr edi, cl
mov ecx, edx
mov edx, dword [esp + 0x14]
or ebx, edi
shr eax, cl
mov dword [esp + 0x70], eax
jmp 0x4a90a2
cmp ecx, 0x40
je 0x4a9157
cmp ecx, 0x60
jge 0x4a9059
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x70]
shl edi, cl
or esi, ebx
mov ebx, dword [esp + 0x70]
or esi, edx
mov edx, 0
mov esi, 1
cmovne edx, esi
mov esi, eax
shl esi, cl
mov ecx, dword [esp + 0x78]
or edx, edi
shr ebx, cl
or esi, ebx
mov ebx, eax
shr ebx, cl
jmp 0x4a909c
cmp ecx, 0x60
je 0x4a913b
cmp ecx, 0x80
jge 0x4a9093
or ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x5c]
mov edi, eax
shl edi, cl
mov ecx, dword [esp + 0x78]
or ebx, esi
or ebx, edx
mov ebx, 1
mov edx, 0
cmovne edx, ebx
mov esi, eax
shr esi, cl
or edx, edi
jmp 0x4a909a
mov edx, 1
xor esi, esi
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x70], eax
xor eax, eax
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4a9130
test edx, edx
je 0x4a90d2
mov ecx, dword [0x4cd48c]
movsd xmm0, qword [ecx]
mulsd xmm0, xmm0
movsd qword [esp], xmm0
xor edi, edi
mov dword [esp + 0x78], edi
jmp 0x4a8ce8
mov edx, dword [esp + 0xc]
test dl, 0x10
jne 0x4a90fc
mov edx, dword [0x4cd48c]
mov ecx, dword [0x4cd494]
movsd xmm0, qword [edx]
mulsd xmm0, qword [ecx]
movsd qword [esp], xmm0
xor edi, edi
mov dword [esp + 0x78], edi
jmp 0x4a9102
xor edx, edx
mov dword [esp + 0x78], edx
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x70]
mov dword [edx], esi
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [edx + 8], ecx
shl ebx, 0x10
add ebx, eax
mov eax, dword [esp + 0x60]
or eax, ebx
mov dword [edx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov dword [esp + 0x78], ecx
jmp 0x4a8ce0
or esi, ebx
or esi, edx
mov ecx, 1
mov edx, 0
cmovne edx, ecx
or edx, dword [esp + 0x70]
mov esi, eax
jmp 0x4a909a
or esi, edx
mov ecx, 1
mov edx, 0
cmovne edx, ecx
or edx, ebx
mov ebx, eax
mov esi, dword [esp + 0x70]
jmp 0x4a909c
mov ecx, 1
cmp edx, 0
mov edx, 0
cmovne edx, ecx
or edx, esi
mov esi, ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x70], eax
jmp 0x4a90a2
mov eax, dword [esp + 0x60]
mov edx, 1
xor edi, edi
cmp eax, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x4c52c0]
mov dword [edx], ecx
mov ebx, dword [edi + 0x4c52c4]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x4c52c8]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x4c52cc]
mov dword [edx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x4a8e40
mov edi, 1
mov dword [esp + 0x88], edi
jmp 0x4a8e49
cmp eax, 0x1ffff
jne 0x4a8ce0
mov edi, dword [esp + 0x70]
cmp edi, 0xffffffff
jne 0x4a8ce0
cmp ebx, 0xffffffff
jne 0x4a8ce0
cmp esi, 0xffffffff
jne 0x4a8ce0
mov edi, dword [esp + 0x88]
test edi, edi
jne 0x4a8e59
jmp 0x4a8ce0
test edx, edx
je 0x4a8e40
mov edi, 1
mov dword [esp + 0x88], edi
jmp 0x4a8e49
mov edx, dword [esp + 0x80]
or edx, esi
mov ebx, 1
or edx, dword [esp + 0x6c]
mov edx, 0
cmovne edx, ebx
or edx, dword [esp + 0x7c]
jne 0x4a9278
xor ebx, ebx
mov edx, 1
mov dword [esp + 0xc], edx
jmp 0x4a92b3
cmp edx, 0x10000
jae 0x4a928b
mov ebx, 2
mov dword [esp + 0xc], ebx
jmp 0x4a92b3
cmp edx, 0x7fff0000
jae 0x4a92a0
xor ebx, ebx
mov edx, 4
mov dword [esp + 0xc], edx
jmp 0x4a92b3
mov edi, 0x10
mov edx, 8
cmova edx, edi
xor ebx, ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
or edx, dword [esp + 0x58]
mov edi, 1
or edx, dword [esp + 0x64]
mov edx, 0
cmovne edx, edi
or edx, dword [esp + 0x78]
jne 0x4a92d9
mov edx, 1
jmp 0x4a9307
cmp edx, 0x10000
jae 0x4a92eb
or ebx, 2
mov edx, 2
jmp 0x4a9307
cmp edx, 0x7fff0000
jae 0x4a92fa
mov edx, 4
jmp 0x4a9307
mov edi, 0x10
mov edx, 8
cmova edx, edi
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
or edi, edx
cmp ecx, 0x7fff
je 0x4a9777
cmp eax, 0x7fff
je 0x4a9777
test edi, 1
je 0x4a9393
test ebx, ebx
je 0x4a934c
mov eax, dword [0x4cd484]
mov edx, dword [0x4cd488]
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
movsd qword [esp], xmm0
mov eax, dword [esp + 0x60]
mov edx, 1
xor edi, edi
cmp eax, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x4c52a0]
mov dword [edx], ecx
mov ebx, dword [edi + 0x4c52a4]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x4c52a8]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x4c52ac]
mov dword [edx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0xc]
cmp edx, ebx
je 0x4a9526
mov edx, dword [0x4cd484]
mov ebx, dword [0x4cd488]
mov edi, dword [esp + 0xc]
movsd xmm0, qword [edx]
mulsd xmm0, qword [ebx]
movsd qword [esp], xmm0
cmp edi, 2
je 0x4a95cf
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4a93d9
mov edx, eax
shl edx, 0xf
xor eax, eax
jmp 0x4a9405
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4a93ea
mov edx, eax
mov eax, 0x11
jmp 0x4a9405
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
cmp eax, 0
cmovne edx, eax
mov ebx, 0x31
mov eax, 0x51
cmovne eax, ebx
bsr edx, edx
sub eax, edx
add eax, 0x1f
mov ebx, eax
neg ebx
mov dword [esp + 0x7c], ebx
cmp eax, 0x20
jge 0x4a9473
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x5c]
mov ecx, eax
shl ebx, cl
mov edx, edi
mov ecx, dword [esp + 0x7c]
shr edx, cl
mov ecx, eax
shl edi, cl
mov ecx, dword [esp + 0x7c]
or ebx, edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x84], ebx
mov ebx, edx
shr ebx, cl
mov ecx, eax
shl edx, cl
mov ecx, dword [esp + 0x7c]
or edi, ebx
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x64]
mov ebx, edi
shr ebx, cl
mov ecx, eax
shl edi, cl
mov dword [esp + 0x64], edi
or edx, ebx
mov dword [esp + 0x58], edx
jmp 0x4a951c
je 0x4a95af
cmp eax, 0x40
jge 0x4a94c1
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ecx, eax
shl ebx, cl
mov edi, edx
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x7c]
mov ecx, ebx
shr edi, cl
mov ecx, eax
shl edx, cl
or edi, dword [esp + 0x5c]
mov ecx, ebx
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x64]
mov ebx, edi
shr ebx, cl
mov ecx, eax
shl edi, cl
mov dword [esp + 0x58], edi
or ebx, edx
mov dword [esp + 0x5c], ebx
jmp 0x4a9516
je 0x4a9597
cmp eax, 0x60
jge 0x4a94f3
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
mov ecx, eax
shl edx, cl
mov ebx, edi
mov ecx, dword [esp + 0x7c]
shr ebx, cl
mov ecx, eax
shl edi, cl
mov dword [esp + 0x5c], edi
or ebx, edx
mov dword [esp + 0x84], ebx
jmp 0x4a9510
mov edx, dword [esp + 0x64]
mov ecx, eax
mov ebx, edx
shl ebx, cl
cmp eax, 0x60
cmove ebx, edx
mov dword [esp + 0x84], ebx
xor edi, edi
mov dword [esp + 0x5c], edi
xor edx, edx
mov dword [esp + 0x58], edx
xor edx, edx
mov dword [esp + 0x64], edx
neg eax
add eax, 1
jmp 0x4a89c3
fnstcw word [esp + 8]
mov ebx, dword [esp + 8]
mov eax, dword [0x4cd48c]
mov edx, dword [0x4cd484]
mov ecx, dword [esp + 0x60]
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
movsd qword [esp], xmm0
and ebx, 0xc00
test ecx, ecx
je 0x4a9566
mov eax, 1
xor edx, edx
cmp ebx, 0x400
cmove edx, eax
jmp 0x4a9576
mov eax, 1
xor edx, edx
cmp ebx, 0x800
cmove edx, eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x60]
mov dword [ecx], edx
xor edx, edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x84], edx
mov dword [esp + 0x5c], ebx
jmp 0x4a9510
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x84], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], edi
jmp 0x4a9516
mov edx, dword [esp + 0x88]
test edx, edx
je 0x4a95e5
shl edx, 0xf
xor ebx, ebx
mov dword [esp + 0x68], ebx
jmp 0x4a9616
mov edx, dword [esp + 0x80]
test edx, edx
je 0x4a95fb
mov ebx, 0x11
mov dword [esp + 0x68], ebx
jmp 0x4a9616
mov edx, dword [esp + 0x6c]
cmp esi, 0
cmovne edx, esi
mov ebx, 0x31
mov edi, 0x51
cmovne edi, ebx
mov dword [esp + 0x68], edi
bsr edx, edx
mov ebx, dword [esp + 0x68]
sub ebx, edx
add ebx, 0x1f
mov dword [esp + 0x68], ebx
mov edx, ebx
neg edx
cmp ebx, 0x20
jge 0x4a968d
mov edi, dword [esp + 0x88]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
mov ecx, ebx
shl edi, cl
mov dword [esp + 0x88], edi
mov ecx, edx
mov edi, eax
shr edi, cl
or dword [esp + 0x88], edi
mov ecx, ebx
shl eax, cl
mov ecx, edx
mov edi, esi
shr edi, cl
mov ecx, ebx
shl esi, cl
or eax, edi
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6c]
mov ecx, edx
mov edx, eax
shr edx, cl
mov ecx, ebx
shl eax, cl
mov dword [esp + 0x6c], eax
or esi, edx
mov eax, dword [esp + 0x54]
jmp 0x4a9736
cmp ebx, 0x20
je 0x4a975c
cmp ebx, 0x40
jge 0x4a96e0
mov edi, dword [esp + 0x80]
mov ecx, ebx
shl edi, cl
mov ecx, edx
mov dword [esp + 0x80], edi
mov edi, esi
shr edi, cl
mov ecx, ebx
shl esi, cl
or edi, dword [esp + 0x80]
mov ecx, edx
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x6c]
mov edx, edi
shr edx, cl
mov ecx, ebx
or edx, esi
mov dword [esp + 0x80], edx
mov esi, edi
shl esi, cl
jmp 0x4a9730
cmp ebx, 0x40
je 0x4a9748
cmp ebx, 0x60
jge 0x4a970e
mov edi, dword [esp + 0x6c]
mov ecx, ebx
shl esi, cl
mov ecx, edx
mov edx, edi
shr edx, cl
mov ecx, ebx
shl edi, cl
mov dword [esp + 0x80], edi
or edx, esi
mov dword [esp + 0x88], edx
jmp 0x4a972e
mov ecx, ebx
mov edx, dword [esp + 0x6c]
mov ebx, edx
shl ebx, cl
cmp ecx, 0x60
cmove ebx, edx
xor esi, esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], ebx
xor esi, esi
xor edx, edx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x68]
neg edx
add edx, 1
mov dword [esp + 0x68], edx
jmp 0x4a89c3
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x88], esi
mov dword [esp + 0x80], edx
jmp 0x4a972e
mov edx, dword [esp + 0x80]
mov dword [esp + 0x88], edx
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x6c]
jmp 0x4a9730
test edi, 0x10
je 0x4a994c
mov eax, dword [esp + 0xc]
cmp edx, eax
je 0x4a97db
cmp eax, 0x10
je 0x4a99fc
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
mov dword [ebx], eax
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
test ecx, 0x8000
jne 0x4a9933
mov edx, dword [ebp + 8]
mov eax, dword [0x4cd480]
mov dword [edx + 0xc], ecx
movsd xmm0, qword [eax]
divsd xmm0, xmm0
movsd qword [esp], xmm0
mov ecx, dword [edx + 0xc]
jmp 0x4a9933
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
and eax, 0x8000
mov ecx, 1
mov eax, 0
cmove eax, ecx
xor edi, edi
and edx, 0x8000
cmove edi, ecx
mov ebx, eax
or ebx, edi
je 0x4a9819
mov edx, dword [0x4cd480]
movsd xmm0, qword [edx]
divsd xmm0, xmm0
movsd qword [esp], xmm0
cmp edi, eax
je 0x4a9843
test eax, eax
je 0x4a98ed
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebx], eax
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
jmp 0x4a9933
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
cmp eax, edx
jb 0x4a9889
cmp eax, edx
jne 0x4a9862
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x80]
cmp eax, edx
jb 0x4a9889
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x80]
cmp eax, edx
jne 0x4a98a7
mov eax, dword [esp + 0x58]
cmp esi, eax
jb 0x4a9889
cmp esi, eax
jne 0x4a98a7
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
cmp eax, edx
jae 0x4a98a7
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebx], eax
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
jmp 0x4a9933
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
cmp eax, edx
jb 0x4a98ed
cmp eax, edx
jne 0x4a98c6
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x80]
cmp eax, edx
jb 0x4a98ed
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x80]
cmp eax, edx
jne 0x4a9908
mov eax, dword [esp + 0x58]
cmp eax, esi
jb 0x4a98ed
cmp eax, esi
jne 0x4a9908
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
cmp eax, edx
jae 0x4a9908
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebx], eax
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
jmp 0x4a9933
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
test edx, 0x80000000
je 0x4a9825
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebx], eax
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp + 8]
or ecx, 0x8000
mov dword [eax + 0xc], ecx
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test edi, 1
je 0x4a9999
mov eax, dword [0x4cd480]
mov edi, dword [ebp + 8]
movsd xmm0, qword [eax]
divsd xmm0, xmm0
movsd qword [esp], xmm0
mov edx, dword [0x4c5290]
mov dword [edi], edx
mov ecx, dword [0x4c5294]
mov dword [edi + 4], ecx
mov ebx, dword [0x4c5298]
mov dword [edi + 8], ebx
mov esi, dword [0x4c529c]
mov dword [edi + 0xc], esi
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x4a99b5
mov eax, dword [0x4cd484]
mov edx, dword [0x4cd488]
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
movsd qword [esp], xmm0
mov eax, dword [esp + 0x60]
mov edx, 1
xor edi, edi
cmp eax, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x4c5270]
mov dword [edx], ecx
mov ebx, dword [edi + 0x4c5274]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x4c5278]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x4c527c]
mov dword [edx + 0xc], eax
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x6c]
mov esi, dword [ebp + 0xc]
mov dword [ebx], eax
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
jmp 0x4a97af