Function at 0x5107b0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb34
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
cmp eax, esi
push edi
jne 0x511f7c
mov eax, dword [esi + 0x1f0]
test eax, eax
jne 0x511f7c
mov ax, word [esi + 0x80]
cmp ax, 0xa8
je 0x513888
cmp ax, 0xa9
je 0x51384e
cmp ax, 0xaa
je 0x51384e
mov eax, dword [esi + 0xb50]
test eax, eax
lea edi, [esi + 0xb50]
mov ebx, bind
je 0x510976
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x714e
lea ecx, [esp + 0x64]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
test eax, eax
je 0x510976
cmp dword [esi + 0xba8], ebx
jne 0x510976
mov ecx, esi
call fcn.004f21f0
test al, al
jne 0x510976
mov ecx, esi
call fcn.00419790
test al, al
jne 0x510976
mov ecx, esi
call fcn.004f2780
test al, al
jne 0x510976
mov ecx, esi
call fcn.00419830
test al, al
jne 0x510976
push 0
push 0
call fcn.005fc670
add esp, 8
test eax, eax
jl 0x5108d7
mov ecx, dword [0x6f223c]
push 0x2c
push ecx
push eax
call fcn.005fcfc0
add esp, 0xc
cmp word [0x6e0be4], 0xa3
jne 0x5108fb
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x51091d
push 0
push 0x60
mov ecx, 0x6ddda8
call fcn.00486ae0
jmp 0x51091d
push 0
push 0
call fcn.005fc670
add esp, 8
test eax, eax
jl 0x51091d
mov edx, dword [0x6f223c]
push 0x2f
push edx
push eax
call fcn.005fcfc0
add esp, 0xc
mov ecx, 0x725b20
call fcn.00526c00
cmp eax, ebx
mov dword [esi + 0xba8], eax
jne 0x51093b
mov dword [esi + 0xba8], 0x7ffffffe
mov ecx, esi
mov dword [esi + 0xbac], ebx
call fcn.00508040
cmp dword [edi], 0
je 0x510960
cmp byte [esi + 9], 3
je 0x510960
push 0
push 3
mov ecx, esi
call fcn.004f8fb0
jmp 0x510976
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x9c
mov ecx, esi
call fcn.004f43b0
mov eax, dword [esi + 0x17a0]
test eax, eax
je 0x510a7e
cmp dword [esi + 0xba8], ebx
jne 0x510a7e
mov ecx, esi
call fcn.00419810
test al, al
je 0x510a7e
mov eax, dword [0x6f2234]
test byte [eax + 0x458], 4
jbe 0x510a67
mov ecx, dword [edi]
test ecx, ecx
je 0x510a67
movaps xmm0, xmmword [esi + 0x40]
lea edx, [esp + 0x60]
push edx
movaps xmmword [esp + 0x14], xmm0
call fcn.005ef730
mov ecx, eax
call fcn.005efd30
fld dword [0x690884]
movaps xmm0, xmmword [eax]
fadd st(0), st(0)
subps xmm0, xmmword [esp + 0x10]
mulps xmm0, xmm0
movaps xmm1, xmm0
fld st(0)
movaps xmm2, xmm0
fmul st(1)
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fcompp
fnstsw ax
fstp st(0)
test ah, 1
je 0x510a67
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 0x60
lea ecx, [esp + 0x64]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
test eax, eax
jne 0x510a7e
movzx eax, byte [ebp + 0x10]
lea eax, [eax + eax*4]
push eax
mov ecx, esi
call fcn.0050e820
test al, al
jne case.0x51145f.91
mov eax, dword [esi + 0x200]
mov ebx, 0x6bff50
cmp eax, ebx
je 0x510ad7
mov ecx, esi
call fcn.00507c30
test al, al
jne 0x510ad7
mov ecx, esi
call fcn.004f2660
test al, al
jne 0x510ad7
mov ax, word [esi + 0x80]
cmp ax, 0xdd
je 0x510ad7
cmp ax, 0xde
je 0x510ad7
cmp ax, 0xdf
je 0x510ad7
mov eax, dword [esi + 4]
and eax, 0xf87fffff
mov dword [esi + 0x200], ebx
mov dword [esi + 0x17a0], 0
mov dword [esi + 4], eax
mov ecx, esi
call fcn.004198b0
test al, al
mov ecx, esi
je 0x511202
call fcn.00419850
test al, al
je 0x510b59
lea ecx, [esp + 0xc0]
push 0x40490fdb
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea edx, [esp + 0x84]
push edx
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
xor eax, eax
movaps xmmword [edi + 0x20], xmm0
cmp byte [esi + 9], 3
setne al
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
dec eax
and eax, 0x46
add eax, 0x56
push eax
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, esi
call fcn.00507c30
test al, al
je 0x511026
mov ax, word [esi + 0x80]
cmp ax, 0xc7
jne 0x510fb6
push 0x1f
mov ecx, esi
call fcn.005ef7a0
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x200]
cmp word [eax], 0xc7
jne 0x510b9c
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x200], ecx
mov edx, dword [esi + 0x200]
movsx eax, word [edx]
mov ecx, dword [esi + 0x1d4]
movzx ecx, byte [eax + ecx]
push 0xffffffffffffffff
lea edx, [ecx + ecx*4]
mov ecx, dword [edx*4 + 0x6eb770]
mov edx, dword [esi + 0x90]
push 0x3f800000
lea ebx, [esi + 0x90]
push 1
push edx
mov edx, dword [esi + 0x1d0]
movzx eax, byte [edx + eax]
mov ecx, dword [ecx + eax*4 + 4]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004196b0
mov edx, dword [esp + 0xc]
push 0x3f800000
push ebx
push edx
call fcn.005e7f00
mov ebx, dword [edi]
add esp, 0xc
test ebx, ebx
je 0x510f94
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call fcn.005efd30
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.005efd30
mov edx, dword [esp + 0xc]
movaps xmm0, xmmword [eax]
movaps xmm1, xmmword [edx]
subps xmm0, xmm1
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0
movss xmm1, dword [eax]
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm2, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm2, xmm4
addss xmm2, xmm3
movaps xmmword [esp + 0x10], xmm2
fld dword [esp + 0x10]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x20], xmm1
fnstsw ax
test ah, 0x41
jne 0x510cba
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x10], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x10]
shufps xmm0, xmm0, 0
mulps xmm1, xmm0
movaps xmmword [esp + 0x10], xmm1
lea eax, [esp + 0x10]
jmp 0x510cbe
lea eax, [esp + 0x20]
movaps xmm0, xmmword [eax]
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
movaps xmmword [esp + 0x24], xmm0
call fcn.00402700
mov edx, dword [esi + 0x200]
mov ax, word [edx]
cmp ax, 0xc8
jne 0x510d16
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x4e
push ecx
mov eax, esp
mov dword [eax], 6
mov eax, dword [esi + 0x200]
movsx eax, word [eax]
jmp 0x510d98
cmp ax, 0xc9
jne 0x510d3c
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x4f
jmp 0x510d86
cmp ax, 0xca
jne 0x510d62
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x52
jmp 0x510d86
cmp ax, 0xcb
jne 0x510dbb
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x53
push ecx
mov eax, esp
mov dword [eax], 6
mov edx, dword [esi + 0x200]
movsx eax, word [edx]
mov ecx, dword [esi + 0x1d4]
movzx ecx, byte [eax + ecx]
lea edx, [ecx + ecx*4]
mov ecx, dword [edx*4 + 0x6eb770]
mov edx, dword [esi + 0x1d0]
movzx eax, byte [edx + eax]
jmp 0x510e5f
cmp ax, 0xcc
jne 0x510de1
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x54
jmp 0x510e2f
cmp ax, 0xcd
jne 0x510e07
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x55
jmp 0x510e2f
cmp ax, 0xce
jne 0x510f94
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0x56
push ecx
mov eax, esp
mov dword [eax], 6
mov edx, dword [esi + 0x200]
movsx eax, word [edx]
mov ecx, dword [esi + 0x1d4]
movzx ecx, byte [eax + ecx]
lea edx, [ecx + ecx*4]
mov ecx, dword [edx*4 + 0x6eb770]
mov edx, dword [esi + 0x1d0]
movzx eax, byte [eax + edx]
mov ecx, dword [ecx + eax*4 + 4]
movzx eax, word [ecx + 2]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov edx, dword [esi + 0x200]
push ecx
movsx ecx, word [edx]
mov eax, esp
push esi
mov dword [eax], ecx
lea ecx, [esp + 0x60]
push 0x1f
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
test eax, eax
jle 0x510f70
mov eax, dword [0x76ba40]
test eax, eax
je 0x510f15
mov edi, dword [edi]
push edi
call fcn.004024d0
add esp, 4
test al, al
je 0x510f15
mov ecx, dword [esi + 0x200]
movsx eax, word [ecx]
mov edx, dword [edi + 0xb40]
mov edx, dword [edx + 0x24]
mov ebx, dword [esi + 0x1d0]
movzx ebx, byte [eax + ebx]
movzx ecx, byte [ecx]
push edx
mov edx, dword [esi + 0x1d4]
movzx edx, byte [eax + edx]
movzx eax, byte [eax + 0x6c0174]
lea edx, [edx + edx*4]
mov edx, dword [edx*4 + 0x6eb770]
mov edx, dword [edx + ebx*4 + 4]
movzx edx, byte [edx + 2]
push edx
push eax
push 6
push ecx
push edi
mov ecx, esi
call fcn.004f4e70
mov edx, dword [esi + 0x200]
push 0
push 0
xor eax, eax
mov ax, word [edx]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push eax
jmp 0x510f2b
mov ecx, dword [esi + 0x200]
push 1
push 0
xor edx, edx
mov dx, word [ecx]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push edx
mov ecx, esi
call fcn.004f43b0
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x200]
and edx, 0xf87fffff
mov dword [esi + 0x204], 0xffffffff
mov dword [esi + 0x208], 0xffffffff
mov dword [esi + 4], edx
mov edi, edx
call fcn.00507b30
or eax, edi
mov dword [esi + 4], eax
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
jge 0x510f94
xor ecx, ecx
push 1
cmp eax, 0xffffffff
push 1
setne cl
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
add ecx, 0xe6
push ecx
mov ecx, esi
call fcn.004f43b0
jmp 0x510fd8
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0xf7
mov ecx, esi
call fcn.004f43b0
mov dword [esi + 0x200], 0x6bff50
jmp 0x510fd8
cmp ax, 0xcf
push 1
jne 0x510ff5
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x9c
mov ecx, esi
call fcn.004f43b0
mov dword [esi + 0x200], ebx
and dword [esi + 4], 0xf87fffff
mov dword [esi + 0x17a0], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esi + 0x90]
movzx eax, ax
xor ecx, ecx
mov dword [esi + 0xb7c], edx
mov cx, word [eax*2 + 0x721258]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 3
mov ecx, esi
jne 0x5111e5
call fcn.004197f0
test al, al
je 0x511119
mov ecx, esi
call fcn.00507c30
test al, al
jne 0x511119
mov ax, word [esi + 0x80]
cmp ax, 0xd1
mov dword [esi + 0xb7c], 0xcb000000
je 0x5110bd
cmp ax, 0xd5
je 0x5110bd
cmp ax, 0xd3
jne 0x511094
lea edx, [esp + 0xc0]
push 0xc03de44f
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0x84]
push eax
jmp 0x5110de
cmp ax, 0xd0
jne 0x5110fb
lea ecx, [esp + 0xc0]
push 0x3f9c61aa
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea edx, [esp + 0x84]
push edx
jmp 0x5110de
lea eax, [esp + 0xc0]
push 0x40490fdb
push eax
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x9c
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, esi
call fcn.00419890
test al, al
je 0x51117d
movzx eax, word [esi + 0x80]
shl eax, 1
mov cx, word [eax + 0x721258]
test cx, cx
je 0x51117d
mov ax, word [eax + 0x720f50]
test ax, ax
push 1
je 0x511165
push 0
push 0xffffffffffffffff
movsx edx, ax
push 0xffffffffffffffff
push edx
push ecx
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, esi
call fcn.00419830
test al, al
push 1
push 0
push 0xffffffffffffffff
mov ecx, esi
push 0xffffffffffffffff
je 0x5111cd
cmp word [esi + 0x80], 0xc3
jne 0x5111b5
push 5
push 0x101
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xf
push 0xa0
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xf
push 0x9c
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xf
push 0x56
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.004f21b0
test al, al
mov ecx, esi
je 0x511280
call fcn.00507c10
test al, al
je 0x511234
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xea
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movaps xmm0, xmmword [esi + 0xc50]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmmword [esp + 0x20], xmm1
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 5
mov eax, 0xae
jnp 0x511262
mov eax, 0x9c
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 8
push eax
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.004f2780
test al, al
je 0x511440
mov ecx, esi
call fcn.00419790
test al, al
jne 0x511440
mov ecx, esi
call fcn.004f21f0
test al, al
jne 0x511440
mov ecx, esi
call fcn.004f2360
test al, al
je 0x5113c3
cmp byte [esi + 9], 2
jne 0x5113a4
movzx eax, word [esi + 0x80]
add eax, 0xfffffeb2
cmp eax, 0x13
ja case.0x5112dc.336
movzx eax, byte [eax + 0x5138f8]
jmp dword [eax*4 + 0x5138e4]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x15f
jmp 0x511336
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x15e
jmp 0x511336
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x14d
jmp 0x511336
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push 0x14c
jmp 0x511336
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x11d
mov ecx, esi
call fcn.004f43b0
fld dword [esi + 0x1e0]
fcomp dword [0x68c460]
fnstsw ax
test ah, 0x41
jp 0x5136d9
push 4
call fcn.00401930
add esp, 4
test eax, eax
jne 0x5136d9
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x5136d9
push 0x2b
mov ecx, 0x6ddda8
call fcn.00485250
cmp eax, 0x258
jle 0x5136d9
push 0
push 0x2b
mov ecx, 0x6ddda8
call fcn.00486ae0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x56
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp word [esi + 0x80], 0xf7
je case.0x51145f.161
mov ecx, dword [0x690884]
push ecx
mov ecx, esi
call fcn.004f75c0
test eax, eax
je 0x511411
push eax
mov ecx, edi
call fcn.00401a50
mov byte [esi + 0xbd7], 1
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x9c
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
xor edx, edx
cmp al, 3
setne dl
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
mov ecx, esi
dec edx
and edx, 0x46
add edx, 0x56
push edx
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov cx, word [esi + 0x80]
movzx ebx, cx
lea eax, [ebx - 0xb]
cmp eax, 0x178
ja case.0x51145f.12
movzx eax, byte [eax + 0x513a6c]
jmp dword [eax*4 + 0x51390c]
cmp word [0x6e0be4], 0xa3
jne 0x51154b
call fcn.005f2050
fcomp dword [0x68b6c0]
fnstsw ax
test ah, 5
jp 0x511f7c
call fcn.005f2010
test al, 3
jne 0x5114be
cmp word [0x6e0be4], 0xa3
jne 0x5114be
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x5d
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.005f2010
test al, 1
je 0x5136d9
call fcn.005f2010
test al, 1
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
push 0xa
je 0x5114e4
push 0x59
jmp 0x5114e6
push 0x58
call fcn.004f43b0
call fcn.005f2010
test al, 1
je 0x5136d9
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x5136d9
push 0x4f
mov ecx, 0x6ddda8
call fcn.00485250
cmp eax, 0x258
jle 0x5136d9
mov ecx, dword [0x725b2c]
sub ecx, dword [0x6de114]
cmp ecx, 0x78
jle 0x5136d9
push 0
push 0x4f
mov ecx, 0x6ddda8
call fcn.00486ae0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.005f2050
fcomp dword [0x68b62c]
fnstsw ax
test ah, 5
jp 0x511f7c
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
call fcn.005f2010
and eax, 1
or eax, 0x58
push eax
mov ecx, esi
call fcn.004f43b0
call fcn.005f2010
test al, 1
je 0x5136d9
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x5136d9
push 0x4f
mov ecx, 0x6ddda8
call fcn.00485250
cmp eax, 0x258
jle 0x5136d9
mov edx, dword [0x725b2c]
sub edx, dword [0x6de114]
cmp edx, 0x78
jle 0x5136d9
push 0
push 0x4f
mov ecx, 0x6ddda8
call fcn.00486ae0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0xe4c], 2
jbe 0x511f7c
mov ecx, esi
call fcn.004f2c10
test al, al
je 0x511f7c
mov al, byte [esi + 0xbd7]
test al, al
jne 0x511f7c
cmp byte [esi + 9], 8
je 0x511f7c
mov ecx, esi
call fcn.004fa390
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x65
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x56
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esp + 0x100]
push eax
mov ecx, esi
call fcn.005efd30
lea ecx, [esp + 0x120]
push ecx
mov ecx, dword [esi + 0xe60]
mov edi, eax
call fcn.005efd30
movaps xmm1, xmmword [edi]
movaps xmm0, xmmword [eax]
subps xmm0, xmm1
lea edx, [esp + 0xc]
mov dword [esp + 0xc], 0
movss xmm1, dword [edx]
unpcklps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm2, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm2, xmm4
addss xmm2, xmm3
movaps xmmword [esp + 0x20], xmm2
fld dword [esp + 0x20]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x30], xmm1
fnstsw ax
test ah, 0x41
jne 0x51170d
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm3, xmm0, 0x55
addss xmm0, xmm3
addss xmm0, xmm2
movaps xmmword [esp + 0x10], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x10]
shufps xmm0, xmm0, 0
mulps xmm1, xmm0
movaps xmmword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
jmp 0x511711
lea eax, [esp + 0x30]
movaps xmm0, xmmword [eax]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
movaps xmmword [esp + 0x34], xmm0
call fcn.00402700
mov ecx, dword [esi + 0xe60]
push ecx
call fcn.00419f70
add esp, 4
test al, al
push 1
push 0xffffffffffffffff
mov ecx, esi
push 0xffffffffffffffff
je 0x511838
push 0x90
call fcn.004f4620
mov edx, dword [esi + 0xe60]
mov edi, dword [0x6de10c]
push edx
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 0x55
lea ecx, [esp + 0x304]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
neg eax
sbb eax, eax
add eax, 0xa
cmp edi, eax
je 0x5136d9
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x5136d9
mov eax, dword [esi + 0xe60]
push 0
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 0x55
lea ecx, [esp + 0x2c8]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
neg eax
sbb eax, eax
add eax, 0xa
mov ecx, 0x6ddda8
push eax
call fcn.00486ae0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x8f
call fcn.004f4620
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x5136d9
mov ecx, dword [esi + 0xe60]
push 0
push ecx
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 0x55
lea ecx, [esp + 0x168]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
neg eax
sbb eax, eax
add eax, 6
mov ecx, 0x6ddda8
push eax
call fcn.00486ae0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x1f
mov ecx, esi
call fcn.005ef7a0
mov edx, dword [esi + 0xe60]
push edx
push ecx
mov edi, eax
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 0x55
lea ecx, [esp + 0x1a4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
test eax, eax
mov eax, dword [esi + 0xe60]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov ecx, dword [esi + 0xe60]
mov eax, esp
push esi
mov dword [eax], ecx
push 0x59e9
lea ecx, [esp + 0x264]
setne bl
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x68b4fc]
lea edx, [esp + 0x70]
mov dword [esp + 0xc], eax
push edx
lea eax, [esp + 0x3c4]
movss dword [esp + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x14]
push eax
movaps xmmword [esp + 0x78], xmm0
call fcn.005ff310
movaps xmm0, xmmword [eax]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
add esp, 8
mov eax, dword [esp + 0xc]
test eax, eax
movaps xmmword [edi + 0x30], xmm0
je 0x511a77
test bl, bl
je 0x511a04
mov edi, 9
jmp 0x511a11
xor ecx, ecx
cmp eax, 2
sete cl
add ecx, 0xa
mov edi, ecx
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x8c
mov ecx, esi
call fcn.004f4620
cmp dword [0x6de10c], edi
je 0x511a41
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x511a41
push 0
push edi
mov ecx, 0x6ddda8
call fcn.00486ae0
mov esi, dword [esi + 0xe60]
test esi, esi
je 0x5136d9
push esi
call fcn.00419f70
add esp, 4
test al, al
jne 0x5136d9
mov eax, dword [0x6f2234]
inc dword [eax + 0x3bc]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x91
mov ecx, esi
call fcn.004f4620
mov eax, dword [0x6de10c]
neg bl
sbb ebx, ebx
add ebx, 8
cmp eax, ebx
je 0x511aaf
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x511aaf
push 0
push ebx
mov ecx, 0x6ddda8
call fcn.00486ae0
mov eax, dword [esi + 0xe60]
test eax, eax
mov dword [esi + 0xb7c], 0xcb000000
je 0x511adb
push eax
call fcn.00419f70
add esp, 4
test al, al
jne 0x511adb
mov eax, dword [0x6f2234]
inc dword [eax + 0x3c0]
mov dword [esi + 0xe60], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x56
mov ecx, esi
call fcn.004f43b0
mov dword [esi + 0xb7c], 0xcb000000
mov dword [esi + 0xe60], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
cmp al, 2
mov ecx, esi
push 1
jne 0x511b49
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x11d
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp al, 3
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
jne 0x5111ef
push 0x9c
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edx, [esp + 0x740]
push 0x3f9a25c2
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0x304]
push eax
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
mov al, byte [esi + 9]
cmp al, 2
mov ecx, esi
push 1
jne 0x511bcc
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x121
call fcn.004f43b0
jmp 0x511bef
cmp al, 3
jne 0x511be4
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x9c
call fcn.004f43b0
jmp 0x511bef
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x56
call fcn.004f4620
mov dword [esi + 0xb7c], 0xcb000000
mov dword [esi + 0xe60], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 3
mov eax, dword [esi + 0xe4c]
jne 0x511e78
movzx ecx, byte [esi + 0xbd9]
cmp ecx, eax
jne 0x511d39
movaps xmm0, xmmword [esi + 0x40]
push 0xd0000000
push 1
lea edx, [esp + 0x68]
push edx
mov ecx, esi
movaps xmmword [esp + 0x6c], xmm0
call fcn.004f8720
mov edx, dword [esi + 0xb98]
cmp edx, 0x7fffffff
mov ecx, dword [0x725b2c]
je 0x511c6c
sub edx, ecx
cmp edx, 0x12c
jbe 0x511d39
mov edx, dword [esi + 0xb90]
cmp edx, 0x7fffffff
je 0x511c88
sub edx, ecx
cmp edx, 0x12c
jbe 0x511d39
test eax, eax
je 0x511ce1
movaps xmm0, xmmword [esi + 0x40]
lea ecx, [esp + 0x110]
push ecx
mov ecx, eax
movaps xmmword [esp + 0x34], xmm0
call fcn.005efd30
fld dword [0x690880]
movaps xmm0, xmmword [eax]
fmul dword [0x690880]
subps xmm0, xmmword [esp + 0x30]
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm2, xmm0, 0x55
addss xmm0, xmm2
addss xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 5
jp 0x511d39
cmp dword [esi + 0xb48], 7
push 1
push 0
push 0xffffffffffffffff
mov byte [esi + 0xbd9], 0
mov ecx, esi
push 0xffffffffffffffff
jne 0x511d1d
push 0xa
push 0x120
call fcn.004f43b0
mov dword [esi + 0xb64], 1
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x1e
push 0x56
call fcn.004f43b0
mov ecx, esi
call fcn.004fa390
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 0xbd7]
test al, al
je 0x511f7c
mov ecx, dword [edi]
push 0x14
call fcn.005ef7a0
mov ebx, eax
test ebx, ebx
jne 0x511d58
mov ebx, dword [edi]
push 0x14
mov ecx, esi
call fcn.005ef7a0
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
mov edi, eax
call fcn.005efd30
movaps xmm0, xmmword [eax]
lea eax, [esp + 0x40]
push eax
mov ecx, edi
movaps xmmword [esp + 0x34], xmm0
call fcn.005efd30
movaps xmm1, xmmword [eax]
movaps xmm0, xmmword [esp + 0x30]
subps xmm0, xmm1
mulps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
addss xmm0, xmm1
movaps xmmword [esp + 0x10], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x10]
movaps xmmword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fcomp dword [0x690884]
fnstsw ax
test ah, 5
jp 0x511e12
cmp dword [esi + 0xba8], 0x7fffffff
jne 0x511e12
push 3
call fcn.00401930
add esp, 4
test eax, eax
jne 0x511e12
movzx ecx, word [esi + 0x80]
movsx edx, word [ecx*2 + 0x720f50]
push 1
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0xa6
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld dword [esp + 0x10]
fcomp dword [0x690880]
fnstsw ax
test ah, 0x41
jne 0x511f7c
cmp dword [esi + 0xba8], 0x7fffffff
jne 0x511f7c
push 3
call fcn.00401930
add esp, 4
test eax, eax
jne 0x511f7c
push 1
push eax
movzx eax, word [esi + 0x80]
movsx ecx, word [eax*2 + 0x720f50]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0xa5
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx edx, byte [esi + 0xbd9]
cmp edx, eax
jne 0x511f7c
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1e
push 0x56
mov ecx, esi
call fcn.004f43b0
mov byte [esi + 0xbd9], 0
mov byte [esi + 9], 1
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.005f2050
fcomp dword [0x68b62c]
fnstsw ax
test ah, 5
jp 0x511f7c
movzx eax, word [esi + 0x80]
movsx ecx, word [eax*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x105
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x103
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
push 0x46
mov ecx, 0x6ddda8
call fcn.00486ae0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x103
mov ecx, esi
mov dword [esi + 0xb7c], 0xcb000000
call fcn.004f4620
push 0
mov ecx, edi
call fcn.00401a50
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
cmp al, 2
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
push 5
jne 0x511f87
push 0x11d
call fcn.004f43b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp al, 3
jne 0x511fa0
push 0x9c
call fcn.004f43b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x56
call fcn.004f43b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx eax, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x77
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx ecx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x76
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x75
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x64
mov ecx, esi
call fcn.004f4620
mov dword [esi + 0xb4c], 0x3f800000
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x65
jmp 0x51202c
or dword [esi + 4], 0x20000
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x65
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 3
je 0x5125c3
mov al, byte [esi + 0xbd9]
test al, al
jne 0x5125c3
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1e
push 0x56
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edi, [esi + 0x470]
mov ecx, edi
call fcn.00402410
mov ecx, edi
call fcn.004023c0
test al, al
jne 0x5120d7
mov ecx, edi
call fcn.004e4e70
push 0
push 0
mov ecx, esi
call fcn.004f6b30
movzx eax, word [esi + 0x80]
movsx ecx, word [eax*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x89
mov ecx, esi
call fcn.004f43b0
mov eax, dword [esi + 0x1d8]
test eax, eax
je 0x5136d9
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x5a06
lea ecx, [esp + 0x1e4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [edi], 0
je 0x512196
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x121
mov ecx, esi
call fcn.004f43b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fild dword [0x725b2c]
fsub dword [0x68b5bc]
call fcn.00602090
push eax
mov ecx, esi
call fcn.0042aea0
test al, al
jne 0x511f7c
lea edi, [esi + 0x470]
mov ecx, edi
call fcn.00402490
mov edx, dword [edi + 0x30]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x8a
mov ecx, esi
mov dword [edi + 0x34], edx
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, esi
call fcn.004fa1e0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 4
mov ecx, esi
push 1
jne 0x512222
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x103
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x56
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
movsx eax, word [ebx*2 + 0x720f50]
xor ecx, ecx
push eax
cmp byte [esi + 9], 2
setne cl
dec ecx
and ecx, 0xc7
add ecx, 0x56
push ecx
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, 0x64
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push eax
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 2
jne 0x512271
mov eax, dword [0x6f2234]
mov cl, byte [eax + 0x1d0]
test cl, cl
jne 0x5122b9
cmp dword [eax + 0x380], 0x56
je 0x5122b9
mov eax, 0x12e
jmp 0x512276
mov eax, 0x12d
jmp 0x512276
mov ecx, esi
call fcn.004f1b50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, esi
call fcn.004f1b30
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x64
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld dword [0x68b4fc]
push 1
fld dword [esi + 0xb4c]
push 0
fucompp
push 0xffffffffffffffff
push 0xffffffffffffffff
fnstsw ax
test ah, 0x44
jnp 0x512241
mov cl, byte [esi + 9]
movsx edx, word [ebx*2 + 0x720f50]
xor eax, eax
cmp cl, 2
setne al
push edx
mov ecx, esi
dec eax
and eax, 0xc9
add eax, 0x65
push eax
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
xor ecx, ecx
cmp al, 2
setne cl
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
dec ecx
and ecx, 0xc9
add ecx, 0x65
push ecx
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esi + 0x90]
mov dword [esi + 0xb6c], edx
mov eax, dword [0x725b2c]
xor ecx, ecx
mov dword [esi + 0xb8c], eax
mov cx, word [ebx*2 + 0x721258]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004f4620
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld dword [esi + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5124c3
mov eax, dword [edi]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push 0
push 0xc8
lea ecx, [esp + 0x2e4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul dword [0x693a68]
fadd dword [0x68b588]
call fcn.00602090
cmp dword [esi + 0xe4c], eax
jbe 0x511f7c
mov edi, dword [edi]
push edi
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x20
lea ecx, [esp + 0x224]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xe5
mov ecx, esi
call fcn.004f4620
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [edi]
push edi
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x20
lea ecx, [esp + 0x2a4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
fld dword [esi + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
je 0x5124a6
mov eax, dword [esi + 0x1d8]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x59db
lea ecx, [esp + 0x184]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xff
mov ecx, esi
call fcn.004f4620
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 3
jne 0x5125c3
push 2
call fcn.00401930
add esp, 4
test eax, eax
jne 0x5125c3
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x5125c3
push 0
push 0x1c
mov ecx, 0x6ddda8
call fcn.00486ae0
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x9c
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld dword [esi + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5127f1
mov eax, dword [esi + 0xd50]
cmp eax, 0xc
mov edx, 0x13
jne 0x51263a
cmp dword [esi + 0xd54], edx
jne 0x51263a
lea edx, [esp + 0x940]
push 0xbf1c61aa
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0x444]
push eax
jmp 0x51279a
cmp eax, 0xa
jne 0x51269d
cmp dword [esi + 0xd54], 0x15
jne 0x512669
lea ecx, [esp + 0x7c0]
push 0x3f6cce68
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
lea edx, [esp + 0x4c8]
jmp 0x512795
cmp eax, 0xa
jne 0x51269d
cmp dword [esi + 0xd54], 0x18
jne 0x51269d
lea eax, [esp + 0xa40]
push 0x3dfa35dd
push eax
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea ecx, [esp + 0x544]
push ecx
jmp 0x51279a
cmp eax, 0xe
jne 0x5126d1
cmp dword [esi + 0xd54], 0x10
jne 0x5126d1
lea edx, [esp + 0x840]
push 0xbf1c61aa
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0x5c4]
push eax
jmp 0x51279a
cmp eax, 0xb
jne 0x5126ff
cmp dword [esi + 0xd54], edx
jne 0x5126ff
lea ecx, [esp + 0x9c0]
push 0xbf1c61aa
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
lea edx, [esp + 0x648]
jmp 0x512795
cmp eax, 0xb
mov ecx, 0x16
jne 0x512734
cmp dword [esi + 0xd54], ecx
jne 0x512734
lea eax, [esp + 0x8c0]
push 0x3fe61aae
push eax
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea ecx, [esp + 0x6c4]
push ecx
jmp 0x51279a
cmp eax, 0xd
jne case.0x51145f.255
cmp dword [esi + 0xd54], edx
jne 0x512768
lea edx, [esp + 0xac0]
push 0xbe29c91f
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0x344]
push eax
jmp 0x51279a
cmp eax, 0xd
jne case.0x51145f.255
cmp dword [esi + 0xd54], ecx
jne 0x5127bc
lea ecx, [esp + 0x380]
push 0x400074cc
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
lea edx, [esp + 0x408]
add esp, 8
push eax
push edx
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
jmp case.0x51145f.255
cmp eax, 0xd
jne case.0x51145f.255
cmp dword [esi + 0xd54], 0x19
jne case.0x51145f.255
lea eax, [esp + 0x480]
push 0x402b760e
push eax
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea ecx, [esp + 0x504]
push ecx
jmp 0x51279a
mov eax, dword [esi + 0x1d8]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x59db
lea ecx, [esp + 0x1c4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
fld dword [esi + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x512992
cmp byte [esi + 9], 3
jne 0x512889
push 2
call fcn.00401930
add esp, 4
test eax, eax
jne 0x512889
mov eax, dword [0x6dddc8]
test eax, eax
jne 0x512889
push 0
push 0x1c
mov ecx, 0x6ddda8
call fcn.00486ae0
mov cl, byte [esi + 9]
cmp cl, 2
je 0x512962
cmp cl, 1
je 0x512962
cmp cl, 3
jne 0x512932
fld dword [esi + 0x1e0]
fcomp dword [0x693a64]
fnstsw ax
test ah, 0x41
jne 0x5128ea
movzx edx, word [esi + 0x80]
movsx eax, word [edx*2 + 0x720f50]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x101
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp cl, 3
jne 0x512932
fld dword [esi + 0x1e0]
fcomp dword [0x693a60]
fnstsw ax
test ah, 0x41
jne 0x512932
movzx ecx, word [esi + 0x80]
movsx edx, word [ecx*2 + 0x720f50]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x100
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx eax, word [esi + 0x80]
movsx ecx, word [eax*2 + 0x720f50]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x102
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx edx, word [esi + 0x80]
movsx eax, word [edx*2 + 0x720f50]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x100
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
or dword [esi + 4], 0x40020000
mov eax, dword [0x6f2234]
inc dword [eax + 0x3ac]
mov eax, dword [esi + 0x1d8]
test eax, eax
je 0x5136d9
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x59de
lea ecx, [esp + 0x204]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
cmp al, 3
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
je 0x5113f7
cmp al, 2
push 0xf
jne 0x5113ae
push 0x11d
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld dword [esi + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x512a78
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x9c
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x1d8]
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x59db
lea ecx, [esp + 0x244]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xff
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
cmp al, 2
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
jne 0x512b1c
movsx ecx, word [ebx*2 + 0x720f50]
push ecx
push 0x11d
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp al, 3
jne 0x512b41
movsx edx, word [ebx*2 + 0x720f50]
push edx
push 0x11d
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx eax, word [ebx*2 + 0x720f50]
push eax
push 0x56
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0xd68], 3
je 0x511f7c
mov al, byte [esi + 0xbd7]
test al, al
je 0x512bb2
mov ecx, dword [0x725b2c]
add ecx, 0xffffffc4
push ecx
mov ecx, esi
call fcn.0042aea0
test al, al
jne 0x512ba4
push 0
mov ecx, esi
mov byte [esi + 0xbd7], al
call fcn.004f8410
mov dword [esi + 0xe14], 0
mov al, byte [esi + 0xbd7]
test al, al
jne 0x511f7c
call fcn.005f2050
fcomp dword [0x68b6c0]
fnstsw ax
test ah, 5
jp 0x511f7c
movzx edx, word [esi + 0x80]
movsx eax, word [edx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x11e
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edi, [esi + 0x250]
mov ecx, edi
call fcn.0042abe0
test al, al
je 0x512c0f
mov ecx, dword [edi + 0x30]
mov dword [edi + 0x34], ecx
lea edi, [esi + 0x470]
mov ecx, edi
call fcn.0042abe0
test al, al
je 0x512c26
mov edx, dword [edi + 0x30]
mov dword [edi + 0x34], edx
cmp byte [esi + 9], 3
mov ecx, esi
push 1
jne 0x512c44
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0x9c
call fcn.004f43b0
jmp 0x512c4f
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x56
call fcn.004f4620
mov ecx, esi
call fcn.004f2c10
test al, al
jne 0x512c6e
mov eax, dword [esi + 0xb48]
cmp eax, 7
je 0x512c6e
cmp eax, 6
jne 0x5136d9
cmp dword [esi + 0xb48], 6
jne 0x512c8a
mov ecx, esi
call fcn.004f9f20
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [esi + 9], 3
je 0x5136d9
mov ecx, esi
call fcn.004fa390
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 0xbd7]
test al, al
je 0x512cde
mov eax, dword [0x725b2c]
add eax, 0xffffffc4
push eax
mov ecx, esi
call fcn.0042aea0
test al, al
jne 0x512cde
push 0
mov ecx, esi
mov byte [esi + 0xbd7], al
call fcn.004f8410
mov dword [esi + 0xe14], 0
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 5
push 0x11d
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov byte [esi + 0xbd7], 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x132
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x11d
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea ecx, [esp + 0x580]
push 0x40490fdb
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea edx, [esp + 0x604]
push edx
mov ecx, edi
call fcn.006020a0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x148
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
mov ecx, esi
movaps xmmword [edi + 0x20], xmm0
call fcn.004f4620
push 1
mov ecx, esi
mov byte [esi + 0xbd7], 1
call fcn.004f8410
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esp + 0x680]
push 0x40490fdb
push eax
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea ecx, [esp + 0x704]
push ecx
mov ecx, edi
call fcn.006020a0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x149
jmp 0x512d76
lea edx, [esp + 0x780]
push 0x4016cbe4
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0x804]
push eax
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
push 1
push 0
push 0xffffffffffffffff
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
push 0xffffffffffffffff
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
push 0xa
push 0x158
mov ecx, esi
movaps xmmword [edi + 0x20], xmm0
call fcn.004f43b0
mov byte [esi + 0x17a4], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea ecx, [esp + 0x880]
push 0xc016cbe4
push ecx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea edx, [esp + 0x904]
push edx
jmp 0x512e05
lea eax, [esi + 0xc70]
push eax
lea ecx, [esi + 0x10]
call fcn.004010b0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x153
mov ecx, esi
mov byte [esi + 0x17a4], 6
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea ecx, [esi + 0xc70]
push ecx
jmp 0x512e75
lea edx, [esi + 0xc70]
push edx
lea ecx, [esi + 0x10]
call fcn.004010b0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x141
mov ecx, esi
mov byte [esi + 0x17a4], 5
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esi + 0xc70]
push eax
lea ecx, [esi + 0x10]
call fcn.004010b0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x142
mov ecx, esi
mov byte [esi + 0x17a4], 5
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx ecx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x121
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edx, [esp + 0x980]
push 0x40490fdb
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0xa04]
push eax
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x5f
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x61
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fld dword [esi + 0x1e0]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x513011
push 1
push 0
push 0xffffffffffffffff
cmp cx, 0x26
push 0xffffffffffffffff
mov ecx, esi
jne 0x512ff2
push 0xf
push 0x27
call fcn.004f43b0
mov dword [esi + 0xb4c], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x14
push 0x60
call fcn.004f43b0
mov dword [esi + 0xb4c], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [esi + 4]
or edi, 0x40020000
mov dword [esi + 0xb8c], 0x7fffffff
mov dword [esi + 4], edi
mov eax, dword [0x6f2234]
inc dword [eax + 0x3ac]
mov eax, dword [esi + 0x1d8]
test eax, eax
je 0x5136d9
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x59de
lea ecx, [esp + 0x284]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
or dword [esi + 4], 0x20000
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x14
push 0x60
mov ecx, esi
call fcn.004f43b0
mov dword [esi + 0xb4c], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
cmp al, 2
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
jne 0x5130f5
movsx ecx, word [ebx*2 + 0x720f50]
push ecx
push 0x121
jmp 0x513114
cmp al, 3
jne 0x513109
movsx edx, word [ebx*2 + 0x720f50]
push edx
push 0x9c
jmp 0x513114
movsx eax, word [ebx*2 + 0x720f50]
push eax
push 0x56
mov ecx, esi
call fcn.004f43b0
mov dword [esi + 0xe60], 0
mov dword [esi + 0xb7c], 0xcb000000
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0xd68], 3
je 0x511f7c
lea ecx, [esi + 0x250]
call fcn.0042abe0
test al, al
mov edi, dword [0x725b2c]
je 0x513173
mov edx, dword [esi + 0x31c]
mov ecx, edi
sub ecx, edx
cmp ecx, 0x12c
jbe 0x511f7c
lea ecx, [esi + 0x470]
call fcn.0042abe0
test al, al
je 0x513194
sub edi, dword [esi + 0x53c]
cmp edi, 0x12c
jbe 0x511f7c
mov cl, byte [esi + 9]
movsx edx, word [ebx*2 + 0x720f50]
xor eax, eax
cmp cl, 2
setne al
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
mov ecx, esi
dec eax
and eax, 0xc7
add eax, 0x56
push eax
call fcn.004f43b0
push 0
mov ecx, esi
mov byte [esi + 0xbd7], 0
call fcn.004f8410
mov dword [esi + 0xe14], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea ecx, [esi + 0x250]
call fcn.0042abe0
test al, al
mov edi, dword [0x725b2c]
je 0x51320f
mov edx, dword [esi + 0x31c]
mov ecx, edi
sub ecx, edx
cmp ecx, 0x3c
jbe 0x511f7c
lea ecx, [esi + 0x470]
call fcn.0042abe0
test al, al
je 0x51322d
sub edi, dword [esi + 0x53c]
cmp edi, 0x3c
jbe 0x511f7c
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
jmp 0x5136c1
lea ecx, [esi + 0x250]
call fcn.0042abe0
test al, al
mov edi, dword [0x725b2c]
je 0x51326b
mov edx, dword [esi + 0x31c]
mov eax, edi
sub eax, edx
cmp eax, 0x3c
jbe 0x511f7c
lea ecx, [esi + 0x470]
call fcn.0042abe0
test al, al
je case.0x51145f.354
sub edi, dword [esi + 0x53c]
cmp edi, 0x3c
jbe 0x511f7c
movsx ecx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x153
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x121
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0xd68], 3
je 0x511f7c
mov al, byte [esi + 9]
cmp al, 2
je 0x511f7c
cmp al, 8
je 0x511f7c
lea ecx, [esi + 0x250]
call fcn.0042abe0
test al, al
mov edi, dword [0x725b2c]
je 0x513323
mov edx, dword [esi + 0x31c]
mov eax, edi
sub eax, edx
cmp eax, 0x3c
jbe 0x511f7c
lea ecx, [esi + 0x470]
call fcn.0042abe0
test al, al
je 0x513341
sub edi, dword [esi + 0x53c]
cmp edi, 0x3c
jbe 0x511f7c
mov ecx, dword [esi + 0xb4c]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xf
push ecx
mov ecx, esi
call fcn.00508060
push eax
mov ecx, esi
call fcn.004f43b0
push 0
mov ecx, esi
mov byte [esi + 0xbd7], 0
call fcn.004f8410
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x220]
test eax, eax
mov ecx, 0xfffffffe
je 0x51338f
and dword [eax + 4], ecx
mov eax, dword [esi + 0x224]
test eax, eax
je 0x51339c
and dword [eax + 4], ecx
lea edi, [esi + 0x250]
mov ecx, edi
call fcn.0042abe0
test al, al
je 0x5133b3
mov edx, dword [edi + 0x30]
mov dword [edi + 0x34], edx
lea edi, [esi + 0x470]
mov ecx, edi
call fcn.0042abe0
test al, al
je 0x5133ca
mov eax, dword [edi + 0x30]
mov dword [edi + 0x34], eax
push 1
mov ecx, esi
mov dword [esi + 0xb80], 0xcb000000
call fcn.004f8410
cmp byte [esi + 0x17a4], 6
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
jne 0x513405
movzx ecx, word [esi + 0x80]
movsx edx, word [ecx*2 + 0x720f50]
push edx
push 0x153
jmp 0x51341a
movzx eax, word [esi + 0x80]
movsx ecx, word [eax*2 + 0x720f50]
push ecx
push 0x11d
mov ecx, esi
call fcn.004f43b0
mov eax, dword [esi + 0x1d8]
test eax, eax
je 0x511f7c
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x5a19
lea ecx, [esp + 0xa4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov cl, byte [esi + 9]
movsx edx, word [ebx*2 + 0x720f50]
xor eax, eax
cmp cl, 2
setne al
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
mov ecx, esi
dec eax
and eax, 0xc7
add eax, 0x56
push eax
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x6f2234]
inc dword [eax + 0x3ac]
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x1d8]
or edx, 0x40000000
test eax, eax
mov dword [esi + 4], edx
je case.0x51145f.279
push eax
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
mov dword [eax], 0
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
push esi
push 0x59de
lea ecx, [esp + 0xe4]
mov dword [eax], 0
call fcn.00401d20
mov ecx, eax
call fcn.00401d60
or dword [esi + 4], 0x20000
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ax, word [ebx*2 + 0x720f50]
test ax, ax
push 1
je 0x513577
push 0
xor edx, edx
mov dx, word [ebx*2 + 0x721258]
push 0xffffffffffffffff
movsx ecx, ax
push 0xffffffffffffffff
push ecx
push edx
mov ecx, esi
call fcn.004f43b0
jmp 0x51368c
xor eax, eax
mov ax, word [ebx*2 + 0x721258]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
push eax
call fcn.004f4620
jmp 0x51368c
mov cl, byte [esi + 9]
movsx edx, word [ebx*2 + 0x720f50]
xor eax, eax
cmp cl, 2
setne al
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
mov ecx, esi
dec eax
and eax, 0xc7
add eax, 0x56
push eax
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, byte [esi + 9]
movsx ecx, word [ebx*2 + 0x720f50]
xor edx, edx
cmp al, 2
setne dl
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, esi
dec edx
and edx, 0xc7
add edx, 0x56
push edx
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx eax, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
xor ecx, ecx
push eax
cmp byte [esi + 9], 2
setne cl
dec ecx
and ecx, 0xc7
add ecx, 0x56
push ecx
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x169
mov ecx, esi
call fcn.004f4620
lea edx, [esp + 0xa80]
push 0x40490fdb
push edx
lea edi, [esi + 0x10]
call fcn.00603c20
add esp, 8
push eax
lea eax, [esp + 0xb04]
push eax
mov ecx, edi
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xb6c], ecx
mov edx, dword [0x725b2c]
mov dword [esi + 0xb8c], edx
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx eax, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
call fcn.005f2010
and al, 1
neg al
mov ecx, esi
sbb eax, eax
add eax, 0x142
push eax
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x15e
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx eax, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x15f
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx ecx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
push 0x14c
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx edx, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push 0x14d
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movsx eax, word [ebx*2 + 0x720f50]
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x103
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xac
mov ecx, esi
mov dword [esi + 0xba0], 0x7fffffff
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x9c
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ax, word [ebx*2 + 0x721258]
test ax, ax
je 0x511f7c
mov bx, word [ebx*2 + 0x720f50]
test bx, bx
push 1
je 0x513836
push 0
push 0xffffffffffffffff
movsx ecx, bx
push 0xffffffffffffffff
push ecx
push eax
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004f4620
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp ax, 0xa8
je 0x513888
cmp ax, 0xa9
je 0x513882
cmp ax, 0xaa
je 0x513882
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0xa8
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp ax, 0xa8
jne 0x5138b8
push 0
push 0x27
mov ecx, 0x6ddda8
call fcn.00486ae0
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0xa9
mov ecx, esi
call fcn.004f43b0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp ax, 0xa9
jne 0x511f7c
push 1
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xa
push 0xaa
mov ecx, esi
call fcn.004f43b0
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0xc