Function at 0x51e734
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x170]
xor ebx, ebx
mov dword [esi + 0x7c4], ebx
mov dword [esi + 0x7c8], ebx
fld dword [edi + 0xec]
fsub dword [esi + 0xec]
call fcn.00820230
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [edi + 0xf0]
fsub dword [esi + 0xf0]
call fcn.00820230
add word [esi + 0x81c], 0xffff
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x10], eax
movzx eax, word [esi + 0x13c]
fild dword [esp + 0x10]
cmp ax, 0x31
mov dword [esi + 0x75c], ebx
fstp dword [esp + 0x10]
mov dword [esi + 0x760], ebx
mov dword [esi + 0x764], ebx
mov dword [esi + 0x768], ebx
mov dword [esi + 0x76c], ebx
mov dword [esi + 0x770], ebx
jle 0x51e822
cmp ax, 0x96
jge 0x51e822
mov word [esi + 0x820], bx
mov word [esi + 0x81e], bx
mov word [esi + 0x81a], bx
mov word [esi + 0x81c], bx
mov word [esi + 0x818], bx
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
cmp edx, 0xa
ja 0x51e822
push 3
mov dword [esi + 0x75c], 1
call fcn.004099f0
add esp, 4
sub eax, 1
mov dword [esi + 0x754], eax
cmp word [esi + 0x13c], 0xc7
jg 0x51e83b
mov word [esi + 0x820], bx
mov word [esi + 0x818], bx
push 0x3e8
call fcn.004099f0
mov edx, dword [esi + 0x170]
add esp, 4
mov word [esi + 0x822], ax
cmp word [edx + 0x184], bx
jle 0x521260
movsx eax, word [esi + 0x13c]
add eax, 0xffffff38
cmp eax, 0xd8
push ebp
mov ebp, 2
mov edi, 0x190
mov edx, 0x320
ja case.0x51e890.201
movzx eax, byte [eax + 0x52275c]
jmp dword [eax*4 + 0x522714]
cmp word [esi + 0x818], bx
jne 0x51e8ce
fld dword [0x85bd00]
mov word [esi + 0x818], 0x64
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x51e8ce
push 0x64
call fcn.004099f0
add esp, 4
add eax, 1
mov word [esi + 0x818], ax
mov ecx, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x51e8f2
cmp byte [esi + 0x104], 0xff
je 0x51e918
fld dword [esi + 0xec]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne case.0x51e890.201
cmp byte [esi + 0x104], 1
jne case.0x51e890.201
cmp word [esi + 0x818], 0x32
jl case.0x51e890.201
fld dword [esp + 0x10]
fcomp qword [0x85bcf8]
fnstsw ax
test ah, 5
jp 0x51e972
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x64
jae 0x51e972
fld dword [esp + 0x14]
fcomp qword [0x857990]
fnstsw ax
test ah, 5
jp 0x51e972
movsx ecx, byte [esi + 0x104]
mov dword [esi + 0x754], ecx
mov dword [esi + 0x75c], ebp
jmp case.0x51e890.201
fld dword [esp + 0x10]
fcom qword [0x858f00]
fnstsw ax
test ah, 1
jne 0x51e9cb
fcomp dword [0x85b948]
fnstsw ax
test ah, 0x41
jp 0x51e9cd
fld dword [0x857dd8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x51e9cd
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x32
jae 0x51e9cd
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x754], edx
mov dword [esi + 0x760], ebp
jmp case.0x51e890.201
fstp st(0)
fld dword [esp + 0x10]
fcom qword [0x85b580]
fnstsw ax
test ah, 1
jne 0x51ff6e
fcomp dword [0x85c8dc]
fnstsw ax
test ah, 0x41
jp case.0x51e890.201
fldz
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x44
jp case.0x51e890.201
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x1e
jae case.0x51e890.201
movsx eax, byte [esi + 0x104]
mov dword [esi + 0x754], eax
mov dword [esi + 0x764], ebp
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51ea45
mov word [esi + 0x818], bx
jmp 0x51ea64
cmp eax, 3
je 0x51ea64
cmp word [esi + 0x818], bx
jne 0x51ea64
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx eax, word [esi + 0x818]
cmp ax, 0xa
jl case.0x51e890.201
cmp ax, 0x5a
jg case.0x51e890.201
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51eaa9
mov word [esi + 0x818], bx
jmp 0x51eacb
cmp eax, 3
je 0x51eacb
cmp word [esi + 0x818], bx
jne 0x51eacb
push 0xc8
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, 0x1e
jl 0x51eafc
cmp cx, 0x2d
jg 0x51eb02
mov dword [esi + 0x75c], ebp
movsx ecx, byte [esi + 0x104]
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x2d
jl 0x51eb28
cmp cx, 0x37
jg 0x51eb2e
cmp word [esi + 0x49e], di
jl 0x51eb28
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x37
jl 0x51eb5b
cmp cx, 0x41
jg 0x51eb61
cmp word [esi + 0x49e], di
jl 0x51eb5b
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x41
jl 0x51eba0
cmp cx, 0x4b
jg 0x51eba6
cmp word [esi + 0x49e], di
jl 0x51eba0
mov eax, dword [esi + 0x170]
fldz
fcomp dword [eax + 0xf0]
fnstsw ax
test ah, 0x44
jp 0x51eba0
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], 1
jmp case.0x51e890.201
cmp cx, 0x4b
jl 0x51ebbb
cmp cx, 0x50
jg 0x51ebc1
cmp word [esi + 0x49e], 0x258
jge 0x51eb11
cmp cx, 0x50
jl 0x51ebdd
cmp cx, 0x55
jg 0x51ebe7
cmp word [esi + 0x49e], 0x258
jl 0x51ebdd
mov dword [esi + 0x760], ebp
jmp 0x51eae4
cmp cx, 0x55
jl case.0x51e890.201
cmp cx, 0x5a
jg case.0x51e890.201
cmp word [esi + 0x49e], 0x258
jl case.0x51e890.201
jmp 0x51eb85
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51ec15
mov word [esi + 0x818], bx
jmp 0x51ec34
cmp eax, 3
je 0x51ec34
cmp word [esi + 0x818], bx
jne 0x51ec34
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, 0x2d
jl 0x51ec67
cmp cx, 0x37
jg 0x51ec6d
cmp word [esi + 0x49e], di
jl 0x51ec67
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x37
jl 0x51ec9a
cmp cx, 0x41
jg 0x51eca0
cmp word [esi + 0x49e], di
jl 0x51ec9a
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x41
jl 0x51ecc8
cmp cx, 0x4b
jg 0x51ecce
cmp word [esi + 0x49e], di
jl 0x51ecc8
mov eax, dword [esi + 0x170]
fldz
fcomp dword [eax + 0xf0]
fnstsw ax
test ah, 0x44
jnp 0x51eb85
cmp cx, 0x4b
jl 0x51ecf6
cmp cx, 0x50
jg 0x51ecfc
cmp word [esi + 0x49e], 0x258
jl 0x51ecf6
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x50
jl 0x51ed18
cmp cx, 0x55
jg 0x51ed1e
cmp word [esi + 0x49e], 0x258
jl 0x51ed18
mov dword [esi + 0x760], ebp
jmp 0x51eae4
cmp cx, 0x55
jl 0x51ed3a
cmp cx, 0x5a
jg 0x51ed3a
cmp word [esi + 0x49e], 0x258
jl 0x51ed3a
mov dword [esi + 0x764], ebp
jmp 0x51eb8b
cmp cx, bx
jl 0x51ed59
cmp cx, 5
jg 0x51ed5f
cmp word [esi + 0x49e], di
jl 0x51ed59
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 5
jl 0x51ed7d
cmp cx, 0xa
jg 0x51ed83
cmp word [esi + 0x49e], di
jl 0x51ed7d
mov dword [esi + 0x7c8], 4
jmp case.0x51e890.201
cmp cx, 0xa
jl 0x51eda1
cmp cx, 0xf
jg 0x51eda7
cmp word [esi + 0x49e], di
jl 0x51eda1
mov dword [esi + 0x7c8], 0x200
jmp case.0x51e890.201
cmp cx, 0xf
jl 0x51edce
cmp cx, 0x14
jg 0x51edd4
cmp word [esi + 0x49e], di
jl 0x51edce
cmp dword [esi + 0x190], 1
je 0x51edce
mov dword [esi + 0x7c8], 0x20
jmp case.0x51e890.201
cmp cx, 0x14
jl 0x51edfb
cmp cx, 0x19
jg 0x51edfb
cmp word [esi + 0x49e], di
jl 0x51edfb
cmp dword [esi + 0x190], 1
je 0x51edfb
mov dword [esi + 0x7c8], 0x40
jmp case.0x51e890.201
cmp cx, 0x5f
jl case.0x51e890.201
cmp cx, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff38
cmp eax, 5
ja case.0x51e890.201
jmp dword [eax*4 + 0x522838]
cmp dword [esi + 0x190], 1
je case.0x51e890.201
mov dword [esi + 0x770], ebp
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51ee6a
mov word [esi + 0x818], bx
jmp 0x51ee89
cmp eax, 3
je 0x51ee89
cmp word [esi + 0x818], bx
jne 0x51ee89
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, 0x28
jl 0x51eecb
cmp cx, 0x32
jg 0x51eed1
fld dword [esp + 0x10]
fcomp qword [0x85bb38]
fnstsw ax
test ah, 0x41
jne 0x51eecb
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x32
jl 0x51ef0a
cmp cx, 0x37
jg 0x51ef10
fld dword [esp + 0x10]
fcomp qword [0x857b20]
fnstsw ax
test ah, 0x41
jne 0x51ef0a
movsx eax, byte [esi + 0x104]
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x754], eax
mov dword [esi + 0x758], 1
jmp case.0x51e890.201
cmp cx, 0x37
jl 0x51ef36
cmp cx, 0x41
jg 0x51ef40
cmp word [esi + 0x49e], di
jl 0x51ef36
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x41
jl case.0x51e890.201
cmp cx, 0x4b
jg case.0x51e890.201
cmp word [esi + 0x49e], di
jl case.0x51e890.201
mov dword [esi + 0x75c], ebp
jmp 0x51eb8b
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51ef75
mov word [esi + 0x818], bx
jmp 0x51ef97
cmp eax, 3
je 0x51ef97
cmp word [esi + 0x818], bx
jne 0x51ef97
push 0xc8
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, 0x2d
jl 0x51efca
cmp cx, 0x41
jg 0x51efd0
cmp word [esi + 0x49e], di
jl 0x51efca
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x41
jl 0x51eff8
cmp cx, 0x46
jg 0x51eff8
cmp word [esi + 0x49e], di
jl 0x51eff8
fldz
mov edx, dword [esi + 0x170]
fcomp dword [edx + 0xf0]
fnstsw ax
test ah, 0x44
jnp 0x51eb85
cmp cx, 0x4b
jl 0x51f026
cmp cx, 0x50
jg 0x51f02c
cmp word [esi + 0x49e], 0x258
jl 0x51f026
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x50
jl 0x51f05b
cmp cx, 0x55
jg 0x51f061
cmp word [esi + 0x49e], 0x258
jl 0x51f05b
movsx eax, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], eax
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x55
jl 0x51f076
cmp cx, 0x5a
jg 0x51f076
cmp word [esi + 0x49e], 0x258
jge 0x51eb85
cmp cx, bx
jl 0x51f095
cmp cx, 5
jg 0x51f09b
cmp word [esi + 0x49e], di
jl 0x51f095
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 5
jl 0x51f0b9
cmp cx, 0xa
jg 0x51f0bf
cmp word [esi + 0x49e], di
jl 0x51f0b9
mov dword [esi + 0x7c8], 4
jmp case.0x51e890.201
cmp cx, 0xa
jl 0x51f0dd
cmp cx, 0xf
jg 0x51f0e3
cmp word [esi + 0x49e], di
jl 0x51f0dd
mov dword [esi + 0x7c8], 0x200
jmp case.0x51e890.201
cmp cx, 0xf
jl 0x51f10a
cmp cx, 0x14
jg 0x51f110
cmp word [esi + 0x49e], di
jl 0x51f10a
cmp dword [esi + 0x190], 1
je 0x51f10a
mov dword [esi + 0x7c8], 0x20
jmp case.0x51e890.201
cmp cx, 0x14
jl 0x51f137
cmp cx, 0x19
jg 0x51f137
cmp word [esi + 0x49e], di
jl 0x51f137
cmp dword [esi + 0x190], 1
je 0x51f137
mov dword [esi + 0x7c8], 0x40
jmp case.0x51e890.201
cmp cx, 0x5f
jl case.0x51e890.201
cmp cx, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff38
cmp eax, 4
ja case.0x51e890.201
jmp dword [eax*4 + 0x522850]
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f18e
mov word [esi + 0x818], bx
jmp 0x51f1ad
cmp eax, 3
je 0x51f1ad
cmp word [esi + 0x818], bx
jne 0x51f1ad
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx eax, word [esi + 0x818]
cmp ax, 0x41
jl 0x51f1d4
cmp ax, 0x4b
jg 0x51f1da
cmp word [esi + 0x49e], di
jl 0x51f1d4
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp ax, 0x4b
jl 0x51f1f8
cmp ax, 0x50
jg 0x51f1fe
cmp word [esi + 0x49e], di
jl 0x51f1f8
mov dword [esi + 0x7c8], 0x200
jmp case.0x51e890.201
cmp ax, 0x50
jl 0x51f21c
cmp ax, 0x55
jg 0x51f222
cmp word [esi + 0x49e], di
jl 0x51f21c
mov dword [esi + 0x7c8], 0x20
jmp case.0x51e890.201
cmp ax, 0x55
jl 0x51f240
cmp ax, 0x5a
jg 0x51f24a
cmp word [esi + 0x49e], di
jl 0x51f240
mov dword [esi + 0x7c8], 0x40
jmp case.0x51e890.201
cmp ax, 0x5a
jl case.0x51e890.201
cmp ax, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff37
cmp eax, 4
ja case.0x51e890.201
jmp dword [eax*4 + 0x522864]
cmp dword [esi + 0x190], 1
jne case.0x51e890.201
mov dword [esi + 0x770], ebp
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f2af
mov word [esi + 0x818], bx
jmp 0x51f2d3
cmp eax, 3
je 0x51f2d3
cmp word [esi + 0x818], bx
jne 0x51f2d3
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
mov edx, 0x320
movzx ecx, word [esi + 0x818]
cmp cx, bx
jl 0x51f305
cmp cx, 5
jg 0x51f30b
fld dword [esp + 0x14]
fcomp qword [0x857990]
fnstsw ax
test ah, 5
jp 0x51f305
mov dword [esi + 0x75c], 1
jmp 0x51eae4
cmp cx, 5
jl 0x51f32d
cmp cx, 0xa
jg 0x51f32d
mov eax, 1
mov dword [esi + 0x75c], eax
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], eax
jmp case.0x51e890.201
cmp cx, 0xf
jl 0x51f3c6
cmp cx, 0x14
jg 0x51f3cc
cmp word [esi + 0x49e], 0x12c
jl 0x51f3c6
mov eax, dword [esi + 0x170]
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esp + 0x18], edx
fld dword [eax + 0xec]
sub esp, 8
fsub dword [esi + 0xec]
fild dword [esp + 0x20]
fmulp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
movsx eax, ax
xor ecx, ecx
neg eax
cmp eax, 0x1e
setge cl
mov dword [esi + 0x758], ecx
jmp case.0x51e890.201
cmp cx, 0x14
jl 0x51f3e6
cmp cx, 0x16
jg 0x51f3e6
cmp word [esi + 0x49e], di
jl 0x51f3e6
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 0x17
jl 0x51f40a
cmp cx, 0x18
jg 0x51f40a
cmp word [esi + 0x49e], di
jl 0x51f40a
mov dword [esi + 0x7c8], 4
jmp case.0x51e890.201
cmp cx, 0x19
jl 0x51f436
cmp cx, 0x1e
jg 0x51f43c
cmp word [esi + 0x49e], dx
jl 0x51f436
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x1e
jl 0x51f469
cmp cx, 0x23
jg 0x51f46f
cmp word [esi + 0x49e], dx
jl 0x51f469
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp cx, 0x23
jl 0x51f489
cmp cx, 0x28
jg 0x51f493
cmp word [esi + 0x49e], dx
jl 0x51f489
mov dword [esi + 0x764], ebp
jmp 0x51eb8b
cmp cx, 0x28
jl case.0x51e890.201
cmp cx, 0x3c
jg case.0x51e890.201
cmp word [esi + 0x49e], 0x2bc
jl case.0x51e890.201
mov dword [esi + 0x7c8], 0x20
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f4ce
mov word [esi + 0x818], bx
jmp 0x51f4f2
cmp eax, 3
je 0x51f4f2
cmp word [esi + 0x818], bx
jne 0x51f4f2
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
mov edx, 0x320
movzx eax, word [esi + 0x818]
cmp ax, bx
jl 0x51f591
cmp ax, 0x28
jg 0x51f597
cmp word [esi + 0x49e], 0x12c
jl 0x51f591
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esp + 0x18], ecx
fld dword [eax + 0xec]
sub esp, 8
fsub dword [esi + 0xec]
fild dword [esp + 0x20]
fmulp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
movsx edx, ax
xor eax, eax
neg edx
cmp edx, 0x1e
setge al
mov dword [esi + 0x758], eax
jmp case.0x51e890.201
cmp ax, 0x28
jl 0x51f5bd
cmp ax, 0x2d
jg 0x51f5c3
cmp word [esi + 0x49e], dx
jl 0x51f5bd
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp ax, 0x2d
jl 0x51f5dd
cmp ax, 0x32
jg 0x51f5e3
cmp word [esi + 0x49e], dx
jl 0x51f5dd
mov dword [esi + 0x764], ebp
jmp 0x51eae4
cmp ax, 0x32
jl 0x51f5fd
cmp ax, 0x37
jg 0x51f603
cmp word [esi + 0x49e], dx
jl 0x51f5fd
mov dword [esi + 0x764], ebp
jmp 0x51eb8b
cmp ax, 0x37
jl 0x51f61d
cmp ax, 0x3c
jg 0x51f623
cmp word [esi + 0x49e], di
jl 0x51f61d
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp ax, 0x3c
jl 0x51f641
cmp ax, 0x41
jg 0x51f64b
cmp word [esi + 0x49e], di
jl 0x51f641
mov dword [esi + 0x7c8], 4
jmp case.0x51e890.201
cmp ax, 0x41
jl case.0x51e890.201
cmp ax, 0x50
jmp 0x51f497
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f667
mov word [esi + 0x818], bx
jmp 0x51f68e
cmp eax, 3
je 0x51f68e
cmp word [esi + 0x818], bx
jne 0x51f68e
push 0xc8
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
mov edx, 0x320
movzx eax, word [esi + 0x818]
cmp ax, 0x32
jl 0x51f703
cmp ax, 0x46
jg 0x51f709
cmp word [esi + 0x49e], 0x12c
jl 0x51f703
mov eax, dword [esi + 0x170]
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ebx
mov dword [esp + 0x18], edx
fld dword [eax + 0xec]
sub esp, 8
fsub dword [esi + 0xec]
fild dword [esp + 0x20]
fmulp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
jmp 0x51f39e
cmp ax, 0x46
jl 0x51f72f
cmp ax, 0x4b
jg 0x51f735
cmp word [esi + 0x49e], dx
jl 0x51f72f
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
jmp case.0x51e890.201
cmp ax, 0x4b
jl 0x51f748
cmp ax, 0x50
jg 0x51f74e
cmp word [esi + 0x49e], dx
jge 0x51f44b
cmp ax, 0x50
jl 0x51f768
cmp ax, 0x55
jg 0x51f76e
cmp word [esi + 0x49e], dx
jl 0x51f768
mov dword [esi + 0x764], ebp
jmp 0x51eb8b
cmp ax, 0x55
jl 0x51f788
cmp ax, 0x5a
jg 0x51f792
cmp word [esi + 0x49e], di
jl 0x51f788
mov dword [esi + 0x7c4], ebp
jmp case.0x51e890.201
cmp ax, 0x5a
jl case.0x51e890.201
cmp ax, 0x5f
jg case.0x51e890.201
cmp word [esi + 0x49e], di
jl case.0x51e890.201
mov dword [esi + 0x7c4], 4
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f7d4
movzx eax, bx
mov word [esi + 0x818], bx
cmp ax, bx
jmp 0x51ea6f
cmp eax, 3
je 0x51f7f3
cmp word [esi + 0x818], bx
jne 0x51f7f3
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx eax, word [esi + 0x818]
cmp ax, bx
jmp 0x51ea6f
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f815
mov word [esi + 0x818], bx
jmp 0x51f834
cmp eax, 3
je 0x51f834
cmp word [esi + 0x818], bx
jne 0x51f834
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx eax, word [esi + 0x818]
cmp ax, bx
jl 0x51f84b
cmp ax, 0x32
jg 0x51f851
jmp 0x51ea7f
cmp ax, 0x32
jl 0x51f85c
cmp ax, 0x3c
jg 0x51f862
jmp 0x51eee8
cmp ax, 0x3c
jl 0x51f875
cmp ax, 0x46
jg 0x51f87f
cmp word [esi + 0x49e], di
jge 0x51ea7f
cmp ax, 0x46
jl case.0x51e890.201
cmp ax, 0x50
jg case.0x51e890.201
cmp word [esi + 0x49e], di
jl case.0x51e890.201
fldz
mov ecx, dword [esi + 0x170]
fcomp dword [ecx + 0xf0]
fnstsw ax
test ah, 0x44
jp case.0x51e890.201
mov dword [esi + 0x75c], ebp
jmp 0x51eb8b
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51f8cd
mov word [esi + 0x818], bx
jmp 0x51f901
cmp eax, 3
je 0x51f901
cmp word [esi + 0x818], bx
jne 0x51f901
push 0x64
call fcn.004099f0
push 0x1e
mov word [esi + 0x818], ax
call fcn.004099f0
add esp, 8
mov word [esi + 0x81e], ax
mov word [esi + 0x820], bx
mov eax, 1
cmp dword [esi + 0x190], eax
jne 0x51f915
add word [esi + 0x820], ax
mov dx, word [esi + 0x820]
cmp dx, word [esi + 0x81e]
jl case.0x51e890.201
movzx ecx, word [esi + 0x818]
cmp cx, bx
jl 0x51f95b
cmp cx, 0xa
jg 0x51f961
cmp word [esi + 0x49e], di
jl 0x51f95b
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], eax
jmp case.0x51e890.201
cmp cx, 0xa
jl 0x51f97b
cmp cx, 0x14
jg 0x51f981
cmp word [esi + 0x49e], di
jl 0x51f97b
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 0x14
jl 0x51f99f
cmp cx, 0x19
jg 0x51f9a5
cmp word [esi + 0x49e], di
jl 0x51f99f
mov dword [esi + 0x7c8], 0x200
jmp case.0x51e890.201
cmp cx, 0x19
jl 0x51f9c3
cmp cx, 0x1e
jg 0x51f9c9
cmp word [esi + 0x49e], di
jl 0x51f9c3
mov dword [esi + 0x7c8], 0x400
jmp case.0x51e890.201
cmp cx, 0x1e
jl 0x51f9ed
cmp cx, 0x23
jg 0x51f9f3
cmp word [esi + 0x49e], di
jl 0x51f9ed
fld dword [0x87153c]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x51f4ac
cmp cx, 0x23
jl 0x51fa22
cmp cx, 0x28
jg 0x51fa22
cmp word [esi + 0x49e], di
jl 0x51fa22
fld dword [0x85bcdc]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x51fa22
mov dword [esi + 0x7c8], 0x40
jmp case.0x51e890.201
cmp cx, 0x5f
jl case.0x51e890.201
cmp cx, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff38
cmp eax, 6
ja case.0x51e890.201
jmp dword [eax*4 + 0x522878]
fld dword [0x85c8d8]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne case.0x51e890.201
mov dword [esi + 0x770], ebp
jmp case.0x51e890.201
fld dword [0x858978]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp case.0x51e890.201
mov dword [esi + 0x770], ebp
jmp case.0x51e890.201
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51fab9
mov word [esi + 0x818], bx
jmp 0x51fad8
cmp eax, 3
je 0x51fad8
cmp word [esi + 0x818], bx
jne 0x51fad8
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, bx
jl 0x51fafe
cmp cx, 0xa
jg 0x51fb04
cmp word [esi + 0x49e], di
jl 0x51fafe
mov dword [esi + 0x764], ebp
jmp 0x51eb8b
cmp cx, 0xa
jl 0x51fb1e
cmp cx, 0x14
jg 0x51fb24
cmp word [esi + 0x49e], di
jl 0x51fb1e
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 0x14
jl 0x51fb42
cmp cx, 0x19
jg 0x51fb48
cmp word [esi + 0x49e], di
jl 0x51fb42
mov dword [esi + 0x7c8], 0x200
jmp case.0x51e890.201
cmp cx, 0x19
jl 0x51fb66
cmp cx, 0x1e
jg 0x51fb6c
cmp word [esi + 0x49e], di
jl 0x51fb66
mov dword [esi + 0x7c8], 0x400
jmp case.0x51e890.201
cmp cx, 0x1e
jl 0x51fb90
cmp cx, 0x23
jg 0x51fb96
cmp word [esi + 0x49e], di
jl 0x51fb90
fld dword [0x87153c]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x51f4ac
cmp cx, 0x23
jl 0x51fbc5
cmp cx, 0x28
jg 0x51fbc5
cmp word [esi + 0x49e], di
jl 0x51fbc5
fld dword [0x85bcdc]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x51fbc5
mov dword [esi + 0x7c8], 0x40
jmp case.0x51e890.201
cmp cx, 0x5f
jl case.0x51e890.201
cmp cx, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff38
cmp eax, 6
ja case.0x51e890.201
jmp dword [eax*4 + 0x522894]
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51fc1c
mov word [esi + 0x818], bx
jmp 0x51fc50
cmp eax, 3
je 0x51fc50
cmp word [esi + 0x818], bx
jne 0x51fc50
push 0x64
call fcn.004099f0
push 0x1e
mov word [esi + 0x818], ax
call fcn.004099f0
add esp, 8
mov word [esi + 0x81e], ax
mov word [esi + 0x820], bx
mov eax, 1
cmp dword [esi + 0x190], eax
jne 0x51fc64
add word [esi + 0x820], ax
mov cx, word [esi + 0x820]
cmp cx, word [esi + 0x81e]
jl case.0x51e890.201
movzx ecx, word [esi + 0x818]
cmp cx, bx
jl 0x51fcb3
cmp cx, 0xa
jg 0x51fcb9
cmp word [esi + 0x49e], 0x258
jl 0x51fcb3
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], eax
jmp case.0x51e890.201
cmp cx, 0xa
jl 0x51fcce
cmp cx, 0x14
jg 0x51fcd4
cmp word [esi + 0x49e], 0x258
jge 0x51f944
cmp cx, 0x14
jl 0x51fcee
cmp cx, 0x19
jg 0x51fcf4
cmp word [esi + 0x49e], di
jl 0x51fcee
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 0x19
jl 0x51fd36
cmp cx, 0x1e
jg 0x51fd12
cmp word [esi + 0x49e], di
jl 0x51fd12
mov dword [esi + 0x7c8], 0x200
jmp case.0x51e890.201
cmp cx, 0x19
jl 0x51fd36
cmp cx, 0x1e
jg 0x51fd3c
cmp word [esi + 0x49e], di
jl 0x51fd36
mov dword [esi + 0x7c8], 0x400
jmp case.0x51e890.201
cmp cx, 0x1e
jl 0x51fd60
cmp cx, 0x23
jg 0x51fd66
cmp word [esi + 0x49e], di
jl 0x51fd60
fld dword [0x87153c]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x51f4ac
cmp cx, 0x23
jl 0x51fd95
cmp cx, 0x28
jg 0x51fd95
cmp word [esi + 0x49e], di
jl 0x51fd95
fld dword [0x85bcdc]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x51fd95
mov dword [esi + 0x7c8], 0x40
jmp case.0x51e890.201
cmp cx, 0x5f
jl case.0x51e890.201
cmp cx, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff38
cmp eax, 6
ja case.0x51e890.201
jmp dword [eax*4 + 0x5228b0]
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51fdec
mov word [esi + 0x818], bx
jmp 0x51fe0b
cmp eax, 3
je 0x51fe0b
cmp word [esi + 0x818], bx
jne 0x51fe0b
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, bx
jl 0x51fe42
cmp cx, 0xa
jg 0x51fe48
cmp word [esi + 0x49e], di
jl 0x51fe42
fld dword [0x85ba6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x51fe42
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 0xa
jl 0x51fe68
cmp cx, 0xf
jg 0x51fe6e
cmp word [esi + 0x49e], 0x258
jl 0x51fe68
mov dword [esi + 0x7c8], 0x2000
jmp case.0x51e890.201
cmp cx, 0xf
jl 0x51fe8e
cmp cx, 0x14
jg 0x51fe8e
cmp word [esi + 0x49e], 0x258
jl 0x51fe8e
mov dword [esi + 0x7c8], 0x4000
jmp case.0x51e890.201
cmp cx, 0x62
jl case.0x51e890.201
cmp cx, 0x64
jg case.0x51e890.201
cmp byte [esi + 0x5e6], bl
jle case.0x51e890.201
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
add eax, 0xffffff38
cmp eax, 6
ja case.0x51e890.201
jmp dword [eax*4 + 0x5228cc]
mov eax, dword [esi + 0x190]
cmp eax, ebx
jne 0x51fee5
mov word [esi + 0x818], bx
jmp 0x51ff04
cmp eax, 3
je 0x51ff04
cmp word [esi + 0x818], bx
jne 0x51ff04
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x818], ax
movzx ecx, word [esi + 0x818]
cmp cx, bx
jl 0x51ff3a
cmp cx, 5
jg 0x51ff40
cmp word [esi + 0x49e], 0x258
jl 0x51ff3a
fld dword [0x85ba6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x51ff3a
mov dword [esi + 0x7c8], ebp
jmp case.0x51e890.201
cmp cx, 5
jl case.0x51e890.201
cmp cx, 0xa
jg case.0x51e890.201
cmp word [esi + 0x49e], 0x258
jl case.0x51e890.201
fld dword [0x85ba6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne case.0x51e890.201
mov dword [esi + 0x7c8], 4
jmp case.0x51e890.201
fstp st(0)
cmp word [esi + 0x81a], bx
jne 0x521155
cmp word [esi + 0x820], bx
jne 0x51ff97
push 0x64
call fcn.004099f0
add esp, 4
mov word [esi + 0x820], ax
mov ecx, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x51ffbb
cmp byte [esi + 0x104], 0xff
je 0x51ffe1
fld dword [esi + 0xec]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x521155
cmp byte [esi + 0x104], 1
jne 0x521155
movzx eax, word [ecx + 0x13c]
cmp ax, 0x5f
jle 0x51fff8
cmp ax, 0x8c
jl 0x521155
fldz
fcom dword [esi + 0xf0]
fnstsw ax
fcomp dword [ecx + 0xf0]
test ah, 0x44
fnstsw ax
jp 0x520a96
test ah, 0x44
jp 0x520633
cmp byte [esi + 0x5e6], bl
jle 0x52020f
fld dword [esp + 0x10]
fcomp qword [0x857948]
fnstsw ax
test ah, 0x41
jne 0x520069
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
jae 0x520069
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xc8
jne 0x520069
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [0x85bce8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5200bb
fcomp qword [0x8581b0]
fnstsw ax
test ah, 5
jp 0x5200bd
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
jae 0x5200bd
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xc9
jne 0x5200bd
mov dword [esi + 0x770], ebp
jmp 0x521155
fstp st(0)
fld dword [0x85b948]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x5200fd
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, ebp
jae 0x5200fd
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xca
jne 0x5200fd
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [esp + 0x10]
fcomp qword [0x857948]
fnstsw ax
test ah, 0x41
jne 0x52013e
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
jae 0x52013e
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xcb
jne 0x52013e
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [esp + 0x10]
fcom qword [0x857948]
fnstsw ax
test ah, 0x41
jne 0x52018c
fcomp dword [0x85b948]
fnstsw ax
test ah, 5
jp 0x52018e
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 3
jae 0x52018e
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xcc
jne 0x52018e
mov dword [esi + 0x770], ebp
jmp 0x521155
fstp st(0)
fld dword [0x85b948]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x5201ce
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, ebp
jae 0x5201ce
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xcd
jne 0x5201ce
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [0x85bce8]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x52020f
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 3
jae 0x52020f
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xce
jne 0x52020f
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [0x85c8d8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x520289
fcomp qword [0x85b900]
fnstsw ax
test ah, 0x41
jne 0x52028b
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
ja 0x52025d
cmp word [esi + 0x49e], 0x320
jl 0x52025d
mov dword [esi + 0x7c8], 0x20
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
ja 0x52028b
cmp word [esi + 0x49e], 0x320
jl 0x52028b
mov dword [esi + 0x7c8], 0x40
jmp 0x521155
fstp st(0)
fld dword [esp + 0x10]
fcomp qword [0x858f00]
fnstsw ax
test ah, 0x41
jne 0x5202f0
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
ja 0x5202c4
cmp word [esi + 0x49e], 0x258
jl 0x5202c4
mov dword [esi + 0x7c8], ebp
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
ja 0x5202f0
cmp word [esi + 0x49e], 0x258
jl 0x5202f0
mov dword [esi + 0x7c8], 4
jmp 0x521155
fld dword [esp + 0x10]
fcom qword [0x85b828]
fnstsw ax
test ah, 0x41
jp 0x52033a
fcomp qword [0x858f00]
fnstsw ax
test ah, 1
jne 0x52033c
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xf
jae 0x52033c
cmp word [esi + 0x49e], 0x258
jl 0x52033c
mov dword [esi + 0x7c8], 0x400
jmp 0x521155
fstp st(0)
cmp word [esi + 0x892], bx
jle 0x52036f
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xf
jae 0x52036f
cmp word [esi + 0x49e], di
jl 0x52036f
mov dword [esi + 0x7c8], 0x40000000
jmp 0x521155
fld dword [esp + 0x10]
fcomp qword [0x85bc50]
fnstsw ax
test ah, 0x41
jp 0x5203d1
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x3c
jae 0x5203a3
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
fld dword [0x857dd8]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x5203d1
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x28
jae 0x5203d1
mov dword [esi + 0x75c], ebp
jmp 0x521145
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x4b
jae 0x52040c
fld dword [0x85bb50]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x52040a
fcomp dword [0x857dd8]
fnstsw ax
test ah, 0x41
jne 0x52040c
jmp 0x5209c6
fstp st(0)
fld dword [0x85bce8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x52049f
fcomp qword [0x858ef0]
fnstsw ax
test ah, 1
jne 0x5204a1
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x14
jae 0x52045a
cmp word [esi + 0x49e], 0x258
jl 0x52045a
mov dword [esi + 0x7c8], 0x200
jmp 0x521155
fld dword [esp + 0x10]
fcomp qword [0x85bcd0]
fnstsw ax
test ah, 5
jp 0x5204a1
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x32
jae 0x5204a1
movsx eax, byte [esi + 0x104]
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x754], eax
mov dword [esi + 0x758], 1
jmp 0x521155
fstp st(0)
fld dword [esp + 0x10]
fcom qword [0x85bb38]
fnstsw ax
test ah, 1
jne 0x5204e2
fcomp qword [0x85b580]
fnstsw ax
test ah, 0x41
jp 0x5204e4
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x46
jae 0x5204e4
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
fstp st(0)
fld dword [esp + 0x10]
fcom qword [0x85bb38]
fnstsw ax
test ah, 1
jne 0x520532
fcomp qword [0x858f00]
fnstsw ax
test ah, 0x41
jp 0x520534
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x1e
jae 0x520534
movsx ecx, byte [esi + 0x104]
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], ebx
jmp 0x521155
fstp st(0)
mov dx, word [esi + 0x822]
cmp dx, word [esi + 0x49e]
jg 0x521155
fld dword [esp + 0x10]
fcomp qword [0x85b900]
fnstsw ax
test ah, 1
jne 0x52057c
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x52057c
mov dword [esi + 0x760], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
fld dword [esp + 0x10]
fcomp qword [0x857948]
fnstsw ax
test ah, 1
jne 0x5205aa
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x5205aa
mov dword [esi + 0x760], ebp
jmp 0x520eff
fld dword [esp + 0x10]
fcomp qword [0x858f00]
fnstsw ax
test ah, 1
jne 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x5205e2
mov dword [esi + 0x760], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520612
movsx ecx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], ebx
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x521155
mov dword [esi + 0x760], ebp
jmp 0x521145
fld dword [0x85bcd8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5206ae
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 0x41
jne 0x5206b0
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
mov edi, 0x384
ja 0x520684
cmp word [esi + 0x49e], di
jl 0x520684
mov dword [esi + 0x7c8], 0x20
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x5206b0
cmp word [esi + 0x49e], di
jl 0x5206b0
mov dword [esi + 0x7c8], 0x40
jmp 0x521155
fstp st(0)
fld dword [esp + 0x10]
fcomp qword [0x85b580]
fnstsw ax
test ah, 0x41
jne 0x520715
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
ja 0x5206e9
cmp word [esi + 0x49e], 0x258
jl 0x5206e9
mov dword [esi + 0x7c8], ebp
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
ja 0x520715
cmp word [esi + 0x49e], 0x258
jl 0x520715
mov dword [esi + 0x7c8], 4
jmp 0x521155
cmp byte [esi + 0x5e6], bl
jle 0x52090b
fld dword [0x85bce8]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x520762
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jae 0x520762
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xcb
jne 0x520762
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [esp + 0x10]
fcom qword [0x85b8f8]
fnstsw ax
test ah, 0x41
jne 0x5207c1
fcomp dword [0x85c7b8]
fnstsw ax
test ah, 5
jp 0x5207c3
fld dword [esp + 0x14]
fcomp qword [0x85bb38]
fnstsw ax
test ah, 5
jp 0x5207c3
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jae 0x5207c3
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xc9
jne 0x5207c3
mov dword [esi + 0x770], ebp
jmp 0x521155
fstp st(0)
fld dword [esp + 0x10]
fcom qword [0x857948]
fnstsw ax
test ah, 0x41
jne 0x520822
fcomp dword [0x85bcd8]
fnstsw ax
test ah, 5
jp 0x520824
fld dword [0x85bce8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x520824
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jae 0x520824
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xcc
jne 0x520824
mov dword [esi + 0x770], ebp
jmp 0x521155
fstp st(0)
fld dword [0x85b948]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x5208b9
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, ebp
jae 0x520879
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xca
jne 0x520879
fld dword [esp + 0x14]
fcomp qword [0x857990]
fnstsw ax
test ah, 5
jp 0x520879
mov dword [esi + 0x770], ebp
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, ebp
jae 0x5208b9
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xcd
jne 0x5208b9
fld dword [0x85ba6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x5208b9
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [0x85bce8]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x52090b
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 3
jae 0x52090b
push ebx
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xce
jne 0x52090b
fld dword [esp + 0x14]
fcomp qword [0x858f00]
fnstsw ax
test ah, 5
jp 0x52090b
mov dword [esi + 0x770], ebp
jmp 0x521155
fld dword [0x85bce8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x52097f
fcomp qword [0x857b20]
fnstsw ax
test ah, 1
jne 0x520981
fld dword [esp + 0x14]
fcom qword [0x857990]
fnstsw ax
test ah, 0x41
jne 0x52097f
fcomp dword [0x85ba6c]
fnstsw ax
test ah, 5
jp 0x520981
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jae 0x520981
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], 1
jmp 0x521155
fstp st(0)
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x4b
jae 0x5209ea
fld dword [0x85bb50]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5209e8
fcomp dword [0x857dd8]
fnstsw ax
test ah, 0x41
jne 0x5209ea
fld dword [0x85bae0]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x5209ea
push 0x14
mov word [esi + 0x81a], 0x64
call fcn.004099f0
add esp, 4
add eax, 0xa
mov word [esi + 0x81c], ax
jmp 0x521155
fstp st(0)
mov ax, word [esi + 0x822]
cmp ax, word [esi + 0x49e]
jg 0x521155
fld dword [esp + 0x10]
fcomp qword [0x858f00]
fnstsw ax
test ah, 1
jne 0x520a43
fld dword [esp + 0x14]
fcomp qword [0x857948]
fnstsw ax
test ah, 5
jp 0x520a43
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520a43
mov dword [esi + 0x760], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
fld dword [esp + 0x10]
fcomp qword [0x85bb38]
fnstsw ax
test ah, 1
jne 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520a7b
mov dword [esi + 0x764], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x521155
jmp 0x52113f
fld dword [esp + 0x10]
test ah, 0x44
fcom qword [0x85b8f8]
fnstsw ax
jp 0x520d84
test ah, 5
jp 0x520b26
fcomp qword [0x85b900]
fnstsw ax
test ah, 0x41
jne 0x520b28
fld dword [0x857dd8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x520b28
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520afa
cmp word [esi + 0x49e], 0x258
jl 0x520afa
mov dword [esi + 0x7c8], 0x20
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520b28
cmp word [esi + 0x49e], 0x258
jl 0x520b28
mov dword [esi + 0x7c8], 0x40
jmp 0x521155
fstp st(0)
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x520b3e
mov eax, 1
jmp 0x520b40
xor eax, eax
fld dword [esp + 0x10]
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 1
jne 0x520bd9
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x170]
fld dword [edx + 0xf0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x520b94
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x520b96
mov eax, 1
jmp 0x520b98
fstp st(0)
xor eax, eax
fld dword [esp + 0x14]
imul eax, eax, 0x96
add eax, 0x64
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x520bdb
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x14
jae 0x520bdb
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
fstp st(0)
fld dword [0x85bce8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x520c25
fcomp dword [0x85ba6c]
fnstsw ax
test ah, 0x41
jp 0x520c27
fld dword [0x857dd8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x520c27
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jae 0x520c27
jmp 0x520ef9
fstp st(0)
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x520c3d
mov eax, 1
jmp 0x520c3f
xor eax, eax
fld dword [esp + 0x10]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edx, [ecx*8 + 0xb4]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 1
jne 0x520ccb
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x520c91
mov eax, dword [esi + 0x170]
fld dword [esi + 0xf0]
fld dword [eax + 0xf0]
fcompp
fnstsw ax
test ah, 5
jp 0x520c91
mov eax, 1
jmp 0x520c93
xor eax, eax
fld dword [esp + 0x14]
add eax, 3
imul eax, eax, 0x32
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x520ccd
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x4b
jae 0x520ccd
mov dword [esi + 0x75c], ebp
jmp 0x521145
fstp st(0)
mov cx, word [esi + 0x822]
cmp cx, word [esi + 0x49e]
jg 0x521155
fld dword [esp + 0x14]
fcomp qword [0x857948]
fnstsw ax
test ah, 5
jp 0x520cf9
mov eax, 1
jmp 0x520cfb
xor eax, eax
fld dword [esp + 0x10]
imul eax, eax, 0xb4
add eax, 0x78
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 5
jp 0x521096
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x32
jae 0x521096
mov eax, dword [esi + 0x170]
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esp + 0x18], edx
fld dword [eax + 0xec]
sub esp, 8
fsub dword [esi + 0xec]
fild dword [esp + 0x20]
fmulp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
jmp 0x52106d
test ah, 5
jp 0x520dff
fcomp qword [0x85b900]
fnstsw ax
test ah, 0x41
jne 0x520e01
fld dword [0x857dd8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x520e01
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520dd3
cmp word [esi + 0x49e], 0x258
jl 0x520dd3
mov dword [esi + 0x7c8], 0x20
jmp 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
ja 0x520e01
cmp word [esi + 0x49e], 0x258
jl 0x520e01
mov dword [esi + 0x7c8], 0x40
jmp 0x521155
fstp st(0)
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x520e17
mov eax, 1
jmp 0x520e19
xor eax, eax
fld dword [esp + 0x10]
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 1
jne 0x520eb2
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x170]
fld dword [edx + 0xf0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x520e6d
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x520e6f
mov eax, 1
jmp 0x520e71
fstp st(0)
xor eax, eax
fld dword [esp + 0x14]
imul eax, eax, 0x96
add eax, 0x64
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x520eb4
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x14
jae 0x520eb4
mov dword [esi + 0x75c], ebp
mov dword [esi + 0x758], ebx
jmp 0x52114f
fstp st(0)
fld dword [0x85bce8]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x520f17
fcomp dword [0x85ba6c]
fnstsw ax
test ah, 0x41
jp 0x520f19
fld dword [0x857dd8]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x520f19
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jae 0x520f19
mov dword [esi + 0x75c], ebp
movsx eax, byte [esi + 0x104]
mov dword [esi + 0x754], eax
mov dword [esi + 0x758], ebx
jmp 0x521155
fstp st(0)
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x520f2f
mov eax, 1
jmp 0x520f31
xor eax, eax
fld dword [esp + 0x10]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edx, [ecx*8 + 0xb4]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 1
jne 0x520fbd
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x520f83
mov eax, dword [esi + 0x170]
fld dword [esi + 0xf0]
fld dword [eax + 0xf0]
fcompp
fnstsw ax
test ah, 5
jp 0x520f83
mov eax, 1
jmp 0x520f85
xor eax, eax
fld dword [esp + 0x14]
add eax, 3
imul eax, eax, 0x32
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 0x41
jne 0x520fbf
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x4b
jae 0x520fbf
mov dword [esi + 0x75c], ebp
jmp 0x521145
fstp st(0)
mov cx, word [esi + 0x822]
cmp cx, word [esi + 0x49e]
jg 0x521155
fld dword [esp + 0x14]
fcomp qword [0x857948]
fnstsw ax
test ah, 5
jp 0x520feb
mov eax, 1
jmp 0x520fed
xor eax, eax
fld dword [esp + 0x10]
imul eax, eax, 0xb4
add eax, 0x78
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 5
jp 0x521096
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x32
jae 0x521096
mov eax, dword [esi + 0x170]
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x760], ebp
mov dword [esp + 0x18], edx
fld dword [eax + 0xec]
sub esp, 8
fsub dword [esi + 0xec]
fild dword [esp + 0x20]
fmulp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
movsx eax, ax
xor ecx, ecx
neg eax
cmp eax, 0x28
setge cl
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ecx
fld dword [esp + 0x10]
fcomp qword [0x85bb38]
fnstsw ax
test ah, 0x41
jne 0x521155
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
jae 0x5210cf
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], ebx
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 5
jae 0x52110b
fld dword [esp + 0x10]
fcomp qword [0x8581c0]
fnstsw ax
test ah, 0x41
jne 0x52110b
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x764], ebp
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], ebx
push 0x3e8
call fcn.004099f0
add esp, 4
cmp eax, 0x19
jae 0x521155
fld dword [esp + 0x14]
fcomp qword [0x857b20]
fnstsw ax
test ah, 0x41
jne 0x521155
fld dword [0x85bce8]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x521155
mov dword [esi + 0x764], ebp
mov dword [esi + 0x758], 1
mov dword [esi + 0x754], ebx
movsx eax, word [esi + 0x81a]
cmp eax, 0x64
ja case.0x52116c.19
movzx eax, byte [eax + 0x52293c]
jmp dword [eax*4 + 0x5228e8]
cmp word [esi + 0x81c], bx
jg case.0x52116c.19
push 0x64
call fcn.004099f0
fldz
fcom dword [esi + 0xf0]
mov ecx, eax
add esp, 4
mov word [esi + 0x81e], cx
fnstsw ax
test ah, 0x44
jp 0x521c91
mov edx, dword [esi + 0x170]
fcomp dword [edx + 0xf0]
fnstsw ax
fld dword [esp + 0x10]
fcom qword [0x85bc50]
test ah, 0x44
fnstsw ax
jp 0x52173f
test ah, 0x41
jp 0x5212f4
cmp cx, bx
fstp st(0)
jl 0x5211e2
cmp cx, bp
jle 0x521a20
cmp cx, 3
jl 0x5211f2
cmp cx, 5
jle 0x521a3d
cmp cx, 6
jl 0x521202
cmp cx, 8
jle 0x521a5a
cmp cx, 9
jl 0x521212
cmp cx, 0xb
jle 0x521a77
mov dl, byte [esi + 0x104]
fld dword [0x85bcc8]
cmp dl, 1
jne 0x521236
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x521248
cmp dl, 0xff
jne 0x521286
fcom dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x521286
cmp cx, 0x28
jl 0x521267
cmp cx, 0x2c
jg 0x521267
mov word [esi + 0x81a], 3
fstp st(0)
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x2d
jl 0x521286
cmp cx, 0x31
jg 0x521286
pop ebp
fstp st(0)
pop edi
mov word [esi + 0x81a], 6
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x32
jl 0x521299
cmp cx, 0x4a
jg 0x521299
fstp st(0)
jmp 0x5216f2
cmp cx, 0x4b
jl 0x5215d7
cmp cx, 0x59
jg 0x5215d7
cmp dl, 1
jne 0x5212c4
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test dl, ah
je 0x5212e8
cmp dl, 0xff
jne 0x5215d7
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 1
jne 0x5215d9
xor ecx, ecx
cmp dl, 1
jmp 0x522360
xor ecx, ecx
fstp st(0)
cmp dl, 1
jmp 0x522360
fcom qword [0x8581c0]
fnstsw ax
test ah, 0x41
jp 0x521417
cmp cx, bx
fstp st(0)
jl 0x521315
cmp cx, bp
jle 0x521a20
mov ebx, 3
cmp cx, bx
jl 0x521329
cmp cx, 5
jle 0x521a3d
mov edi, 6
cmp cx, di
jl 0x52133d
cmp cx, 8
jle 0x521a5a
cmp cx, 9
jl 0x52134d
cmp cx, 0xb
jle 0x521a77
cmp cx, 0xc
jl 0x52135d
cmp cx, 0xe
jle 0x52252d
cmp cx, 0xf
jl 0x52136d
cmp cx, 0x10
jle 0x5216b7
mov dl, byte [esi + 0x104]
cmp dl, 1
jne 0x52138b
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x5213a3
cmp dl, 0xff
jne 0x5213c3
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x5213c3
cmp cx, 0x14
jl 0x5213b3
cmp cx, 0x18
jle 0x52252d
cmp cx, 0x19
jl 0x5213c3
cmp cx, 0x1d
jle 0x5216b7
cmp cx, 0x1e
jl 0x5213d9
cmp cx, 0x27
jg 0x5213d9
xor eax, eax
cmp dl, 0xff
jmp 0x521542
cmp cx, 0x28
jl 0x5213e9
cmp cx, 0x36
jle 0x52196b
cmp cx, 0x37
jl 0x5213f9
cmp cx, 0x45
jle 0x52153d
cmp cx, 0x46
jl 0x521c78
cmp cx, 0x59
jg 0x521c78
xor ecx, ecx
cmp dl, 1
jmp 0x522360
fld dword [0x85c8dc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x5215f2
cmp cx, bx
fstp st(0)
jl 0x52143a
cmp cx, bp
jle 0x521a20
cmp cx, 3
jl 0x52144a
cmp cx, 0xc
jle 0x521a3d
cmp cx, 0xd
jl 0x52145a
cmp cx, 0xe
jle 0x521a5a
cmp cx, 0xf
jl 0x52146a
cmp cx, 0x11
jle 0x521a77
cmp cx, 0x12
jl 0x52147a
cmp cx, 0x1a
jle 0x521ba5
cmp cx, 0x1b
jl 0x52148a
cmp cx, 0x23
jle 0x521bc2
cmp cx, 0x24
jl 0x5214c9
cmp cx, 0x2c
jg 0x5214c9
xor edx, edx
cmp byte [esi + 0x104], 0xff
push 0x1e
sete dl
add dx, 1
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x1e
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x2d
jl 0x5214fa
cmp cx, 0x54
jg 0x5214fa
push 0x1e
mov word [esi + 0x81a], 9
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x3c
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x55
fld dword [0x85bcc8]
jl 0x52156c
cmp cx, 0x56
jg 0x52156c
mov dl, byte [esi + 0x104]
cmp dl, 1
jne 0x521529
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test dl, ah
je 0x52153b
cmp dl, 0xff
jne 0x52156c
fcom dword [esi + 0xec]
fnstsw ax
test ah, 1
jne 0x52156c
fstp st(0)
xor eax, eax
cmp dl, 1
sete al
push 0x1e
add ax, 1
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x57
jl 0x5215d7
cmp cx, 0x59
jg 0x5215d7
mov cl, byte [esi + 0x104]
cmp cl, 1
jne 0x521595
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test cl, ah
je 0x5215a9
cmp cl, 0xff
jne 0x5215d7
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 1
jne 0x5215d9
jmp 0x5215ab
fstp st(0)
xor edx, edx
cmp cl, 1
sete dl
push 0x1e
add dx, 9
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fstp st(0)
push 0xa
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fcomp dword [0x85c8d4]
fnstsw ax
test ah, 1
jne case.0x52116c.19
cmp cx, bx
jl 0x521611
cmp cx, bp
jle 0x521a20
mov ebx, 3
cmp cx, bx
jl 0x521625
cmp cx, 5
jle 0x521a3d
mov edi, 6
cmp cx, di
jl 0x521639
cmp cx, 8
jle 0x521a5a
cmp cx, 9
jl 0x521649
cmp cx, 0xb
jle 0x521a77
cmp cx, 0xc
jl 0x521659
cmp cx, 0xe
jle 0x52252d
cmp cx, 0xf
jl 0x521665
cmp cx, 0x11
jle 0x5216b7
mov dl, byte [esi + 0x104]
cmp dl, 1
jne 0x521683
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x52169b
cmp dl, 0xff
jne 0x5216c6
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x5216c6
cmp cx, 0x14
jl 0x5216ab
cmp cx, 0x1d
jle 0x52252d
cmp cx, 0x1e
jl 0x5216d6
cmp cx, 0x27
jg 0x5216c6
pop ebp
mov word [esi + 0x81a], di
pop edi
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x1e
jl 0x5216d6
cmp cx, 0x36
jle 0x521bdf
cmp cx, 0x37
jl 0x5216e6
cmp cx, 0x54
jle 0x52221e
cmp cx, 0x50
jl 0x521721
cmp cx, 0x58
jg 0x52172b
xor eax, eax
cmp dl, 1
sete al
push 0x1e
add ax, 1
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x1e
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x58
jl 0x521c78
cmp cx, 0x63
jg 0x521c78
xor ecx, ecx
cmp dl, 1
jmp 0x522360
test ah, 0x41
jp 0x52189a
fstp st(0)
fld dword [esp + 0x14]
fcom qword [0x857b20]
fnstsw ax
test ah, 0x41
jne 0x5217e4
cmp cx, bx
jl 0x52177d
cmp cx, 1
jg 0x52177d
pop ebp
fstp st(0)
pop edi
mov word [esi + 0x81a], 4
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, bp
jl 0x521799
cmp cx, 3
jg 0x521799
fcom qword [0x857948]
fnstsw ax
test ah, 1
je 0x5218d8
cmp cx, 4
jl 0x5217b8
cmp cx, 5
jg 0x5217b8
pop ebp
fstp st(0)
pop edi
mov word [esi + 0x81a], 5
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 6
jl 0x5217e4
cmp cx, 0xa
jg 0x5217e4
fcom qword [0x857948]
fnstsw ax
test ah, 1
jne 0x5217e4
pop ebp
fstp st(0)
pop edi
mov word [esi + 0x81a], 8
pop esi
pop ebx
add esp, 0xc
ret
mov dl, byte [esi + 0x104]
cmp dl, 1
jne 0x521802
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x52181a
cmp dl, 0xff
jne 0x521862
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x521862
cmp cx, 0x19
jl 0x521862
cmp cx, 0x31
jg 0x521862
fcomp qword [0x85bb38]
fnstsw ax
test ah, 1
jne 0x521864
xor eax, eax
cmp dl, 0xff
sete al
push 0x1e
add ax, 9
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fstp st(0)
cmp cx, 0x32
jl 0x521881
cmp cx, 0x45
jg 0x521881
xor ecx, ecx
cmp dl, 1
sete cl
add cx, 1
jmp 0x521e65
cmp cx, 0x46
jl 0x521c78
cmp cx, 0x4f
jg 0x521c78
jmp 0x521e09
fcom qword [0x8581c0]
fnstsw ax
test ah, 0x41
jp 0x521a00
cmp cx, bx
fstp st(0)
jl 0x5218bb
cmp cx, bp
jle 0x521a20
cmp cx, 3
jl 0x5218eb
cmp cx, 6
jg 0x5218eb
fld dword [esp + 0x14]
fcom qword [0x857948]
fnstsw ax
test ah, 1
jne 0x5218ef
pop ebp
fstp st(0)
pop edi
mov word [esi + 0x81a], 7
pop esi
pop ebx
add esp, 0xc
ret
fld dword [esp + 0x14]
cmp cx, 7
jl 0x5218ff
cmp cx, 0xa
jle 0x5217a5
cmp cx, 0xb
jl 0x52191c
cmp cx, 0x10
jg 0x52191c
fcom qword [0x857948]
fnstsw ax
test ah, 1
je 0x5217d1
mov dl, byte [esi + 0x104]
cmp dl, 1
jne 0x52193a
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x521952
cmp dl, 0xff
jne 0x52199a
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x52199a
cmp cx, 0x23
jl 0x52199a
cmp cx, 0x32
jg 0x52199a
fcomp qword [0x858f00]
fnstsw ax
test ah, 1
jne 0x52199c
xor ecx, ecx
cmp dl, 0xff
sete cl
push 0x1e
add cx, 9
mov word [esi + 0x81a], cx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fstp st(0)
cmp cx, 0x32
jl 0x5219ac
cmp cx, 0x45
jle 0x52153d
cmp cx, 0x46
jl 0x5219e7
cmp cx, 0x54
jg 0x5219e7
xor ecx, ecx
cmp dl, 0xff
sete cl
push 0x1e
add cx, 1
mov word [esi + 0x81a], cx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x55
jl 0x521c78
cmp cx, 0x5e
jg 0x521c78
jmp 0x521e09
fld dword [0x85c850]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x521b10
cmp cx, bx
fstp st(0)
jl 0x521a31
cmp cx, 3
jg 0x521a31
pop ebp
pop edi
mov word [esi + 0x81a], 4
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 4
jl 0x521a4e
cmp cx, 9
jg 0x521a4e
pop ebp
pop edi
mov word [esi + 0x81a], 7
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0xa
jl 0x521a6b
cmp cx, 0xb
jg 0x521a6b
pop ebp
pop edi
mov word [esi + 0x81a], 5
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0xc
jl 0x521a88
cmp cx, 0xd
jg 0x521a88
pop ebp
pop edi
mov word [esi + 0x81a], 8
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0xe
jl 0x521a98
cmp cx, 0x14
jle 0x521ba5
cmp cx, 0x15
jl 0x521aa8
cmp cx, 0x19
jle 0x521bc2
cmp cx, 0x28
jl 0x521ac9
cmp cx, 0x36
jg 0x521ac9
xor ecx, ecx
cmp byte [esi + 0x104], 0xff
sete cl
add cx, 1
jmp 0x521e65
cmp cx, 0x37
jl 0x521c78
cmp cx, 0x5f
jg 0x521c78
xor edx, edx
cmp byte [esi + 0x104], 0xff
push 0x1e
sete dl
add dx, 9
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x2d
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fld qword [0x85b8f8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x52125d
cmp cx, bx
jl 0x521b34
cmp cx, 1
jle 0x52176a
cmp cx, bp
jl 0x521b43
cmp cx, 3
jle 0x5218d8
cmp cx, 4
jl 0x521b53
cmp cx, 7
jle 0x5217a5
cmp cx, 8
jl 0x521b63
cmp cx, 0xd
jle 0x5217d1
mov dl, byte [esi + 0x104]
cmp dl, 1
jne 0x521b7f
fld dword [esi + 0xec]
fcompp
fnstsw ax
test ah, 5
jnp 0x521b99
jmp 0x521b81
fstp st(0)
cmp dl, 0xff
jne 0x521bd3
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x521bd3
cmp cx, 0x28
jl 0x521bb6
cmp cx, 0x31
jg 0x521bb6
pop ebp
pop edi
mov word [esi + 0x81a], 3
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x32
jl 0x521c0e
cmp cx, 0x3b
jg 0x521bd3
pop ebp
pop edi
mov word [esi + 0x81a], 6
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x32
jl 0x521c0e
cmp cx, 0x36
jg 0x521c0e
xor eax, eax
cmp dl, 0xff
sete al
push 0x1e
add ax, 1
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xa
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x37
jl 0x521c1e
cmp cx, 0x4f
jle 0x521dee
cmp cx, 0x50
jl 0x521c59
cmp cx, 0x5e
jg 0x521c59
xor eax, eax
cmp dl, 1
sete al
push 0x28
add ax, 1
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x1e
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x5f
jl 0x521c78
cmp cx, 0x63
jg 0x521c78
xor ecx, ecx
cmp dl, 1
sete cl
add cx, 9
mov word [esi + 0x81a], cx
push 0xa
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
mov edi, dword [esi + 0x170]
fcom dword [edi + 0xf0]
fnstsw ax
test ah, 0x44
jp 0x521fd7
fcomp dword [edi + 0xf0]
fnstsw ax
test ah, 0x44
jp case.0x52116c.19
fld dword [esp + 0x10]
fcom qword [0x85bc50]
fnstsw ax
test ah, 0x41
jp 0x521d69
mov dl, byte [esi + 0x104]
fstp st(0)
cmp dl, 1
jne 0x521cee
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x521d06
cmp dl, 0xff
jne 0x521d36
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x521d36
cmp cx, bx
jl 0x521d26
cmp cx, 0x1d
jg 0x521d26
fld dword [esp + 0x14]
fcomp qword [0x857948]
fnstsw ax
test ah, 0x41
je 0x521833
cmp cx, 0x1e
jl 0x521d36
cmp cx, 0x2c
jle 0x5221a4
cmp cx, 0x2d
jl 0x522681
cmp cx, 0x3b
jg 0x522681
fld dword [0x85ba6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x522681
xor ecx, ecx
cmp dl, 1
jmp 0x522360
fcom qword [0x8581c0]
fnstsw ax
test ah, 0x41
jp 0x521e35
mov dl, byte [esi + 0x104]
fstp st(0)
cmp dl, 1
jne 0x521d9a
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x521db2
cmp dl, 0xff
jne 0x521de2
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x521de2
cmp cx, bx
jl 0x521dd2
cmp cx, 0x1d
jg 0x521dd2
fld dword [esp + 0x14]
fcomp qword [0x857b20]
fnstsw ax
test ah, 0x41
je 0x5221e6
cmp cx, 0x1e
jl 0x521de2
cmp cx, 0x2c
jle 0x5221a4
cmp cx, 0x2d
jl 0x521df5
cmp cx, 0x36
jg 0x521df5
xor ecx, ecx
cmp dl, 0xff
jmp 0x521e5e
cmp cx, 0x37
jl 0x5223f9
cmp cx, 0x40
jg 0x5223f9
xor eax, eax
cmp dl, 1
sete al
push 0x1e
add ax, 9
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fld dword [0x85b948]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x521ecf
cmp cx, bx
fstp st(0)
jl 0x521e88
cmp cx, 0x22
jg 0x521e88
xor ecx, ecx
cmp byte [esi + 0x104], 0xff
sete cl
add cx, 9
push 0x1e
mov word [esi + 0x81a], cx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x14
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x23
jl 0x521c78
cmp cx, 0x27
jg 0x521c78
xor edx, edx
cmp byte [esi + 0x104], 1
push 0x1e
sete dl
add dx, 9
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xa
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 1
jne case.0x52116c.19
cmp cx, bx
jl 0x521f1e
cmp cx, 9
jg 0x521f1e
xor eax, eax
cmp byte [esi + 0x104], 0xff
push 0xf
sete al
add ax, 9
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0xa
jl 0x521f4f
cmp cx, 0x13
jg 0x521f4f
push 0x1e
mov word [esi + 0x81a], 0xb
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x1e
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x14
jl 0x521f80
cmp cx, 0x18
jg 0x521f80
push 0x1e
mov word [esi + 0x81a], 0xc
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0x14
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x2d
jl 0x521f90
cmp cx, 0x36
jle 0x5222ad
cmp cx, 0x37
jl 0x521c78
cmp cx, 0x40
jg 0x521c78
xor edx, edx
cmp byte [esi + 0x104], 1
push 0x14
sete dl
add dx, 9
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fstp st(0)
fld dword [esp + 0x10]
fcom qword [0x85bc50]
fnstsw ax
test ah, 0x41
jp 0x522133
cmp cx, bx
fstp st(0)
jl 0x52202b
cmp cx, 5
jg 0x52202b
xor eax, eax
cmp byte [esi + 0x104], 1
push 0x1e
sete al
add ax, 9
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fld dword [0x858978]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x522681
fld dword [esi + 0xf0]
fld dword [edi + 0xf0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5220a6
cmp cx, 5
jl 0x522086
cmp cx, 9
jg 0x522086
push 0x1e
mov word [esi + 0x81a], 0xc
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0xa
jl 0x522096
cmp cx, 0xe
jle 0x5221a4
cmp cx, 0xf
jl 0x5220a6
cmp cx, 0x18
jle 0x5222ad
fld dword [esi + 0xf0]
fld dword [edi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jp 0x522681
cmp cx, 0x19
jl 0x5220cf
cmp cx, 0x1b
jle 0x522393
cmp cx, 0x1c
jl 0x5220df
cmp cx, 0x1f
jle 0x5223c4
cmp cx, 0x20
jl 0x5220ef
cmp cx, 0x23
jle 0x52226c
cmp cx, 0x24
jl 0x522681
cmp cx, 0x27
jg 0x522681
xor edx, edx
cmp byte [esi + 0x104], 1
push 0x1e
sete dl
add dx, 9
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fcom qword [0x8581c0]
fnstsw ax
test ah, 0x41
jp 0x522291
mov dl, byte [esi + 0x104]
fstp st(0)
cmp dl, 1
jne 0x522164
fld dword [esi + 0xec]
fcomp qword [0x85b8f8]
fnstsw ax
test ah, 5
jnp 0x522184
cmp dl, 0xff
jne 0x522212
fld dword [0x85bcc8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x522212
cmp cx, bx
jl 0x5221c9
cmp cx, 0xe
jg 0x5221c9
fld dword [esi + 0xf0]
fld dword [edi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jp 0x5221c9
push 0x1e
mov word [esi + 0x81a], 0xb
call fcn.004099f0
add esp, 4
pop ebp
add eax, 0xf
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0xf
jl 0x522212
cmp cx, 0x1d
jg 0x522212
fld dword [0x85ba6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x522212
xor eax, eax
cmp dl, 0xff
sete al
push 0x1e
add ax, 9
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x1e
jl 0x522228
cmp cx, 0x22
jg 0x522228
xor ecx, ecx
cmp dl, 0xff
jmp 0x522360
cmp cx, 0x23
jl 0x522238
cmp cx, 0x2c
jle 0x521e09
cmp cx, 0x2d
jl 0x522248
cmp cx, 0x2f
jle 0x522393
cmp cx, 0x30
jl 0x522258
cmp cx, 0x32
jle 0x5223c4
cmp cx, 0x33
jl 0x522681
cmp cx, 0x36
jg 0x522681
push 0x14
mov word [esi + 0x81a], 0x12
call fcn.004099f0
add esp, 4
pop ebp
add eax, 5
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fld dword [0x85b948]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x5222ff
cmp cx, bx
fstp st(0)
jl 0x5222bb
cmp cx, 3
jg 0x5222bb
xor ecx, ecx
cmp byte [esi + 0x104], 0xff
jmp 0x522360
cmp cx, 4
jl 0x52236e
cmp cx, 5
jg 0x52236e
xor edx, edx
cmp byte [esi + 0x104], 1
push 0x1e
sete dl
add dx, 9
mov word [esi + 0x81a], dx
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
fcomp dword [0x858978]
fnstsw ax
test ah, 1
jne case.0x52116c.19
cmp cx, bx
jl 0x52234b
cmp cx, 4
jg 0x52234b
xor eax, eax
cmp byte [esi + 0x104], 0xff
push 0x1e
sete al
add ax, 9
mov word [esi + 0x81a], ax
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 5
jl 0x522387
cmp cx, 9
jg 0x522387
xor ecx, ecx
cmp byte [esi + 0x104], 1
sete cl
add cx, 9
mov word [esi + 0x81a], cx
push 0x1e
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x2d
jl 0x5223b8
cmp cx, 0x2f
jg 0x5223b8
push 0x14
mov word [esi + 0x81a], 0x11
call fcn.004099f0
add esp, 4
pop ebp
add eax, 5
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x30
jl 0x5223e9
cmp cx, 0x32
jg 0x5223e9
push 0x14
mov word [esi + 0x81a], 0x10
call fcn.004099f0
add esp, 4
pop ebp
add eax, 5
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp cx, 0x33
jl 0x5223f9
cmp cx, 0x36
jle 0x52226c
push 0x28
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
cmp word [esi + 0x81c], bx
mov dword [esi + 0x754], 1
jg case.0x52116c.19
push 0x64
mov word [esi + 0x81a], bx
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jmp 0x52267b
cmp word [esi + 0x81c], bx
mov dword [esi + 0x754], 0xffffffff
jg case.0x52116c.19
push 0x64
mov word [esi + 0x81a], bx
call fcn.004099f0
add esp, 4
cmp eax, 0xa
jmp 0x52267b
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x754], edx
mov dword [esi + 0x758], 0xffffffff
jmp 0x5224d5
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], 0xffffffff
jmp 0x5224d5
mov dword [esi + 0x754], 1
mov dword [esi + 0x758], 0xffffffff
jmp 0x5224d5
mov dword [esi + 0x7c4], 0x10
jmp 0x5224d5
mov dword [esi + 0x7c4], 4
jmp 0x5224d5
mov dword [esi + 0x7c4], 8
fldz
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp case.0x52116c.19
jmp 0x522667
mov al, byte [esi + 0x104]
xor edx, edx
cmp al, 1
setne dl
movsx ecx, al
movzx eax, word [esi + 0x13c]
add edx, 1
cmp ax, 0xc8
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], ebx
mov dword [esi + 0x7c4], edx
je 0x52265a
cmp ax, 0xca
je 0x52265a
pop ebp
pop edi
mov word [esi + 0x81a], bx
pop esi
pop ebx
add esp, 0xc
ret
mov al, byte [esi + 0x104]
movsx ecx, al
neg ecx
xor edx, edx
cmp al, 0xff
movzx eax, word [esi + 0x13c]
setne dl
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], ebx
add edx, 1
cmp ax, 0xc9
mov dword [esi + 0x7c4], edx
je 0x52265a
cmp ax, 0xcb
jmp 0x522527
movsx eax, byte [esi + 0x104]
mov dword [esi + 0x754], eax
mov dword [esi + 0x758], 0xffffffff
mov dword [esi + 0x768], 1
jmp 0x52264b
mov dword [esi + 0x754], ebx
mov dword [esi + 0x758], 0xffffffff
mov dword [esi + 0x768], 1
jmp 0x52264b
movsx ecx, byte [esi + 0x104]
neg ecx
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], 0xffffffff
mov dword [esi + 0x768], 1
jmp 0x52264b
movsx edx, byte [esi + 0x104]
mov dword [esi + 0x754], edx
jmp 0x522602
movsx eax, byte [esi + 0x104]
neg eax
mov dword [esi + 0x754], eax
mov dword [esi + 0x758], ebx
mov dword [esi + 0x768], 1
jmp 0x52264b
movsx ecx, byte [esi + 0x104]
mov dword [esi + 0x754], ecx
jmp 0x52263a
mov dword [esi + 0x754], ebx
jmp 0x52263a
movsx edx, byte [esi + 0x104]
neg edx
mov dword [esi + 0x754], edx
mov eax, 1
mov dword [esi + 0x758], eax
mov dword [esi + 0x768], eax
cmp word [esi + 0x13c], 0xd6
jne 0x52252d
cmp word [esi + 0x81c], bx
jg case.0x52116c.19
push 0x64
mov word [esi + 0x81a], bx
call fcn.004099f0
add esp, 4
cmp eax, 0x64
ja case.0x52116c.19
push 0x3c
call fcn.004099f0
add esp, 4
pop ebp
pop edi
mov word [esi + 0x81c], ax
pop esi
pop ebx
add esp, 0xc
ret
mov al, byte [esi + 0x104]
xor edx, edx
cmp al, 1
setne dl
movsx ecx, al
mov dword [esi + 0x754], ecx
mov dword [esi + 0x758], ebx
mov dword [esi + 0x75c], ebx
add edx, 1
cmp word [esi + 0x81c], bx
mov dword [esi + 0x7c4], edx
mov dword [esi + 0x760], ebx
mov dword [esi + 0x764], ebx
mov dword [esi + 0x768], ebx
jle 0x522667
cmp word [esi + 0x13c], 0xc8
jne case.0x52116c.19
fld dword [esp + 0x10]
fcomp qword [0x85bcf8]
fnstsw ax
test ah, 5
jp case.0x52116c.19
mov dword [esi + 0x75c], ebp
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret