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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0xa4
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebx + 0xc]
mov edx, dword [esi + 0xc]
mov ecx, edi
mov dword [esp + 0x9c], edi
and ecx, 0x7fffffff
mov dword [esp + 0x68], ecx
mov dword [esp + 0xa0], edx
mov eax, edx
and eax, 0x7fffffff
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x84], eax
xor edi, edx
mov dword [esp + 0x6c], ebx
mov ebx, dword [esi + 8]
mov dword [esp + 0x98], ebx
mov ebx, dword [esi + 4]
mov dword [esp + 0x80], ebx
mov ebx, dword [esi]
and edi, 0x80000000
mov dword [esp + 0x94], ebx
mov eax, ecx
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x8c]
movzx esi, cx
movzx ebx, di
shr eax, 0x10
shr edi, 0x10
lea edx, [eax - 1]
cmp edx, 0x7ffd
ja 0x48bea0
lea edx, [edi - 1]
cmp edx, 0x7ffd
ja 0x48bea0
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x2c], edx
or esi, 0x10000
sub eax, edi
or ebx, 0x10000
lea edx, [eax + 0x3ffd]
mov dword [esp + 0x68], edx
cmp esi, ebx
je 0x48bc3a
cmp ebx, esi
jb 0x48aaf8
jne 0x48ab43
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0x7c]
cmp edx, edi
jb 0x48aaf8
cmp edx, edi
jne 0x48ab43
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
cmp edx, edi
jb 0x48aaf8
cmp edx, edi
jne 0x48ab43
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x6c]
cmp edx, edi
jae 0x48ab43
mov edi, dword [esp + 0x7c]
shl esi, 0xe
mov edx, edi
shr edx, 0x12
or esi, edx
shl edi, 0xe
mov edx, dword [esp + 0x84]
mov ecx, edx
shr ecx, 0x12
or edi, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x7c], edi
shl edx, 0xe
mov edi, ecx
shr edi, 0x12
or edx, edi
mov dword [esp + 0x84], edx
shl ecx, 0xe
mov dword [esp + 0x6c], ecx
lea edx, [eax + 0x3ffe]
mov dword [esp + 0x68], edx
jmp 0x48ab82
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
shl esi, 0xf
mov ecx, eax
shr ecx, 0x11
or esi, ecx
shl eax, 0xf
mov edi, edx
shr edi, 0x11
or eax, edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x7c], eax
shl edx, 0xf
mov ecx, edi
shr ecx, 0x11
or edx, ecx
mov dword [esp + 0x84], edx
shl edi, 0xf
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x80]
shl ebx, 0xf
mov ecx, eax
shr ecx, 0x11
or ebx, ecx
mov dword [esp + 0x30], ebx
shl eax, 0xf
mov edi, edx
shr edi, 0x11
or eax, edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x98], eax
shl edx, 0xf
mov ecx, edi
shr ecx, 0x11
or edx, ecx
mov dword [esp + 0x80], edx
shl edi, 0xf
mov dword [esp + 0x94], edi
cmp ebx, esi
jb 0x48abe1
jne 0x48ac0d
mov edx, eax
mov ecx, dword [esp + 0x7c]
cmp edx, ecx
ja 0x48ac01
mov edx, 0xffffffff
mov dword [esp + 0xa0], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x74], edx
jmp 0x48ad79
mov edx, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
jmp 0x48ac19
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
cmp ebx, esi
ja 0x48ac33
mov dword [esp + 0x74], 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0x8c], edx
jmp 0x48ac5e
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
div dword [esp + 0x30]
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x8c], edx
mov edi, edx
mov edx, dword [esp + 0x98]
mov eax, edi
mul edx
mov dword [esp + 0x38], edx
mov ecx, eax
mov eax, ebx
mul edi
mov edi, dword [esp + 0x38]
neg ecx
add eax, edi
adc edx, 0
mov edi, dword [esp + 0x84]
add ecx, edi
cmp edi, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x7c]
mov edi, 0
adc edi, 0
neg eax
add eax, ecx
sub eax, edi
cmp eax, ecx
mov ecx, dword [esp + 0x34]
ja 0x48acb5
test edi, edi
je 0x48acbc
mov edi, dword [esp + 0x7c]
cmp eax, edi
jne 0x48acbc
mov edi, 1
jmp 0x48acbe
xor edi, edi
neg edx
add edx, esi
sub edx, edi
test edx, edx
jl 0x48acd1
mov dword [esp + 4], eax
mov dword [esp], ecx
jmp 0x48ad2a
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x98]
add esi, 0xffffffff
add ecx, edi
cmp ecx, edi
jae 0x48acf8
lea eax, [ebx + eax + 1]
cmp eax, ebx
jb 0x48acfe
je 0x48acfe
jmp 0x48ad05
add eax, ebx
cmp eax, ebx
jae 0x48ad05
mov edi, 1
jmp 0x48ad07
xor edi, edi
add edx, edi
test edx, edx
jl 0x48acdc
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x74], edx
cmp ebx, eax
ja 0x48ad44
mov dword [esp + 0x24], 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0xa0], edx
jmp 0x48ad79
mov edx, dword [esp + 4]
mov eax, dword [esp]
div dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x8c], edx
mov dword [esp + 0xa0], ecx
mov edi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x90], ebx
mov eax, edi
mul ecx
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x9c], eax
mov eax, esi
mov dword [esp + 0x88], edx
mul ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x34], eax
mov eax, edi
mov dword [esp + 0x3c], edx
mul ecx
mov dword [esp + 0x40], eax
mov eax, esi
mov dword [esp + 0x44], edx
mul ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov eax, ecx
mul edi
mov dword [esp + 0x50], eax
mov eax, esi
mov dword [esp + 0x54], edx
mul ecx
mov dword [esp + 0x38], edx
mov ecx, eax
mov eax, ebx
mul edi
mov edi, 0
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x5c], edx
mul esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x34]
add ebx, edx
adc edi, 0
mov edx, dword [esp + 0x40]
add ebx, edx
mov edx, dword [esp + 0x3c]
adc edi, 0
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x44]
add edi, edx
mov edx, 0
adc edx, 0
add edi, ebx
adc edx, 0
mov ebx, dword [esp + 0x50]
add esi, ebx
mov ebx, 0
adc ebx, 0
add edi, esi
adc edx, ebx
mov ebx, dword [esp + 0x4c]
add edx, ebx
mov ebx, 0
adc ebx, 0
mov esi, dword [esp + 0x54]
add edx, esi
adc ebx, 0
mov esi, dword [esp + 0x58]
add ecx, esi
mov esi, 0
adc esi, 0
add edx, ecx
adc ebx, esi
mov ecx, dword [esp + 0x38]
add ecx, eax
mov eax, 0
adc eax, 0
mov esi, dword [esp + 0x60]
add esi, ebx
mov ebx, dword [esp + 0x64]
adc ebx, 0
add ecx, esi
mov esi, dword [esp + 0x78]
adc eax, ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], eax
mov eax, 1
cmp ebx, 0
mov ecx, 0
cmovne ecx, eax
neg ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x90]
add eax, ecx
neg eax
mov dword [esp + 0x88], eax
jne 0x48aefa
test ecx, ecx
je 0x48af01
mov ecx, eax
test ecx, ecx
jne 0x48af01
mov eax, 1
jmp 0x48af03
xor eax, eax
mov ecx, dword [esp + 0x6c]
neg edi
add edi, ecx
sub edi, eax
cmp edi, ecx
ja 0x48af19
test eax, eax
je 0x48af20
cmp edi, ecx
jne 0x48af20
mov eax, 1
jmp 0x48af22
xor eax, eax
mov ecx, dword [esp + 0x84]
neg edx
add edx, ecx
sub edx, eax
cmp edx, ecx
ja 0x48af3b
test eax, eax
je 0x48af49
cmp edx, ecx
jne 0x48af49
mov ecx, 1
mov dword [esp + 0x84], ecx
jmp 0x48af52
xor ecx, ecx
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x7c]
neg ecx
add ecx, eax
sub ecx, dword [esp + 0x84]
cmp ecx, eax
mov dword [esp + 0x38], ecx
ja 0x48af80
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x48af87
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jne 0x48af87
mov ecx, 1
jmp 0x48af89
xor ecx, ecx
sub esi, dword [esp + 0x34]
sub esi, ecx
test esi, esi
jge 0x48b0ab
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0xa0]
add eax, 0xffffffff
mov dword [esp + 0xa0], eax
cmp eax, 0xffffffff
jne 0x48afcd
mov eax, dword [esp + 0x8c]
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x9c]
add eax, ebx
mov dword [esp + 0x9c], eax
cmp eax, ebx
jae 0x48b014
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
lea ebx, [eax + ebx + 1]
mov dword [esp + 0x88], ebx
cmp ebx, eax
jb 0x48b02f
mov ebx, eax
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x48b02f
jmp 0x48b044
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x88]
add eax, ebx
mov dword [esp + 0x88], eax
cmp eax, ebx
jae 0x48b044
mov eax, dword [esp + 0x98]
lea edi, [eax + edi + 1]
cmp edi, eax
jb 0x48b051
cmp edi, eax
je 0x48b051
jmp 0x48b066
mov eax, dword [esp + 0x98]
add edi, eax
cmp edi, eax
jae 0x48b066
mov eax, dword [esp + 0x90]
lea edx, [eax + edx + 1]
cmp edx, eax
jb 0x48b073
cmp edx, eax
je 0x48b073
jmp 0x48b07a
mov eax, dword [esp + 0x90]
add edx, eax
cmp edx, eax
jae 0x48b07a
mov eax, 1
jmp 0x48b07c
xor eax, eax
add ecx, eax
test eax, eax
je 0x48b08d
test ecx, ecx
jne 0x48b08d
mov eax, 1
jmp 0x48b08f
xor eax, eax
add esi, eax
test esi, esi
jl 0x48afa2
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
cmp ebx, edx
mov dword [esp + 0x2c], edi
ja 0x48b0c6
mov dword [esp + 0x1c], 0xffffffff
mov ecx, 0xffffffff
jmp 0x48b0e6
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
div dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 0x88]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x40], edx
mul ecx
mov dword [esp + 0x34], eax
mov eax, ebx
mov dword [esp + 0x60], edx
mul ecx
mov ecx, dword [esp + 0x60]
add eax, ecx
adc edx, 0
mov ecx, dword [esp + 0x64]
neg eax
add eax, edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x34]
neg edx
add edx, esi
mov dword [esp + 0x34], edx
cmp esi, edx
mov edx, 0
adc edx, 0
sub eax, edx
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x40]
cmp eax, edi
ja 0x48b155
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x48b15c
cmp eax, edi
jne 0x48b15c
mov esi, 1
jmp 0x48b15e
xor esi, esi
sub edx, dword [esp + 0x38]
sub edx, esi
test edx, edx
jl 0x48b176
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jmp 0x48b1bd
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x98]
add ecx, 0xffffffff
add esi, edi
cmp esi, edi
jae 0x48b196
lea eax, [ebx + eax + 1]
cmp eax, ebx
jb 0x48b19c
je 0x48b19c
jmp 0x48b1a3
add eax, ebx
cmp eax, ebx
jae 0x48b1a3
mov edi, 1
jmp 0x48b1a5
xor edi, edi
add edx, edi
test edx, edx
jl 0x48b17a
mov dword [esp + 0x34], esi
mov edx, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ecx
cmp ebx, eax
ja 0x48b1c8
mov edi, 0xffffffff
jmp 0x48b1e0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
div dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov eax, edi
and eax, 0x3fff
cmp eax, 4
ja 0x48b54c
mov esi, dword [esp + 0x94]
mov dword [esp + 0x64], ecx
mov eax, esi
mul edi
mov dword [esp + 0x78], edi
mov ebx, edx
mov dword [esp + 0x84], eax
mov eax, esi
mul ecx
mov esi, dword [esp + 0x80]
mov dword [esp + 0x60], eax
mov eax, esi
mov dword [esp + 0x5c], edx
mul edi
mov dword [esp + 0x58], eax
mov eax, esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x54], edx
mul ecx
mov dword [esp + 0x50], eax
mov eax, esi
mov dword [esp + 0x4c], edx
mul edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov eax, esi
mul ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xa0], eax
mul edi
mov edi, 0
mov dword [esp + 0x38], edx
mov esi, eax
mov eax, dword [esp + 0xa0]
mul ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x34], eax
add ebx, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x90], edx
mov eax, 0
adc eax, 0
mov edx, dword [esp + 0x5c]
add ebx, ecx
mov ecx, dword [esp + 0x54]
adc eax, 0
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x50]
add eax, edx
mov edx, 0
adc edx, 0
add eax, ecx
adc edx, 0
mov ecx, dword [esp + 0x48]
add ebx, ecx
mov ecx, 0
adc ecx, 0
add eax, ebx
adc edx, ecx
mov ecx, dword [esp + 0x4c]
add edx, ecx
mov ecx, 0
adc ecx, 0
mov ebx, dword [esp + 0x44]
add edx, ebx
adc ecx, 0
mov ebx, dword [esp + 0x40]
add ebx, esi
mov esi, 0
adc esi, 0
add edx, ebx
adc ecx, esi
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
add ebx, esi
adc edi, 0
mov esi, dword [esp + 0x34]
add esi, ecx
mov ecx, dword [esp + 0x90]
adc ecx, 0
add ebx, esi
adc edi, ecx
mov esi, dword [esp + 0x84]
mov ecx, 1
cmp esi, 0
mov dword [esp + 0x8c], edi
mov edi, 0
cmovne edi, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x90], edi
neg esi
mov dword [esp + 0x84], esi
add ecx, edi
neg ecx
mov edi, dword [esp + 0x78]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x64]
jne 0x48b36b
mov esi, dword [esp + 0x90]
test esi, esi
je 0x48b376
mov esi, dword [esp + 0x6c]
test esi, esi
jne 0x48b376
mov esi, 1
mov dword [esp + 0x38], esi
jmp 0x48b37c
xor esi, esi
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x9c]
neg eax
add eax, esi
sub eax, dword [esp + 0x38]
cmp eax, esi
ja 0x48b3a2
mov esi, dword [esp + 0x38]
test esi, esi
je 0x48b3ad
mov esi, dword [esp + 0x9c]
cmp eax, esi
jne 0x48b3ad
mov esi, 1
mov dword [esp + 0x38], esi
jmp 0x48b3b3
xor esi, esi
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x88]
neg edx
add edx, esi
sub edx, dword [esp + 0x38]
cmp edx, esi
ja 0x48b3d9
mov esi, dword [esp + 0x38]
test esi, esi
je 0x48b3e4
mov esi, dword [esp + 0x88]
cmp edx, esi
jne 0x48b3e4
mov esi, 1
mov dword [esp + 0x38], esi
jmp 0x48b3ea
xor esi, esi
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x88], esi
neg ebx
add ebx, esi
sub ebx, dword [esp + 0x38]
cmp ebx, esi
ja 0x48b414
mov esi, dword [esp + 0x38]
test esi, esi
je 0x48b422
mov esi, dword [esp + 0x88]
cmp ebx, esi
jne 0x48b422
mov esi, 1
mov dword [esp + 0x88], esi
jmp 0x48b42b
xor esi, esi
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x28]
sub esi, dword [esp + 0x8c]
sub esi, dword [esp + 0x88]
test esi, esi
jge 0x48b52c
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edi
mov esi, dword [esp + 0x78]
add esi, 0xffffffff
mov dword [esp + 0x78], esi
lea edi, [ecx - 1]
cmp esi, 0xffffffff
cmove ecx, edi
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x84]
add esi, edi
mov dword [esp + 0x84], esi
cmp esi, edi
jae 0x48b49f
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x6c]
lea edi, [esi + edi + 1]
mov dword [esp + 0x6c], edi
cmp edi, esi
jb 0x48b4b4
mov edi, esi
mov esi, dword [esp + 0x6c]
cmp esi, edi
je 0x48b4b4
jmp 0x48b4c9
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x6c]
add esi, edi
mov dword [esp + 0x6c], esi
cmp esi, edi
jae 0x48b4c9
mov esi, dword [esp + 0x98]
lea eax, [esi + eax + 1]
cmp eax, esi
jb 0x48b4d6
cmp eax, esi
je 0x48b4d6
jmp 0x48b4eb
mov esi, dword [esp + 0x98]
add eax, esi
cmp eax, esi
jae 0x48b4eb
mov esi, dword [esp + 0xa0]
lea edx, [esi + edx + 1]
cmp edx, esi
jb 0x48b4f8
cmp edx, esi
je 0x48b4f8
jmp 0x48b4ff
mov esi, dword [esp + 0xa0]
add edx, esi
cmp edx, esi
jae 0x48b4ff
mov esi, 1
jmp 0x48b501
xor esi, esi
add ebx, esi
test esi, esi
je 0x48b512
test ebx, ebx
jne 0x48b512
mov esi, 1
jmp 0x48b514
xor esi, esi
mov edi, dword [esp + 0x7c]
add edi, esi
mov dword [esp + 0x7c], edi
test edi, edi
jl 0x48b44d
mov esi, edi
mov edi, dword [esp + 0x78]
or esi, ebx
or esi, edx
or esi, eax
mov eax, 1
mov edx, 0
or esi, dword [esp + 0x6c]
or esi, dword [esp + 0x84]
cmovne edx, eax
or edi, edx
mov esi, dword [esp + 0x24]
mov edx, edi
shl edx, 0x11
mov eax, ecx
shl eax, 0x11
shr edi, 0xf
or eax, edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
mov ebx, esi
shl ebx, 0x11
shr ecx, 0xf
or ebx, ecx
mov dword [esp + 0x1c], ebx
mov ecx, edi
shl ecx, 0x11
shr esi, 0xf
or ecx, esi
mov dword [esp + 0x24], ecx
shr edi, 0xf
mov dword [esp + 0x74], edi
cmp eax, 0x7ffd
jae 0x48b702
test edx, edx
je 0x48b696
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4a4a00]
mov ebx, dword [0x4a4a08]
movsd xmm0, qword [ecx]
addsd xmm0, qword [ebx]
movsd qword [esp + 8], xmm0
and eax, 0xc00
jne 0x48b5d0
test edx, edx
jl 0x48b629
jmp 0x48b5ef
cmp eax, 0xc00
je 0x48b5ef
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x48b5e8
cmp eax, 0x400
je 0x48b629
jmp 0x48b5ef
cmp eax, 0x800
je 0x48b629
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
shl edx, 0x10
add esi, edx
or ecx, esi
mov dword [eax + 0xc], ecx
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20]
add ecx, 1
jne 0x48b65d
mov edi, dword [esp + 0x1c]
add edi, 1
jne 0x48b653
mov ebx, dword [esp + 0x24]
add ebx, 1
jne 0x48b64d
mov esi, dword [esp + 0x74]
add esi, 1
jmp 0x48b669
mov esi, dword [esp + 0x74]
jmp 0x48b669
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x24]
jmp 0x48b669
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x64], edi
mov edi, 1
cmp eax, 0
mov eax, 0
cmove eax, edi
add edx, edx
mov edx, 0
cmove edx, edi
mov edi, dword [esp + 0x64]
and eax, edx
not eax
and ecx, eax
jmp 0x48b5ff
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x38], ebx
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x90]
mov dword [eax], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
shl esi, 0x10
add edi, esi
or edx, edi
mov dword [eax + 0xc], edx
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fnstcw word [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], ecx
and ecx, 0xc00
jne 0x48b720
mov eax, edx
shr eax, 0x1f
jmp 0x48b74e
cmp ecx, 0xc00
je 0x48b73c
mov eax, dword [esp + 0x70]
test eax, eax
je 0x48b740
cmp ecx, 0x400
je 0x48bbd2
xor eax, eax
jmp 0x48b74e
cmp ecx, 0x800
je 0x48bc28
xor eax, eax
mov ebx, dword [esp + 0x68]
cmp ebx, 0x7ffd
jle 0x48b7e5
mov eax, dword [0x4a4a04]
movsd xmm0, qword [eax]
mulsd xmm0, xmm0
movsd qword [esp + 8], xmm0
cmp ecx, 0xc00
je 0x48bb88
mov eax, dword [esp + 0x70]
test eax, eax
je 0x48b793
cmp ecx, 0x800
je 0x48bb88
jmp 0x48b79f
cmp ecx, 0x400
je 0x48bb88
mov edx, 1
cmp eax, 0
mov edi, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x49dff8]
mov dword [edx], ecx
mov ebx, dword [edi + 0x49dffc]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x49e000]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x49e004]
mov dword [edx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp ebx, 0x7ffd
je 0x48bbe4
mov ecx, ebx
test ecx, ecx
jge 0x48b599
cmp ecx, 0xffffffff
jge 0x48b806
mov ebx, dword [esp + 0x20]
jmp 0x48b84e
test eax, eax
jne 0x48b810
mov ebx, dword [esp + 0x20]
jmp 0x48b84e
mov eax, dword [esp + 0x74]
cmp eax, 0x1ffff
jae 0x48b821
mov ebx, dword [esp + 0x20]
jmp 0x48b84e
jne 0x48b862
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
jae 0x48b832
mov ebx, dword [esp + 0x20]
jmp 0x48b84e
jne 0x48b85c
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jae 0x48b843
mov ebx, dword [esp + 0x20]
jmp 0x48b84e
jne 0x48b85c
mov ebx, dword [esp + 0x20]
cmp ebx, 0xffffffff
jae 0x48b866
mov eax, 1
mov dword [esp + 0x88], eax
jmp 0x48b86f
mov ebx, dword [esp + 0x20]
jmp 0x48b866
mov ebx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x88], eax
neg ecx
mov dword [esp + 0x68], ecx
mov eax, ecx
neg eax
cmp ecx, 0x20
mov dword [esp + 0xa0], eax
jge 0x48b907
mov ecx, eax
mov esi, ebx
shl esi, cl
mov edi, 1
cmp edx, 0
mov edx, 0
cmovne edx, edi
mov ecx, eax
or edx, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x68]
mov edi, esi
shl edi, cl
mov ecx, edx
shr ebx, cl
mov ecx, eax
or edi, ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x24]
mov ebx, edi
shl ebx, cl
mov ecx, edx
shr esi, cl
mov ecx, eax
or ebx, esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x84], ebx
mov eax, esi
shl eax, cl
mov ecx, edx
shr edi, cl
mov ecx, edx
shr esi, cl
mov edx, dword [esp + 0x60]
mov dword [esp + 0x90], esi
or eax, edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x98], eax
jmp 0x48ba41
mov eax, ecx
cmp eax, 0x20
je 0x48bb53
cmp eax, 0x40
jge 0x48b97e
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0xa0]
mov ecx, esi
mov edi, eax
shl edi, cl
or edx, ebx
mov ebx, 1
mov ecx, esi
mov edx, 0
cmovne edx, ebx
or edx, edi
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x24]
mov edi, edx
shl edi, cl
mov ecx, dword [esp + 0x68]
shr eax, cl
mov ecx, esi
or edi, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov ebx, eax
shl ebx, cl
mov ecx, dword [esp + 0x68]
shr edx, cl
or ebx, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x84], ebx
shr eax, cl
mov dword [esp + 0x98], eax
jmp 0x48ba36
cmp eax, 0x40
je 0x48bb28
cmp eax, 0x60
jge 0x48b9cf
or ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov edi, eax
or ebx, edx
mov ecx, dword [esp + 0xa0]
mov esi, 1
mov edx, 0
cmovne edx, esi
shl edi, cl
mov ebx, dword [esp + 0x74]
or edx, edi
mov edi, ebx
shl edi, cl
mov ecx, dword [esp + 0x68]
shr eax, cl
shr ebx, cl
mov dword [esp + 0x84], ebx
or edi, eax
mov dword [esp + 0x38], edi
jmp 0x48ba2d
cmp eax, 0x60
je 0x48bb04
cmp eax, 0x80
jge 0x48ba15
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x24]
or esi, dword [esp + 0x1c]
mov eax, edi
shl eax, cl
or esi, ebx
or esi, edx
mov ecx, dword [esp + 0x68]
mov ebx, 1
mov edx, 0
cmovne edx, ebx
shr edi, cl
mov dword [esp + 0x38], edi
or edx, eax
jmp 0x48ba22
xor eax, eax
mov dword [esp + 0x38], eax
xor edi, edi
mov edx, 1
xor eax, eax
mov dword [esp + 0x84], eax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x98], eax
xor ecx, ecx
mov dword [esp + 0x90], ecx
xor esi, esi
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x48bae9
test edx, edx
je 0x48ba85
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
mov eax, dword [0x4a4a08]
movsd xmm0, qword [eax]
mulsd xmm0, xmm0
movsd qword [esp + 8], xmm0
mov dword [esp + 0x74], esi
mov ecx, 0
mov dword [esp + 0x68], ecx
jmp 0x48b5a1
mov edx, dword [esp + 0x9c]
test dl, 0x10
jne 0x48bade
mov edx, dword [0x4a4a0c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], edi
xor ecx, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x98], eax
mov eax, dword [0x4a4a08]
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
movsd qword [esp + 8], xmm0
mov dword [esp + 0x74], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x68], ecx
jmp 0x48b6bf
xor eax, eax
mov dword [esp + 0x68], eax
jmp 0x48b6bf
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x74], esi
xor eax, eax
mov dword [esp + 0x68], eax
jmp 0x48b599
or ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
or ebx, edx
mov eax, 1
mov edx, 0
cmovne edx, eax
or edx, dword [esp + 0x24]
jmp 0x48ba22
or edx, ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x84], ebx
mov edi, 1
mov edx, 0
cmovne edx, edi
mov edi, dword [esp + 0x24]
or edx, dword [esp + 0x1c]
mov dword [esp + 0x38], edi
jmp 0x48ba2d
mov eax, dword [esp + 0x74]
mov dword [esp + 0x98], eax
mov edi, 1
cmp edx, 0
mov edx, 0
cmovne edx, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x38], edi
or edx, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x84], ebx
jmp 0x48ba36
mov eax, dword [esp + 0x70]
mov edx, 1
cmp eax, 0
mov edi, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x49e038]
mov dword [edx], ecx
mov ebx, dword [edi + 0x49e03c]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x49e040]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x49e044]
mov dword [edx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x48b73c
mov eax, 1
jmp 0x48b74e
mov ebx, dword [esp + 0x74]
cmp ebx, 0x1ffff
jne 0x48b599
mov ebx, dword [esp + 0x24]
cmp ebx, 0xffffffff
jne 0x48b599
mov ebx, dword [esp + 0x1c]
cmp ebx, 0xffffffff
jne 0x48b599
mov ebx, dword [esp + 0x20]
cmp ebx, 0xffffffff
jne 0x48b599
test eax, eax
jne 0x48b75e
jmp 0x48b599
test edx, edx
je 0x48b74c
mov eax, 1
jmp 0x48b74e
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x7c]
cmp edx, edi
jne 0x48aab6
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
cmp edx, edi
jne 0x48aab6
mov edi, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
cmp edx, edi
jne 0x48aab6
lea edx, [eax + 0x3ffe]
cmp edx, 0x7ffd
jle 0x48bd25
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], esi
fnstcw word [esp + 0x18]
mov edx, dword [esp + 0x18]
mov eax, dword [0x4a4a04]
movsd xmm0, qword [eax]
mulsd xmm0, xmm0
movsd qword [esp + 8], xmm0
and edx, 0xc00
cmp edx, 0xc00
je 0x48bb88
mov eax, dword [esp + 0x70]
test eax, eax
je 0x48bcd3
cmp edx, 0x800
je 0x48bb88
jmp 0x48bcdf
cmp edx, 0x400
je 0x48bb88
mov edx, 1
cmp eax, 0
mov edi, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x49dff8]
mov dword [edx], ecx
mov ebx, dword [edi + 0x49dffc]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x49e000]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x49e004]
mov dword [edx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test edx, edx
jl 0x48bd54
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x70]
xor edx, edx
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
add eax, 0x3fff
shl eax, 0x10
or ebx, eax
mov dword [esi + 0xc], ebx
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp edx, 0xffffffef
jle 0x48bd8a
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
add eax, 0x400e
mov ecx, eax
mov eax, dword [esp + 0x70]
mov ebx, 1
shl ebx, cl
or eax, ebx
mov dword [esi + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp edx, 0xffffffcf
jle 0x48bdbe
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [esi], edx
mov dword [esi + 4], edx
add eax, 0x400e
mov ecx, eax
mov eax, dword [esp + 0x70]
mov ebx, 1
shl ebx, cl
mov dword [esi + 0xc], eax
mov dword [esi + 8], ebx
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp edx, 0xffffffaf
jle 0x48bdf2
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [esi], edx
mov dword [esi + 8], edx
add eax, 0x400e
mov ecx, eax
mov eax, dword [esp + 0x70]
mov ebx, 1
shl ebx, cl
mov dword [esi + 0xc], eax
mov dword [esi + 4], ebx
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp edx, 0xffffff8f
jle 0x48be26
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
add eax, 0x400e
mov ecx, eax
mov eax, dword [esp + 0x70]
mov ebx, 1
shl ebx, cl
mov dword [esi + 0xc], eax
mov dword [esi], ebx
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], esi
fnstcw word [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [0x4a4a08]
mov edx, dword [esp + 0x70]
movsd xmm0, qword [eax]
mulsd xmm0, xmm0
movsd qword [esp + 8], xmm0
and ecx, 0xc00
test edx, edx
je 0x48be6c
mov eax, 1
cmp ecx, 0x400
mov edx, 0
cmove edx, eax
jmp 0x48be7f
mov eax, 1
cmp ecx, 0x800
mov edx, 0
cmove edx, eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x70]
mov dword [ecx], edx
xor edx, edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x7c]
or edx, dword [esp + 0x84]
mov ecx, 0
or edx, dword [esp + 0x6c]
mov edx, 1
cmovne ecx, edx
or ecx, dword [esp + 0x68]
jne 0x48bed0
mov edx, 1
mov dword [esp + 0x88], edx
jmp 0x48bf10
cmp ecx, 0x10000
jae 0x48bee6
mov edx, 2
mov dword [esp + 0x88], edx
jmp 0x48bf10
cmp ecx, 0x7fff0000
jae 0x48befc
mov edx, 4
mov dword [esp + 0x88], edx
jmp 0x48bf10
mov edx, 0x10
mov ecx, 8
cmova ecx, edx
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x80]
or edx, dword [esp + 0x98]
mov ecx, 0
or edx, dword [esp + 0x94]
mov edx, 1
cmovne ecx, edx
or ecx, dword [esp + 0x8c]
jne 0x48bf42
mov ecx, 1
jmp 0x48bf6d
cmp ecx, 0x10000
jae 0x48bf51
mov ecx, 2
jmp 0x48bf6d
cmp ecx, 0x7fff0000
jae 0x48bf60
mov ecx, 4
jmp 0x48bf6d
mov edx, 0x10
mov ecx, 8
cmova ecx, edx
mov edx, dword [esp + 0x88]
or edx, ecx
mov dword [esp + 0x38], edx
test dl, 0x10
je 0x48c190
mov eax, dword [esp + 0x88]
cmp ecx, eax
je 0x48bfe2
cmp eax, 0x10
je 0x48c661
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [edi], eax
mov edx, dword [ebx + 4]
mov dword [edi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [edi + 8], ecx
mov esi, dword [ebx + 0xc]
mov dword [edi + 0xc], esi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
test eax, 0x8000
jne 0x48c178
mov eax, dword [0x4a49f8]
mov edx, dword [ebp + 8]
movsd xmm0, qword [eax]
divsd xmm0, xmm0
movsd qword [esp + 8], xmm0
mov eax, dword [edx + 0xc]
jmp 0x48c178
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
and eax, 0x8000
mov ecx, 1
mov esi, 0
cmove esi, ecx
and edx, 0x8000
mov ebx, esi
mov edx, 0
cmove edx, ecx
or ebx, edx
je 0x48c029
mov eax, dword [0x4a49f8]
movsd xmm0, qword [eax]
divsd xmm0, xmm0
movsd qword [esp + 8], xmm0
cmp edx, esi
je 0x48c056
test esi, esi
je 0x48c112
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
jmp 0x48c178
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x68]
cmp eax, edx
jb 0x48c0ab
mov eax, dword [esp + 0x7c]
mov ecx, edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
cmp edx, ecx
jne 0x48c0cc
mov edx, dword [esp + 0x98]
cmp eax, edx
jb 0x48c0ab
cmp eax, edx
jne 0x48c0cc
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
cmp eax, edx
jb 0x48c0ab
cmp eax, edx
jne 0x48c0cc
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x6c]
cmp eax, edx
jae 0x48c0cc
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
jmp 0x48c178
mov eax, ecx
mov edx, dword [esp + 0x68]
cmp eax, edx
jb 0x48c112
cmp eax, edx
jne 0x48c130
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x98]
cmp eax, edx
jb 0x48c112
cmp eax, edx
jne 0x48c130
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
cmp eax, edx
jb 0x48c112
cmp eax, edx
jne 0x48c130
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
cmp eax, edx
jae 0x48c130
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
jmp 0x48c178
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
test edx, 0x80000000
je 0x48c15c
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
jmp 0x48c178
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
mov edx, dword [ebp + 8]
or eax, 0x8000
mov dword [edx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x88]
test ecx, edx
je 0x48c1e6
test dl, 2
jne 0x48c1e6
mov eax, dword [0x4a49f8]
mov edi, dword [ebp + 8]
movsd xmm0, qword [eax]
divsd xmm0, xmm0
movsd qword [esp + 8], xmm0
mov edx, dword [0x49dfe8]
mov dword [edi], edx
mov ecx, dword [0x49dfec]
mov dword [edi + 4], ecx
mov ebx, dword [0x49dff0]
mov dword [edi + 8], ebx
mov esi, dword [0x49dff4]
mov dword [edi + 0xc], esi
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test dl, 8
je 0x48c253
test cl, 2
je 0x48c209
mov eax, dword [0x4a49fc]
mov edx, dword [0x4a4a00]
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x70]
mov edx, 1
cmp eax, 0
mov edi, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x49dff8]
mov dword [edx], ecx
mov ebx, dword [edi + 0x49dffc]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x49e000]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x49e004]
mov dword [edx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test cl, 1
jne 0x48c6ff
test dl, 1
jne 0x48c266
test cl, 8
je 0x48c2d1
mov eax, dword [esp + 0x38]
test al, 2
je 0x48c287
mov eax, dword [0x4a49fc]
mov edx, dword [0x4a4a00]
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x70]
mov edx, 1
cmp eax, 0
mov edi, 0
cmovne edi, edx
mov edx, dword [ebp + 8]
shl edi, 4
mov ecx, dword [edi + 0x49e018]
mov dword [edx], ecx
mov ebx, dword [edi + 0x49e01c]
mov dword [edx + 4], ebx
mov esi, dword [edi + 0x49e020]
mov dword [edx + 8], esi
mov eax, dword [edi + 0x49e024]
mov dword [edx + 0xc], eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x30], ebx
test edi, edi
mov dword [esp + 0x28], esi
mov esi, dword [0x4a49fc]
movsd xmm0, qword [esi]
mov dword [esp + 0x2c], edx
mov edx, dword [0x4a4a00]
mulsd xmm0, qword [edx]
movsd qword [esp + 8], xmm0
jne 0x48c49c
test ebx, ebx
je 0x48c310
mov edx, ebx
shl edx, 0xf
xor edi, edi
jmp 0x48c340
mov edx, dword [esp + 0x98]
test edx, edx
je 0x48c322
mov edi, 0x11
jmp 0x48c340
mov edx, dword [esp + 0x80]
test edx, edx
je 0x48c334
mov edi, 0x31
jmp 0x48c340
mov edx, dword [esp + 0x94]
mov edi, 0x51
bsr edx, edx
sub edi, edx
add edi, 0x1f
mov esi, edi
neg esi
mov dword [esp + 0x88], esi
cmp edi, 0x20
jge 0x48c3cc
mov edx, dword [esp + 0x98]
mov ecx, edi
shl ebx, cl
mov esi, edx
mov ecx, dword [esp + 0x88]
shr esi, cl
mov ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x88]
or ebx, esi
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x80]
mov esi, ebx
shr esi, cl
mov ecx, edi
shl ebx, cl
mov ecx, dword [esp + 0x88]
or edx, esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x98], edx
mov edx, esi
shr edx, cl
mov ecx, edi
shl esi, cl
mov dword [esp + 0x94], esi
or ebx, edx
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x90]
jmp 0x48c495
je 0x48c69c
cmp edi, 0x40
jge 0x48c430
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x80]
mov ecx, edi
shl ebx, cl
mov esi, edx
mov ecx, dword [esp + 0x88]
shr esi, cl
mov ecx, edi
shl edx, cl
mov ecx, dword [esp + 0x88]
or esi, ebx
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x94]
mov ebx, esi
shr ebx, cl
mov ecx, edi
shl esi, cl
mov dword [esp + 0x80], esi
or ebx, edx
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x90]
jmp 0x48c48c
je 0x48c682
cmp edi, 0x60
jge 0x48c467
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x94]
mov ecx, edi
shl edx, cl
mov ebx, esi
mov ecx, dword [esp + 0x88]
shr ebx, cl
mov ecx, edi
shl esi, cl
mov dword [esp + 0x98], esi
or ebx, edx
jmp 0x48c483
mov edx, dword [esp + 0x94]
mov ecx, edi
mov ebx, edx
shl ebx, cl
cmp edi, 0x60
cmove ebx, edx
xor esi, esi
mov dword [esp + 0x98], esi
xor edx, edx
mov dword [esp + 0x80], edx
xor edx, edx
mov dword [esp + 0x94], edx
neg edi
add edi, 1
jmp 0x48c4a0
mov ebx, dword [esp + 0x30]
test eax, eax
jne 0x48c650
mov esi, dword [esp + 0x28]
test esi, esi
je 0x48c4b9
mov edx, esi
shl edx, 0xf
xor eax, eax
jmp 0x48c4e3
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x48c4c8
mov eax, 0x11
jmp 0x48c4e3
mov edx, dword [esp + 0x84]
test edx, edx
je 0x48c4da
mov eax, 0x31
jmp 0x48c4e3
mov edx, dword [esp + 0x6c]
mov eax, 0x51
bsr edx, edx
sub eax, edx
add eax, 0x1f
mov edx, eax
neg edx
mov dword [esp + 0x88], edx
cmp eax, 0x20
jge 0x48c56f
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x90], ebx
mov ecx, eax
shl esi, cl
mov ebx, edx
mov ecx, dword [esp + 0x88]
shr ebx, cl
mov ecx, eax
shl edx, cl
mov ecx, dword [esp + 0x88]
or esi, ebx
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x84]
mov ebx, esi
shr ebx, cl
mov ecx, eax
shl esi, cl
mov ecx, dword [esp + 0x88]
or edx, ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x2c], edx
mov edx, ebx
shr edx, cl
mov ecx, eax
shl ebx, cl
or esi, edx
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x90]
jmp 0x48c646
je 0x48c6dc
cmp eax, 0x40
jge 0x48c5d6
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x2c]
mov ecx, eax
shl ebx, cl
mov ecx, dword [esp + 0x88]
mov esi, edx
shr esi, cl
mov ecx, eax
shl edx, cl
or ebx, esi
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x78], ebx
mov ebx, esi
shr ebx, cl
mov ecx, eax
shl esi, cl
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x78]
or ebx, edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x90]
jmp 0x48c640
je 0x48c6c4
cmp eax, 0x60
jge 0x48c619
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x6c]
mov ecx, eax
shl edx, cl
mov ecx, dword [esp + 0x88]
mov esi, ebx
shr esi, cl
mov ecx, eax
shl ebx, cl
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x90]
or esi, edx
jmp 0x48c637
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x2c], 0
mov ecx, eax
mov esi, edx
shl esi, cl
cmp eax, 0x60
cmove esi, edx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [esp + 0x84], edx
xor edx, edx
mov dword [esp + 0x6c], edx
neg eax
add eax, 1
jmp 0x48aa96
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x7c], edx
jmp 0x48aa96
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [edi], eax
mov edx, dword [ebx + 4]
mov dword [edi + 4], edx
mov ecx, dword [ebx + 8]
mov dword [edi + 8], ecx
mov esi, dword [ebx + 0xc]
mov dword [edi + 0xc], esi
jmp 0x48bfb3
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x98], edx
jmp 0x48c483
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x98], edx
mov dword [esp + 0x80], esi
jmp 0x48c48c
mov esi, dword [esp + 0x84]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x2c], edx
jmp 0x48c637
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x84], edx
jmp 0x48c640
mov eax, dword [0x4a4a00]
mov edx, dword [0x4a49f8]
mov ecx, dword [esp + 0x70]
movsd xmm0, qword [eax]
divsd xmm0, qword [edx]
movsd qword [esp + 8], xmm0
mov ebx, 1
cmp ecx, 0
mov edx, 0
cmovne edx, ebx
mov ecx, dword [ebp + 8]
shl edx, 4
mov esi, dword [edx + 0x49dff8]
mov dword [ecx], esi
mov edi, dword [edx + 0x49dffc]
mov dword [ecx + 4], edi
mov eax, dword [edx + 0x49e000]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0x49e004]
mov dword [ecx + 0xc], eax
add esp, 0xa4
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, 0xd4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov ebx, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov dword [esp + 0xac], eax
mov eax, esi
mov dword [esp + 0x80], esi
and eax, 0x7fffffff
mov dword [esp + 0x88], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x84], edi
mov ebx, edi
xor esi, edi
and ebx, 0x7fffffff
mov dword [esp + 0x78], ebx
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
and esi, 0x80000000
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x7c], ecx
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x78]
movzx edi, cx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], esi
movzx esi, ax
shr eax, 0x10
shr ecx, 0x10
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
lea eax, [eax - 1]
cmp eax, 0x7ffd
ja 0x48db64
lea ecx, [ecx - 1]
cmp ecx, 0x7ffd
ja 0x48db64
or esi, 0x10000
mov eax, ebx
sub eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x90]
sub ecx, dword [esp + 0x8c]
mov dword [esp + 0x90], ecx
or edi, 0x10000
lea ecx, [ecx + 0x3ffd]
mov dword [esp + 0x6c], ecx
mov ecx, esi
sub ecx, edi
or eax, ecx
je 0x48d939
mov ecx, dword [esp + 0xc0]
sub ecx, ebx
mov ecx, edi
sbb ecx, esi
jb 0x48c8a5
mov ecx, dword [esp + 0xc0]
sub ecx, ebx
mov eax, edi
sub eax, esi
or ecx, eax
jne 0x48c8f9
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x98]
sub ecx, eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
sbb ecx, eax
jae 0x48c8f9
mov eax, dword [esp + 0x7c]
mov ecx, ebx
shr ecx, 0x12
shl ebx, 0xe
shl esi, 0xe
or ecx, esi
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x98]
mov esi, eax
shr esi, 0x12
or ebx, esi
mov esi, ecx
shr esi, 0x12
shl ecx, 0xe
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x90]
shl eax, 0xe
or esi, eax
mov dword [esp + 0x9c], esi
lea ecx, [ecx + 0x3ffe]
mov dword [esp + 0x6c], ecx
jmp 0x48c93a
mov eax, dword [esp + 0x7c]
mov ecx, ebx
shr ecx, 0x11
shl ebx, 0xf
shl esi, 0xf
or ecx, esi
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x98]
mov esi, eax
shr esi, 0x11
or ebx, esi
mov esi, ecx
shr esi, 0x11
shl ecx, 0xf
mov dword [esp + 0x98], ecx
shl eax, 0xf
or esi, eax
mov dword [esp + 0x9c], esi
mov ecx, dword [esp + 0xc0]
mov esi, ecx
shr esi, 0x11
shl ecx, 0xf
shl edi, 0xf
or esi, edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0xb4], esi
mov edx, edi
shr edx, 0x11
or ecx, edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0xc0], ecx
mov eax, edx
shr eax, 0x11
shl edx, 0xf
shl edi, 0xf
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0xb0]
or eax, edi
mov dword [esp + 0xb8], eax
sub ecx, ebx
sbb esi, edx
jb 0x48c99a
or ecx, esi
jne 0x48c9c0
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x94], esi
mov edx, 0xffffffff
mov dword [esp + 0xcc], edx
mov dword [esp + 0xc4], edx
jmp 0x48cb29
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xb4], edx
sub ecx, edx
jb 0x48c9e7
mov edx, 0xffffffff
mov dword [esp + 0xc4], edx
jmp 0x48ca1c
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
div dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc4], edx
mov edi, edx
mov ecx, dword [esp + 0xc0]
mov eax, edi
mul ecx
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x94], eax
mul edi
add ecx, eax
mov eax, dword [esp + 0x9c]
adc edx, 0
mov edi, eax
sub edi, esi
mov dword [esp + 0x84], edi
sub eax, esi
jae 0x48ca5f
mov edi, 1
jmp 0x48ca61
xor edi, edi
mov esi, ebx
sub esi, ecx
mov ecx, dword [esp + 0xb0]
sbb ecx, edx
sub esi, edi
sbb ecx, 0
mov edx, ecx
sub edx, 0
jge 0x48cad7
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0x84]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0xc0]
add eax, 0xffffffff
add edx, ebx
mov edi, edx
sub edi, ebx
jae 0x48caa8
mov edi, 1
jmp 0x48caaa
xor edi, edi
mov ebx, dword [esp + 0xb4]
add esi, ebx
adc ecx, 0
add esi, edi
adc ecx, 0
mov edi, ecx
sub edi, 0
jl 0x48ca8f
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xc4], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xb4]
mov ecx, esi
sub ecx, edx
jb 0x48caf2
mov edx, 0xffffffff
mov dword [esp + 0xcc], edx
jmp 0x48cb29
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
div dword [esp + 0x24]
mov dword [esp + 0x20], eax
xor edx, edx
or edx, dword [esp + 0x20]
mov dword [esp + 0xcc], edx
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0xcc]
mov eax, edi
mul ebx
mov esi, edx
mov dword [esp + 0x64], eax
mov eax, ecx
mul edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa0], edx
mov eax, ebx
mul edi
mov dword [esp + 0xc8], eax
mov eax, ecx
mov dword [esp + 0x54], edx
mul edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], edx
mov eax, edi
mul ebx
mov dword [esp + 0x60], eax
mov eax, ecx
mov dword [esp + 0x74], edx
mul edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov eax, edi
mul ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x78], eax
mov eax, edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x80], edx
mul ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], edx
add esi, eax
mov edx, 0
adc edx, 0
mov eax, dword [esp + 0xc8]
add esi, eax
mov eax, dword [esp + 0x64]
adc edx, 0
mov dword [esp + 0x90], esi
or eax, esi
je 0x48cc10
mov esi, 1
mov dword [esp + 0x5c], esi
jmp 0x48cc16
xor esi, esi
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x64]
xor eax, eax
sub eax, esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0xc8], eax
mov eax, 0
sbb eax, esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
add ecx, esi
mov esi, 0
adc esi, 0
add ecx, eax
adc esi, 0
mov eax, dword [esp + 0x60]
add eax, edx
mov edx, 0
adc edx, 0
add ecx, eax
adc esi, edx
mov edx, dword [esp + 0x74]
add edi, edx
mov edx, 0
adc edx, 0
mov eax, dword [esp + 0x88]
add edi, eax
adc edx, 0
mov eax, dword [esp + 0x78]
add edi, eax
adc edx, 0
add ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x9c]
add edi, esi
adc edx, 0
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x98]
mov esi, edx
sub esi, ecx
mov ecx, eax
sbb ecx, edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0xa4], esi
sub esi, edx
mov edx, ecx
sbb edx, eax
jb 0x48ccbd
or esi, edx
jne 0x48ccdf
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x48cced
mov esi, dword [esp + 0x98]
mov edx, eax
neg esi
neg edx
add edx, ecx
add esi, dword [esp + 0xa4]
or esi, edx
jne 0x48cced
mov edx, 1
mov dword [esp + 0x90], edx
jmp 0x48ccf6
xor edx, edx
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x84]
add esi, edx
mov edx, 0
adc edx, 0
add esi, eax
mov eax, dword [esp + 0x7c]
adc edx, eax
add esi, edi
adc edx, 0
mov edi, dword [esp + 0x90]
add esi, edi
adc edx, 0
sub ebx, esi
mov esi, dword [esp + 0xb0]
sbb esi, edx
mov dword [esp + 0xb0], esi
sub esi, 0
jge 0x48ce43
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xb8]
add esi, 0xffffffff
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0xc4]
adc esi, 0xffffffff
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0xbc]
add eax, esi
adc ebx, edi
mov dword [esp + 0xc8], eax
sub eax, esi
mov eax, ebx
sbb eax, edi
mov eax, dword [esp + 0xc8]
jae 0x48cdb3
mov esi, 1
jmp 0x48cdb5
xor esi, esi
mov edi, dword [esp + 0xc0]
add edx, edi
mov edi, dword [esp + 0xb4]
adc ecx, edi
add edx, esi
adc ecx, 0
test esi, esi
je 0x48cde6
mov edi, edx
sub edi, dword [esp + 0xc0]
mov esi, ecx
sub esi, dword [esp + 0xb4]
or edi, esi
je 0x48cdfe
mov esi, dword [esp + 0xc0]
mov edi, edx
sub edi, esi
mov esi, dword [esp + 0xb4]
mov edi, ecx
sbb edi, esi
jae 0x48ce05
mov esi, 1
jmp 0x48ce07
xor esi, esi
mov edi, dword [esp + 0xac]
add edi, esi
mov esi, dword [esp + 0xb0]
adc esi, 0
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], esi
sub esi, 0
jl 0x48cd62
mov dword [esp + 0xa4], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xb4]
sub eax, edx
sbb ebx, ecx
jb 0x48ce62
or eax, ebx
jne 0x48ce78
mov eax, 0xffffffff
mov dword [esp + 0x9c], eax
mov edi, 0xffffffff
jmp 0x48cfd0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x9c], eax
mov edx, ecx
sub edx, eax
jb 0x48ce93
mov edi, 0xffffffff
jmp 0x48cec1
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
div dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xa0], ecx
mul edi
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x94]
mul edi
add ebx, eax
mov eax, dword [esp + 0x50]
adc edx, 0
mov dword [esp + 0x68], edx
mov esi, eax
sub esi, ecx
mov dword [esp + 0x84], esi
mov esi, edx
sub eax, ecx
mov ecx, dword [esp + 0xa0]
jae 0x48cf0e
mov eax, 1
mov dword [esp + 0x60], eax
jmp 0x48cf14
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x60]
sub eax, ebx
mov ebx, ecx
sbb ebx, esi
sub eax, edx
sbb ebx, 0
mov esi, ebx
sub esi, 0
jge 0x48cf80
mov edx, dword [esp + 0x84]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0xc0]
add edi, 0xffffffff
add edx, ecx
mov esi, edx
sub esi, ecx
jae 0x48cf58
mov esi, 1
jmp 0x48cf5a
xor esi, esi
mov ecx, dword [esp + 0xb4]
add eax, ecx
adc ebx, 0
add eax, esi
adc ebx, 0
mov esi, ebx
sub esi, 0
jl 0x48cf3f
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x9c]
mov ebx, eax
sub ebx, edx
jb 0x48cf9b
mov eax, 0xffffffff
mov dword [esp + 0x9c], eax
jmp 0x48cfd0
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
div dword [esp + 4]
mov dword [esp], eax
xor eax, eax
or eax, dword [esp]
mov dword [esp + 0x9c], eax
and eax, 0x3fff
sub eax, 4
mov edx, 0
sbb edx, 0
jb 0x48cfea
or eax, edx
jne 0x48d363
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x9c]
mov eax, esi
mul ecx
mov dword [esp + 0x88], eax
mov eax, esi
mov esi, dword [esp + 0xb8]
mov ebx, edx
mul edi
mov dword [esp + 0x68], eax
mov eax, esi
mov dword [esp + 0x48], edx
mul ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], edx
mov eax, esi
mul edi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x80], eax
mov eax, esi
mov dword [esp + 0x64], edx
mul ecx
mov dword [esp + 0x7c], eax
mov eax, esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x74], edx
mul edi
mov dword [esp + 0x58], eax
mov eax, esi
mov dword [esp + 0x60], edx
mul ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0xb0], edx
mov eax, esi
mul edi
mov ecx, 0
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x54], edx
add ebx, eax
adc ecx, 0
mov eax, dword [esp + 0x78]
add ebx, eax
mov eax, dword [esp + 0x88]
adc ecx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xa0]
or eax, ebx
mov eax, dword [esp + 0x48]
je 0x48d0d5
mov edx, 1
mov dword [esp + 0x78], edx
jmp 0x48d0db
xor edx, edx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x58]
mov dword [esp + 0xa0], ecx
xor ecx, ecx
sub ecx, edx
mov edx, ebx
mov dword [esp + 0x98], ecx
mov ecx, 0
sbb ecx, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x7c]
add eax, edx
mov ebx, 0
adc ebx, 0
mov edx, dword [esp + 0x80]
add eax, edx
adc ebx, 0
mov edx, dword [esp + 0x90]
add ecx, edx
mov edx, 0
adc edx, 0
add eax, ecx
adc ebx, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
add eax, dword [esp + 0x78]
add ecx, edx
mov edx, 0
adc edx, 0
add ecx, esi
adc edx, 0
mov esi, dword [esp + 0x5c]
add ecx, esi
adc edx, 0
add ecx, ebx
adc edx, 0
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x50]
mov esi, ebx
sub esi, eax
mov dword [esp + 0x80], esi
mov eax, edx
sbb eax, ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x84], eax
sub esi, ebx
mov ebx, dword [esp + 0x68]
sbb eax, edx
jb 0x48d1a1
or esi, eax
jne 0x48d1ca
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48d1d8
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0x50]
neg edx
neg eax
add edx, dword [esp + 0x80]
add eax, dword [esp + 0x84]
or edx, eax
jne 0x48d1d8
mov eax, 1
mov dword [esp + 0x90], eax
jmp 0x48d1e1
xor eax, eax
mov dword [esp + 0x90], eax
mov esi, dword [esp + 0xb0]
mov edx, dword [esp + 0x60]
add edx, esi
mov esi, dword [esp + 0xac]
mov eax, 0
adc eax, 0
add edx, esi
mov esi, dword [esp + 0x54]
adc eax, esi
add edx, ebx
adc eax, 0
mov ebx, dword [esp + 0x90]
add edx, ebx
adc eax, 0
mov ebx, dword [esp + 0xa4]
sub ebx, edx
sbb ecx, eax
mov dword [esp + 0xa4], ebx
mov eax, ecx
sub eax, 0
jge 0x48d32c
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x94]
add esi, 0xffffffff
adc edi, 0xffffffff
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0xbc]
add esi, edi
adc ecx, ebx
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ecx
sub esi, edi
mov edi, dword [esp + 0xa8]
sbb ecx, ebx
mov ecx, dword [esp + 0xa0]
jae 0x48d2ac
mov ebx, 1
jmp 0x48d2ae
xor ebx, ebx
mov esi, dword [esp + 0xc0]
add edx, esi
mov esi, dword [esp + 0xb4]
adc eax, esi
add edx, ebx
adc eax, 0
test ebx, ebx
je 0x48d2df
mov esi, edx
sub esi, dword [esp + 0xc0]
mov ebx, eax
sub ebx, dword [esp + 0xb4]
or esi, ebx
je 0x48d2f7
mov ebx, dword [esp + 0xc0]
mov esi, edx
sub esi, ebx
mov ebx, dword [esp + 0xb4]
mov esi, eax
sbb esi, ebx
jae 0x48d2fe
mov ebx, 1
jmp 0x48d300
xor ebx, ebx
mov esi, dword [esp + 0xa4]
add esi, ebx
adc ecx, 0
mov ebx, ecx
mov dword [esp + 0xa4], esi
sub ebx, 0
jl 0x48d241
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
or ecx, dword [esp + 0x84]
or ecx, dword [esp + 0x94]
mov eax, dword [esp + 0xa4]
or eax, dword [esp + 0x80]
or eax, dword [esp + 0x98]
or eax, ecx
je 0x48d35a
mov eax, 1
jmp 0x48d35c
xor eax, eax
or dword [esp + 0x9c], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xcc]
mov ebx, eax
shl ebx, 0x11
xor esi, esi
shr eax, 0xf
mov dword [esp + 0x64], ebx
mov ebx, ecx
mov dword [esp + 0x88], esi
shl ebx, 0x11
mov esi, edi
shl esi, 0x11
shr edi, 0xf
or esi, eax
mov eax, dword [esp + 0xc4]
or ebx, edi
mov edi, eax
shl edi, 0x11
shr eax, 0xf
mov dword [esp + 0xc4], eax
shr ecx, 0xf
or edi, ecx
mov ecx, dword [esp + 0x6c]
cmp ecx, 0x7ffd
jae 0x48d4b5
mov ecx, dword [esp + 0x88]
or ecx, dword [esp + 0x64]
je 0x48d7f9
fnstcw word [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4a4a00]
mov edx, dword [0x4a4a08]
fld qword [ecx]
fadd qword [edx]
fstp qword [esp + 0x40]
and eax, 0xc00
jne 0x48d401
mov ecx, dword [esp + 0x64]
sub ecx, 0
jl 0x48d44f
jmp 0x48d420
cmp eax, 0xc00
je 0x48d420
xor ecx, ecx
or ecx, dword [esp + 0x70]
je 0x48d419
cmp eax, 0x400
je 0x48d44f
jmp 0x48d420
cmp eax, 0x800
je 0x48d44f
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [eax], esi
mov dword [eax + 4], ebx
shl edx, 0x10
add edx, dword [esp + 0xc4]
or ecx, edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
add esi, 1
adc ebx, 0
mov ecx, esi
or ecx, ebx
jne 0x48d46f
mov ecx, dword [esp + 0xc4]
add edi, 1
adc ecx, 0
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x64]
add edx, edx
adc ecx, ecx
or edx, ecx
jne 0x48d489
mov edx, 1
jmp 0x48d48b
xor edx, edx
xor ecx, ecx
mov dword [esp + 0xa8], ecx
test eax, eax
mov eax, ecx
sete al
and eax, edx
not eax
mov dword [esp + 0xa8], eax
cdq
and ebx, edx
and esi, dword [esp + 0xa8]
jmp 0x48d420
fnstcw word [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xa0], ecx
and ecx, 0xc00
mov dword [esp + 0xc8], ecx
jne 0x48d4eb
mov ecx, dword [esp + 0x64]
sub ecx, 0
jl 0x48d881
xor ecx, ecx
mov dword [esp + 0xcc], ecx
jmp 0x48d535
cmp ecx, 0xc00
je 0x48d4e0
xor ecx, ecx
or ecx, dword [esp + 0x70]
je 0x48d519
mov ecx, dword [esp + 0xc8]
cmp ecx, 0x400
je 0x48d870
xor ecx, ecx
mov dword [esp + 0xcc], ecx
jmp 0x48d535
mov ecx, dword [esp + 0xc8]
cmp ecx, 0x800
je 0x48d917
xor ecx, ecx
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x6c]
cmp ecx, 0x7ffd
jle 0x48d5d2
mov eax, dword [0x4a4a04]
mov edx, dword [esp + 0xc8]
fld qword [eax]
fmul st(0)
fstp qword [esp + 0x40]
cmp edx, 0xc00
je 0x48d8d1
mov edx, dword [esp + 0x70]
xor eax, eax
or edx, eax
je 0x48d588
mov eax, dword [esp + 0xc8]
cmp eax, 0x800
je 0x48d892
mov ecx, 1
jmp 0x48d59c
mov eax, dword [esp + 0xc8]
cmp eax, 0x400
je 0x48d8cd
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x49dff8]
mov edx, dword [ecx + 0x49dffc]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x49e000]
mov ecx, dword [ecx + 0x49e004]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp ecx, 0x7ffd
je 0x48d8dd
test ecx, ecx
jge 0x48d3c2
cmp ecx, 0xffffffff
jl 0x48d62a
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x48d62a
mov ecx, edi
sub ecx, 0xffffffff
mov ecx, dword [esp + 0xc4]
sbb ecx, 0x1ffff
jb 0x48d62a
mov ecx, dword [esp + 0xc4]
lea eax, [edi + 1]
lea ecx, [ecx - 0x1ffff]
or eax, ecx
jne 0x48d635
mov ecx, esi
sub ecx, 0xffffffff
mov ecx, ebx
sbb ecx, 0xffffffff
jae 0x48d635
mov ecx, 1
mov dword [esp + 0x50], ecx
jmp 0x48d63b
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x6c]
neg eax
mov dword [esp + 0x6c], eax
mov ecx, eax
and ecx, 0x3f
mov dword [esp + 0xa4], ecx
mov ecx, eax
neg ecx
and ecx, 0x3f
cmp eax, 0x40
mov dword [esp + 0xc8], ecx
jge 0x48d716
mov ecx, dword [esp + 0x88]
or ecx, dword [esp + 0x64]
je 0x48d683
mov ecx, 1
mov dword [esp + 0xcc], ecx
jmp 0x48d68c
xor ecx, ecx
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xc8]
mov eax, esi
mov edx, ebx
call fcn.0046e3e0
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xc4]
or eax, dword [esp + 0xcc]
mov dword [esp + 0x88], eax
mov eax, edi
call fcn.0046e3e0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xcc], eax
mov eax, esi
mov dword [esp + 0xc8], edx
mov edx, ebx
call fcn.0046e400
mov ecx, dword [esp + 0xa4]
mov esi, eax
or esi, dword [esp + 0xcc]
mov ebx, edx
mov eax, edi
or ebx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
call fcn.0046e400
mov dword [esp + 0xc4], edx
mov edi, eax
jmp 0x48d796
mov ecx, eax
cmp ecx, 0x40
je 0x48d833
cmp ecx, 0x80
jge 0x48d777
or ebx, dword [esp + 0x64]
or esi, ebx
je 0x48d738
mov ebx, 1
jmp 0x48d73a
xor ebx, ebx
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, edi
call fcn.0046e3e0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xc4]
or eax, ebx
mov dword [esp + 0x88], eax
mov eax, edi
call fcn.0046e400
mov esi, eax
mov ebx, edx
jmp 0x48d78d
mov eax, 1
mov dword [esp + 0x88], eax
xor edx, edx
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x64], edx
xor edi, edi
mov dword [esp + 0xc4], edi
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x48d828
mov ecx, dword [esp + 0x88]
or ecx, dword [esp + 0x64]
je 0x48d7cb
mov ecx, dword [0x4a4a08]
fld qword [ecx]
fmul st(0)
fstp qword [esp + 0x40]
mov ecx, 0
mov dword [esp + 0x6c], ecx
jmp 0x48d3d3
mov ecx, dword [esp + 0xa0]
test cl, 0x10
jne 0x48d7f3
mov ecx, dword [0x4a4a08]
fld qword [ecx]
mov ecx, dword [0x4a4a0c]
fmul qword [ecx]
fstp qword [esp + 0x40]
xor ecx, ecx
mov dword [esp + 0x6c], ecx
jmp 0x48d7f9
xor ecx, ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [eax], esi
mov dword [eax + 4], ebx
shl edx, 0x10
add edx, dword [esp + 0xc4]
or ecx, edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov dword [esp + 0x6c], ecx
jmp 0x48d3c2
mov ecx, dword [esp + 0x88]
or ecx, dword [esp + 0x64]
je 0x48d84e
mov ecx, 1
mov dword [esp + 0x88], ecx
jmp 0x48d857
xor ecx, ecx
mov dword [esp + 0x88], ecx
or dword [esp + 0x88], esi
mov esi, edi
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0xc4]
jmp 0x48d78d
mov ecx, dword [esp + 0x88]
or ecx, dword [esp + 0x64]
je 0x48d50e
mov ecx, 1
mov dword [esp + 0xcc], ecx
jmp 0x48d535
mov ebx, 1
mov esi, dword [ebp + 8]
shl ebx, 4
mov eax, dword [ebx + 0x49e038]
mov edx, dword [ebx + 0x49e03c]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebx + 0x49e040]
mov ebx, dword [ebx + 0x49e044]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ebx, ebx
jmp 0x48d897
mov edx, dword [esp + 0x70]
xor eax, eax
or edx, eax
jne 0x48d892
jmp 0x48d8cd
mov ecx, dword [esp + 0xc4]
lea eax, [edi + 1]
lea ecx, [ecx - 0x1ffff]
or eax, ecx
jne 0x48d3c2
lea eax, [esi + 1]
lea ecx, [ebx + 1]
or eax, ecx
jne 0x48d3c2
mov ecx, dword [esp + 0xcc]
test ecx, ecx
jne 0x48d545
jmp 0x48d3c2
mov ecx, dword [esp + 0x88]
or ecx, dword [esp + 0x64]
je 0x48d52c
mov ecx, 1
mov dword [esp + 0xcc], ecx
jmp 0x48d535
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x7c]
sub ecx, dword [esp + 0xbc]
sub eax, dword [esp + 0x74]
or ecx, eax
jne 0x48c869
mov eax, dword [esp + 0x90]
lea eax, [eax + 0x3ffe]
cmp eax, 0x7ffd
jle 0x48d9f7
fnstcw word [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov eax, dword [0x4a4a04]
fld qword [eax]
fmul st(0)
fstp qword [esp + 0x40]
and ecx, 0xc00
cmp ecx, 0xc00
je 0x48db51
mov edx, dword [esp + 0x70]
xor eax, eax
or edx, eax
je 0x48d9b3
cmp ecx, 0x800
je 0x48db12
mov ecx, 1
jmp 0x48d9c1
cmp ecx, 0x400
je 0x48db4d
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x49dff8]
mov edx, dword [ecx + 0x49dffc]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x49e000]
mov ecx, dword [ecx + 0x49e004]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test eax, eax
jl 0x48da2d
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x70]
xor edx, edx
mov dword [ebx], edx
mov dword [ebx + 4], edx
add eax, 0x3fff
shl eax, 0x10
or ecx, eax
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 0xffffffcf
jle 0x48da71
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x90]
xor ebx, ebx
mov dword [esi], ebx
mov dword [esi + 4], ebx
add ecx, 0x402e
mov eax, 1
xor edx, edx
call fcn.0046e3e0
mov ecx, dword [esp + 0x70]
mov ebx, dword [ebp + 8]
or ecx, edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp eax, 0xffffff8f
jle 0x48dab0
mov ecx, dword [esp + 0x90]
add ecx, 0x406e
mov eax, 1
xor edx, edx
call fcn.0046e3e0
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x70]
mov dword [esi], eax
mov dword [esi + 4], edx
xor ecx, ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
fnstcw word [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov eax, dword [0x4a4a08]
fld qword [eax]
fmul st(0)
fstp qword [esp + 0x40]
and ecx, 0xc00
xor edx, edx
or edx, dword [esp + 0x70]
je 0x48dae3
cmp ecx, 0x400
je 0x48db5d
xor eax, eax
jmp 0x48daed
cmp ecx, 0x800
je 0x48db5d
xor eax, eax
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x70]
mov dword [ecx + 4], 0
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, 1
mov esi, dword [ebp + 8]
shl ebx, 4
mov eax, dword [ebx + 0x49e038]
mov edx, dword [ebx + 0x49e03c]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebx + 0x49e040]
mov ebx, dword [ebx + 0x49e044]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ebx, ebx
jmp 0x48db17
mov edx, dword [esp + 0x70]
xor eax, eax
or edx, eax
jne 0x48db12
jmp 0x48db4d
mov eax, 1
jmp 0x48daed
mov ecx, dword [esp + 0x98]
or ecx, dword [esp + 0x7c]
je 0x48db7f
mov ecx, 1
mov dword [esp + 0xcc], ecx
jmp 0x48db88
xor ecx, ecx
mov dword [esp + 0xcc], ecx
mov eax, ecx
mov ecx, dword [esp + 0x88]
or eax, ebx
mov dword [esp + 0xcc], eax
or ecx, eax
jne 0x48dbac
mov ecx, 1
mov dword [esp + 0xcc], ecx
jmp 0x48dc13
mov ecx, dword [esp + 0x88]
sub ecx, 0x10000
jae 0x48dbc9
mov ecx, 2
mov dword [esp + 0xcc], ecx
jmp 0x48dc13
mov ecx, dword [esp + 0x88]
sub ecx, 0x7fff0000
jae 0x48dbe6
mov ecx, 4
mov dword [esp + 0xcc], ecx
jmp 0x48dc13
mov ecx, dword [esp + 0x88]
sub ecx, 0x7fff0000
jb 0x48dc07
or eax, ecx
je 0x48dc07
mov ecx, 0x10
mov dword [esp + 0xcc], ecx
jmp 0x48dc13
mov ecx, 8
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xbc]
or ecx, dword [esp + 0x74]
je 0x48dc2e
mov ecx, 1
mov dword [esp + 0xc8], ecx
jmp 0x48dc37
xor ecx, ecx
mov dword [esp + 0xc8], ecx
mov eax, ecx
or eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc8], eax
or ecx, eax
jne 0x48dc56
mov eax, 1
jmp 0x48dc98
mov ecx, dword [esp + 0x78]
sub ecx, 0x10000
jae 0x48dc69
mov eax, 2
jmp 0x48dc98
mov ecx, dword [esp + 0x78]
sub ecx, 0x7fff0000
jae 0x48dc7c
mov eax, 4
jmp 0x48dc98
mov ecx, dword [esp + 0x78]
sub ecx, 0x7fff0000
jb 0x48dc93
or eax, ecx
je 0x48dc93
mov eax, 0x10
jmp 0x48dc98
mov eax, 8
mov ecx, dword [esp + 0xcc]
or ecx, eax
test cl, 0x10
je 0x48dece
mov edx, dword [esp + 0xcc]
cmp eax, edx
je 0x48dd0f
mov eax, edx
cmp eax, 0x10
je 0x48e2ae
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x74]
mov ebx, dword [ebp + 0x10]
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 0x48deb2
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [0x4a49f8]
mov dword [edx + 0xc], ebx
fld qword [eax]
fdiv st(0)
fstp qword [esp + 0x40]
mov eax, dword [edx + 8]
mov ebx, dword [edx + 0xc]
jmp 0x48deb2
mov ecx, dword [esp + 0x80]
and ecx, 0x8000
xor edx, edx
or ecx, edx
je 0x48dd29
mov edx, 1
jmp 0x48dd2b
xor edx, edx
mov esi, dword [esp + 0x84]
and esi, 0x8000
xor ecx, ecx
test edx, edx
sete cl
mov dword [esp + 0xcc], ecx
xor edx, edx
or esi, edx
je 0x48dd53
mov ecx, 1
jmp 0x48dd55
xor ecx, ecx
xor edx, edx
test ecx, ecx
sete dl
mov ecx, dword [esp + 0xcc]
or ecx, edx
je 0x48dd75
mov ecx, dword [0x4a49f8]
fld qword [ecx]
fdiv st(0)
fstp qword [esp + 0x40]
mov ecx, dword [esp + 0xcc]
cmp edx, ecx
je 0x48dda5
mov eax, ecx
test eax, eax
je 0x48de5a
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 0x48deb2
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x78]
mov ecx, ebx
sub ecx, edx
sbb esi, edi
jb 0x48ddf3
mov edx, dword [esp + 0x88]
mov ecx, ebx
sub ecx, dword [esp + 0xc0]
sub edx, dword [esp + 0x78]
or ecx, edx
jne 0x48de0e
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x74]
sub edx, ecx
sbb esi, edi
jae 0x48de0e
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 0x48deb2
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x88]
sub edx, ebx
sbb ecx, esi
jb 0x48de5a
mov edx, dword [esp + 0xc0]
sub edx, ebx
mov ebx, dword [esp + 0x78]
sub ebx, dword [esp + 0x88]
or edx, ebx
jne 0x48de72
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0x98]
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
sub edx, eax
sbb ebx, ecx
jae 0x48de72
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 0x48deb2
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
xor edx, edx
and ecx, 0x80000000
or ecx, edx
je 0x48de9c
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 0x48deb2
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]
mov edx, dword [ebp + 8]
or ebx, 0x8000
mov dword [edx + 8], eax
mov dword [edx + 0xc], ebx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0xcc]
test eax, edx
je 0x48df1e
test dl, 2
jne 0x48df1e
mov eax, dword [0x4a49f8]
mov edi, dword [ebp + 8]
fld qword [eax]
fdiv st(0)
fstp qword [esp + 0x40]
mov edx, dword [0x49dfe8]
mov ecx, dword [0x49dfec]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ebx, dword [0x49dff0]
mov esi, dword [0x49dff4]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], esi
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test dl, 8
je 0x48df83
test al, 2
je 0x48df3a
mov eax, dword [0x4a49fc]
mov edx, dword [0x4a4a00]
fld qword [eax]
fmul qword [edx]
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x70]
xor eax, eax
or edx, eax
je 0x48df4b
mov ecx, 1
jmp 0x48df4d
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x49dff8]
mov edx, dword [ecx + 0x49dffc]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x49e000]
mov ecx, dword [ecx + 0x49e004]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test al, 1
je 0x48dfe3
mov eax, dword [0x4a4a00]
mov edx, dword [0x4a49f8]
mov ebx, dword [esp + 0x70]
fld qword [eax]
fdiv qword [edx]
fstp qword [esp + 0x40]
xor ecx, ecx
or ebx, ecx
je 0x48dfab
mov ecx, 1
jmp 0x48dfad
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x49dff8]
mov edx, dword [ecx + 0x49dffc]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x49e000]
mov ecx, dword [ecx + 0x49e004]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test dl, 1
jne 0x48dfec
test al, 8
je 0x48e04d
test cl, 2
je 0x48e004
mov eax, dword [0x4a49fc]
mov edx, dword [0x4a4a00]
fld qword [eax]
fmul qword [edx]
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x70]
xor eax, eax
or edx, eax
je 0x48e015
mov ecx, 1
jmp 0x48e017
xor ecx, ecx
mov esi, dword [ebp + 8]
shl ecx, 4
mov eax, dword [ecx + 0x49e018]
mov edx, dword [ecx + 0x49e01c]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [ecx + 0x49e020]
mov ecx, dword [ecx + 0x49e024]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
add esp, 0xd4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x4a49fc]
fld qword [ecx]
mov ecx, dword [0x4a4a00]
fmul qword [ecx]
mov ecx, dword [esp + 0x8c]
fstp qword [esp + 0x40]
test ecx, ecx
jne 0x48e196
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xcc], edi
mov eax, ecx
or eax, edi
je 0x48e092
mov eax, 0xfffffff1
mov dword [esp + 0x8c], eax
jmp 0x48e0b0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x74]
mov dword [esp + 0xcc], eax
mov eax, 0x31
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xcc]
sub eax, 1
jae 0x48e0c6
add dword [esp + 0x8c], 0x20
jmp 0x48e0cd
mov ecx, dword [esp + 0xcc]
bsr ecx, ecx
mov eax, dword [esp + 0x8c]
sub eax, ecx
add eax, 0x1f
mov dword [esp + 0x8c], eax
cmp eax, 0x40
jge 0x48e14f
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x8c]
mov edx, edi
call fcn.0046e3e0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
mov edi, edx
mov edx, dword [esp + 0x74]
neg ecx
and ecx, 0x3f
call fcn.0046e400
mov ecx, dword [esp + 0x8c]
or dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
or edi, edx
mov edx, dword [esp + 0x74]
call fcn.0046e3e0
mov dword [esp + 0xbc], eax
mov dword [esp + 0x74], edx
jmp 0x48e183
mov ecx, eax
cmp ecx, 0x40
je 0x48e2cf
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x74]
and ecx, 0x3f
call fcn.0046e3e0
mov dword [esp + 0xc0], eax
mov edi, edx
xor ecx, ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x8c]
neg ecx
add ecx, 1
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x90]
test ecx, ecx
jne 0x48c829
mov dword [esp + 0xcc], esi
mov ecx, ebx
mov eax, ebx
or eax, esi
je 0x48e1c2
mov eax, 0xfffffff1
mov dword [esp + 0x90], eax
jmp 0x48e1e0
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xcc], eax
mov eax, 0x31
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xcc]
sub eax, 1
jae 0x48e1f6
add dword [esp + 0x90], 0x20
jmp 0x48e1fd
mov ecx, dword [esp + 0xcc]
bsr ecx, ecx
mov eax, dword [esp + 0x90]
sub eax, ecx
add eax, 0x1f
mov dword [esp + 0x90], eax
cmp eax, 0x40
jge 0x48e26b
mov ecx, eax
mov eax, ebx
mov edx, esi
call fcn.0046e3e0
mov ecx, dword [esp + 0x90]
mov ebx, eax
mov eax, dword [esp + 0x98]
mov esi, edx
neg ecx
mov edx, dword [esp + 0x7c]
and ecx, 0x3f
call fcn.0046e400
mov ecx, dword [esp + 0x90]
or ebx, eax
or esi, edx
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x7c]
call fcn.0046e3e0
mov dword [esp + 0x98], eax
mov dword [esp + 0x7c], edx
jmp 0x48e296
cmp eax, 0x40
je 0x48e2e6
mov ecx, eax
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x7c]
and ecx, 0x3f
call fcn.0046e3e0
mov ebx, eax
mov esi, edx
xor ecx, ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x90]
neg ecx
add ecx, 1
mov dword [esp + 0x90], ecx
jmp 0x48c829
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x7c]
mov ebx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
jmp 0x48dcdc
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0x74]
mov dword [esp + 0xc0], ecx
jmp 0x48e176
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x7c]
jmp 0x48e289
test dword [0x4afc84], 0xfffffe00
jne 0x48a9d8
test dword [0x4afc84], 0xffffffff
jne 0x48c764
call fcn.00485580
jmp fcn.0048e2f4