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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ebx, dword [eax*4 + 0x20a514c]
mov dword [esp + 0x2c], ebx
cmp word [ebx + 0x78], 1
jne 0x4dc397
movd xmm0, dword [ebx + 0x14c]
xorps xmm1, xmm1
movss xmm2, dword [0x56a810]
mov esi, dword [ebx + 0x390]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x34], esi
movss dword [esp + 0x54], xmm2
addss xmm0, dword [ebx + 0x100]
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x50], xmm2
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4d9a2b
movss xmm3, dword [ebx + 0xfc]
mulss xmm3, xmm2
divss xmm3, xmm0
movss dword [esp + 0x44], xmm3
mov ecx, dword [ebx + 0x158]
add ecx, dword [ebx + 0x15c]
je 0x4d9a58
imul eax, dword [ebx + 0x154], 0x64
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
divss xmm3, xmm0
movss dword [esp + 0x48], xmm3
movd xmm0, dword [ebx + 0x150]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebx + 0x10c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4d9a8a
movss xmm3, dword [ebx + 0x108]
mulss xmm3, xmm2
divss xmm3, xmm0
movss dword [esp + 0x4c], xmm3
mov ecx, dword [ebx + 0x12c]
add ecx, dword [ebx + 0x130]
je 0x4d9ab7
imul eax, dword [ebx + 0x128], 0x64
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
divss xmm4, xmm0
movss dword [esp + 0x50], xmm4
mov byte [ebx + 0x599], 1
mov edi, 0x2000
movzx eax, word [esi + 4]
mov dword [esp + 0x20], 0x1ff
mov edx, eax
mov dword [esp + 0x40], edi
test ax, ax
js 0x4d9aef
cmp dx, di
jge 0x4d9aef
movzx eax, word [esi + 0x110]
mov ecx, eax
test ax, ax
js 0x4d9b0e
jmp 0x4d9b09
movzx eax, word [esi + 0x110]
mov ecx, eax
test ax, ax
js 0x4d9b3e
cmp cx, di
jge 0x4d9b3e
movzx ecx, word [esi + 0x110]
cmp cx, di
jl 0x4d9b18
mov eax, 0x80f
cmp dx, ax
je 0x4d9b3e
test dx, dx
js 0x4d9b22
cmp dx, di
jl 0x4d9b45
mov edx, 0x807
movzx eax, cx
cmp cx, dx
je 0x4d9b3e
add eax, 0xfffff400
mov ecx, 0x1ff
cmp ax, cx
ja 0x4d9b45
mov byte [ebx + 0x599], 0
xor ecx, ecx
mov esi, edi
nop dword [eax]
mov edx, dword [ebx + 0x390]
movzx eax, word [ecx + edx + 4]
mov edi, eax
test ax, ax
js 0x4d9b6f
cmp di, si
jge 0x4d9b6f
mov byte [ecx + edx + 0xb8], 1
add ecx, 0x10c
cmp ecx, 0xc90
jl 0x4d9b50
xor eax, eax
mov dword [ebx + 0x14c], 0
mov dword [ebx + 0x150], 0
mov ecx, ebx
mov dword [ebx + 0x130], 0
mov dword [ebx + 0x15c], 0
mov byte [ebx + 0x5f0], 0
mov dword [ebx + 0x35d], eax
mov word [ebx + 0x361], ax
mov byte [ebx + 0x363], al
call fcn.0051eaa0
nop dword [eax + eax]
mov eax, dword [ebx + 0x7b8]
xor edi, edi
mov dword [ebx + 0x114], eax
mov esi, 0x2000
mov eax, dword [ebx + 0x7bc]
mov dword [ebx + 0x118], eax
mov eax, dword [ebx + 0x7c0]
mov dword [ebx + 0x11c], eax
mov eax, dword [ebx + 0x7c4]
mov dword [ebx + 0x120], eax
mov eax, dword [ebx + 0x7c8]
mov byte [esp + 0x27], 0
mov dword [ebx + 0x124], eax
nop dword [eax + eax]
mov ecx, dword [ebx + 0x390]
movzx eax, word [edi + ecx + 4]
mov edx, eax
test ax, ax
js 0x4d9c83
cmp dx, si
jge 0x4d9c83
mov cl, byte [edi + ecx + 0xb6]
mov byte [esp + 0xf], cl
test cl, 3
je 0x4d9c83
cwde
push eax
mov dword [esp + 0x18], eax
call fcn.00505bb0
test eax, eax
je 0x4d9c83
push dword [esp + 0x14]
call fcn.00505bb0
test eax, eax
je 0x4d9c83
mov ecx, dword [eax + 4]
cmp ecx, 0xffffffff
je 0x4d9c83
movzx eax, byte [esp + 0xf]
shr eax, 2
and eax, 3
push 1
lea eax, [eax + eax*4]
push eax
push ecx
push ebx
call fcn.005053a0
add edi, 0x10c
cmp edi, 0xc90
jl 0x4d9c20
push 1
push ebx
call fcn.004a6e00
push 1
push ebx
call fcn.00505100
push 1
push ebx
call fcn.004ab2d0
push 1
push ebx
call fcn.004050f0
push 1
push ebx
call fcn.00518250
push 1
push ebx
call fcn.004b6fe0
mov esi, dword [esp + 0x34]
xor edi, edi
nop word [eax + eax]
mov eax, dword [ebx + 0x390]
add eax, edi
mov dword [esp + 0x14], eax
cmp byte [eax + 0xb8], 0
je 0x4d9d03
push eax
push ebx
call fcn.0049f2d0
test al, al
jne 0x4d9d03
mov eax, dword [esp + 0x14]
mov cl, 1
mov byte [esp + 0x27], cl
mov byte [eax + 0xb8], 0
jmp 0x4d9d07
mov cl, byte [esp + 0x27]
add edi, 0x10c
cmp edi, 0xc90
jl 0x4d9cd0
test cl, cl
jne 0x4d9bd0
mov eax, dword [ebx + 0xf0]
add eax, dword [ebx + 0x11c]
mov edx, dword [ebx + 0xe8]
mov edi, dword [ebx + 0xec]
mov ecx, dword [ebx + 0xf4]
add edx, dword [ebx + 0x114]
add edi, dword [ebx + 0x118]
add ecx, dword [ebx + 0x120]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xf8]
add eax, dword [ebx + 0x124]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xcc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ecx
test ax, ax
jne 0x4d9e00
mov eax, edx
cdq
idiv dword [0xbdb740]
mov dword [ebx + 0x2dc], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb744]
mov dword [ebx + 0x2d8], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb740]
mov dword [ebx + 0x2d4], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb744]
mov dword [ebx + 0x2d0], eax
mov eax, ecx
cdq
idiv dword [0xbdb748]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb74c]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb748]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb74c]
mov dword [ebx + 0x2cc], eax
jmp 0x4da3e3
cmp eax, 1
jne 0x4d9eb4
mov eax, edx
cdq
idiv dword [0xbdb750]
mov dword [ebx + 0x2dc], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb754]
mov dword [ebx + 0x2d8], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb750]
mov dword [ebx + 0x2d4], eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb754]
mov dword [ebx + 0x2d0], eax
mov eax, ecx
cdq
idiv dword [0xbdb758]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb75c]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb758]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb75c]
mov dword [ebx + 0x2cc], eax
mov eax, ecx
cdq
idiv dword [0xbdb59c]
lea ecx, [eax + 0xc8]
mov dword [ebx + 0x2e0], ecx
cmp ecx, dword [0xbdb5b0]
cmovg ecx, dword [0xbdb5b0]
mov dword [ebx + 0x2e0], ecx
jmp 0x4da3e3
cmp eax, 2
jne 0x4da04b
movzx ecx, word [esi + 4]
mov eax, ecx
mov dword [esp + 0x14], eax
lea eax, [ecx - 0x800]
cmp ax, word [esp + 0x20]
ja 0x4d9ede
mov eax, 0x80f
cmp cx, ax
jne 0x4d9f0e
movzx eax, word [esi + 0x110]
add eax, 0xfffff800
cmp ax, word [esp + 0x20]
ja 0x4d9fc1
movzx eax, word [esi + 0x110]
mov edi, 0x807
cmp ax, di
mov edi, dword [esp + 0x1c]
je 0x4d9fc1
test cx, cx
js 0x4d9f2c
mov eax, 0x2000
cmp word [esp + 0x14], ax
jge 0x4d9f2c
cmp byte [esi + 0xb8], 0
je 0x4d9fc1
movzx eax, word [esi + 0x110]
mov ecx, eax
test ax, ax
js 0x4d9f4d
mov eax, 0x2000
cmp cx, ax
jge 0x4d9f4d
cmp byte [esi + 0x1c4], 0
je 0x4d9fc1
mov eax, edi
cdq
idiv dword [0xbdb76c]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb768]
add ecx, eax
mov eax, edi
cdq
mov dword [ebx + 0x2dc], ecx
idiv dword [0xbdb774]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb770]
add ecx, eax
mov eax, edi
cdq
mov dword [ebx + 0x2d8], ecx
idiv dword [0xbdb76c]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb768]
add ecx, eax
mov eax, edi
cdq
mov dword [ebx + 0x2d4], ecx
idiv dword [0xbdb774]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb770]
add ecx, eax
jmp 0x4d9ffc
lea ecx, [edi + edx]
mov eax, ecx
cdq
idiv dword [0xbdb760]
mov dword [ebx + 0x2dc], eax
mov eax, ecx
cdq
idiv dword [0xbdb764]
mov dword [ebx + 0x2d8], eax
mov eax, ecx
cdq
idiv dword [0xbdb760]
mov dword [ebx + 0x2d4], eax
mov eax, ecx
cdq
idiv dword [0xbdb764]
mov ecx, eax
mov edx, 0x2d0
mov eax, ebx
mov dword [eax + edx], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
cdq
idiv dword [0xbdb778]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb77c]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb778]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb77c]
mov dword [ebx + 0x2cc], eax
jmp 0x4da3e3
cmp eax, 3
jne 0x4da117
mov eax, ecx
cdq
idiv dword [0xbdb784]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb780]
add ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x2dc], ecx
idiv dword [0xbdb78c]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb788]
add ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x2d8], ecx
idiv dword [0xbdb784]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb780]
add ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x2d4], ecx
idiv dword [0xbdb78c]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb788]
add ecx, eax
mov dword [ebx + 0x2d0], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
cdq
idiv dword [0xbdb790]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb794]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb790]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb794]
mov dword [ebx + 0x2cc], eax
jmp 0x4da3e3
cmp eax, 4
jne 0x4da20b
mov eax, ecx
cdq
idiv dword [0xbdb79c]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb798]
add ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x2dc], ecx
idiv dword [0xbdb7a4]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7a0]
add ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x2d8], ecx
idiv dword [0xbdb79c]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb798]
add ecx, eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x2d4], ecx
idiv dword [0xbdb7a4]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7a0]
add ecx, eax
mov dword [ebx + 0x2d0], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
cdq
idiv dword [0xbdb7a8]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb7ac]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb7a8]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb7ac]
mov dword [ebx + 0x2cc], eax
mov eax, ecx
cdq
idiv dword [0xbdb5a0]
lea ecx, [eax + 0xc8]
mov dword [ebx + 0x2e4], ecx
cmp ecx, dword [0xbdb5b4]
cmovg ecx, dword [0xbdb5b4]
mov dword [ebx + 0x2e4], ecx
jmp 0x4da3e3
cmp eax, 5
jne 0x4da298
lea ecx, [edi + edx]
mov eax, ecx
cdq
idiv dword [0xbdb7b0]
mov dword [ebx + 0x2dc], eax
mov eax, ecx
cdq
idiv dword [0xbdb7b4]
mov dword [ebx + 0x2d8], eax
mov eax, ecx
cdq
idiv dword [0xbdb7b0]
mov dword [ebx + 0x2d4], eax
mov eax, ecx
cdq
idiv dword [0xbdb7b4]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x2d0], eax
mov eax, ecx
cdq
idiv dword [0xbdb7b8]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb7bc]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb7b8]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb7bc]
mov dword [ebx + 0x2cc], eax
jmp 0x4da3e3
cmp eax, 6
jne 0x4da3e3
mov eax, dword [esp + 0x30]
cdq
idiv dword [0xbdb7c4]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7c0]
add ecx, eax
mov eax, dword [esp + 0x30]
cdq
mov dword [ebx + 0x2dc], ecx
idiv dword [0xbdb7cc]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7c8]
add ecx, eax
mov eax, dword [esp + 0x30]
cdq
mov dword [ebx + 0x2d8], ecx
idiv dword [0xbdb7c4]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7c0]
add ecx, eax
mov eax, dword [esp + 0x30]
cdq
mov dword [ebx + 0x2d4], ecx
idiv dword [0xbdb7cc]
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7c8]
add ecx, eax
mov dword [ebx + 0x2d0], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
cdq
idiv dword [0xbdb7d0]
mov dword [ebx + 0x2c0], eax
mov eax, ecx
cdq
idiv dword [0xbdb7d4]
mov dword [ebx + 0x2c4], eax
mov eax, ecx
cdq
idiv dword [0xbdb7d0]
mov dword [ebx + 0x2c8], eax
mov eax, ecx
cdq
idiv dword [0xbdb7d4]
mov dword [ebx + 0x2cc], eax
mov eax, dword [esp + 0x30]
cdq
idiv dword [0xbdb5a8]
lea ecx, [eax + 0x32]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x2e8], ecx
cmp ecx, dword [0xbdb5b8]
cdq
cmovg ecx, dword [0xbdb5b8]
mov dword [ebx + 0x2e8], ecx
idiv dword [0xbdb5ac]
lea ecx, [eax + 0x32]
mov eax, edi
mov dword [ebx + 0x2ec], ecx
cmp ecx, dword [0xbdb5b8]
cdq
cmovg ecx, dword [0xbdb5b8]
mov dword [ebx + 0x2ec], ecx
idiv dword [0xbdb5a4]
mov ecx, eax
mov eax, dword [esp + 0x18]
cdq
idiv dword [0xbdb5ac]
add eax, 0x64
add ecx, eax
mov dword [ebx + 0x2f0], ecx
cmp ecx, dword [0xbdb5b8]
cmovg ecx, dword [0xbdb5b8]
mov dword [ebx + 0x2f0], ecx
movzx eax, word [esi + 4]
mov ecx, eax
mov edx, eax
test ax, ax
js 0x4da4ec
mov eax, 0x2000
cmp cx, ax
jge 0x4da4ec
lea eax, [edx - 0xa00]
mov ecx, 0x1ff
xorps xmm1, xmm1
cmp ax, cx
ja 0x4da474
cmp byte [esi + 0xb8], 0
je 0x4da434
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da434
movzx eax, word [esi + 0xe]
shr eax, 1
jmp 0x4da436
xor eax, eax
add dword [ebx + 0x2dc], eax
movzx eax, word [esi + 4]
mov ecx, eax
test ax, ax
js 0x4da4cb
mov eax, 0x2000
cmp cx, ax
jge 0x4da4cb
cmp byte [esi + 0xb8], 0
je 0x4da4cb
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da4cb
movzx eax, word [esi + 0x10]
shr eax, 1
jmp 0x4da4cd
cmp byte [esi + 0xb8], 0
je 0x4da491
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da491
movzx eax, word [esi + 0xe]
jmp 0x4da493
xor eax, eax
add dword [ebx + 0x2dc], eax
movzx eax, word [esi + 4]
mov ecx, eax
test ax, ax
js 0x4da4cb
mov eax, 0x2000
cmp cx, ax
jge 0x4da4cb
cmp byte [esi + 0xb8], 0
je 0x4da4cb
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da4cb
movzx eax, word [esi + 0x10]
jmp 0x4da4cd
xor eax, eax
add dword [ebx + 0x2d8], eax
cmp byte [esi + 0xb4], 0
jne 0x4da4e4
mov al, byte [ebx + 0x5f0]
jmp 0x4da4e6
mov al, 1
mov byte [ebx + 0x5f0], al
movzx eax, word [esi + 0x110]
mov ecx, eax
mov edx, eax
test ax, ax
js 0x4da61e
mov eax, 0x2000
cmp cx, ax
jge 0x4da61e
lea eax, [edx - 0xa00]
mov ecx, 0x1ff
xorps xmm1, xmm1
cmp ax, cx
ja 0x4da597
cmp byte [esi + 0x1c4], 0
je 0x4da546
movss xmm0, dword [esi + 0x12c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da546
movzx eax, word [esi + 0x11a]
shr eax, 1
jmp 0x4da548
xor eax, eax
add dword [ebx + 0x2d4], eax
movzx eax, word [esi + 0x110]
mov ecx, eax
test ax, ax
js 0x4da5fd
mov eax, 0x2000
cmp cx, ax
jge 0x4da5fd
cmp byte [esi + 0x1c4], 0
je 0x4da5fd
movss xmm0, dword [esi + 0x12c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da5fd
movzx eax, word [esi + 0x11c]
shr eax, 1
jmp 0x4da5ff
cmp byte [esi + 0x1c4], 0
je 0x4da5ba
movss xmm0, dword [esi + 0x12c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da5ba
movzx eax, word [esi + 0x11a]
jmp 0x4da5bc
xor eax, eax
add dword [ebx + 0x2d4], eax
movzx eax, word [esi + 0x110]
mov ecx, eax
test ax, ax
js 0x4da5fd
mov eax, 0x2000
cmp cx, ax
jge 0x4da5fd
cmp byte [esi + 0x1c4], 0
je 0x4da5fd
movss xmm0, dword [esi + 0x12c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4da5fd
movzx eax, word [esi + 0x11c]
jmp 0x4da5ff
xor eax, eax
add dword [ebx + 0x2d0], eax
cmp byte [esi + 0x1c0], 0
jne 0x4da616
mov al, byte [ebx + 0x5f0]
jmp 0x4da618
mov al, 1
mov byte [ebx + 0x5f0], al
movzx esi, word [ebx + 0xcc]
test si, si
jne 0x4da6b9
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb7dc]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb7d8]
cdq
idiv dword [0xbdb7e0]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7e4]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb84c]
cdq
idiv dword [0xbdb850]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb854]
cdq
idiv dword [0xbdb858]
add ecx, eax
mov eax, edi
cdq
mov dword [ebx + 0x924], ecx
idiv dword [0xbdb8bc]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8c0]
jmp 0x4daa21
cmp esi, 1
jne 0x4da729
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb7ec]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb7e8]
cdq
idiv dword [0xbdb7f0]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb7f4]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb85c]
cdq
idiv dword [0xbdb860]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb864]
cdq
idiv dword [0xbdb868]
jmp 0x4da95e
cmp esi, 2
jne 0x4da799
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb7fc]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb7f8]
cdq
idiv dword [0xbdb800]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb804]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb86c]
cdq
idiv dword [0xbdb870]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb874]
cdq
idiv dword [0xbdb878]
jmp 0x4da95e
cmp esi, 3
jne 0x4da809
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb80c]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb808]
cdq
idiv dword [0xbdb810]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb814]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb87c]
cdq
idiv dword [0xbdb880]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb884]
cdq
idiv dword [0xbdb888]
jmp 0x4da95e
cmp esi, 4
jne 0x4da886
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb81c]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb818]
cdq
idiv dword [0xbdb820]
add ecx, eax
mov eax, dword [esp + 0x28]
cdq
idiv dword [0xbdb828]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb824]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb88c]
cdq
idiv dword [0xbdb890]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb894]
cdq
idiv dword [0xbdb898]
jmp 0x4da95e
cmp esi, 5
jne 0x4da8f3
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb830]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb82c]
cdq
idiv dword [0xbdb834]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb838]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb89c]
cdq
idiv dword [0xbdb8a0]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb8a4]
cdq
idiv dword [0xbdb8a8]
jmp 0x4da95e
cmp esi, 6
jne 0x4da966
mov eax, edi
movsx ecx, word [ebx + 0xd0]
imul eax, dword [0xbdb840]
add ecx, dword [ebx + 0x608]
imul ecx, dword [0xbdb83c]
cdq
idiv dword [0xbdb844]
add ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv dword [0xbdb848]
add ecx, eax
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
mov dword [ebx + 0x2f4], ecx
imul eax, dword [0xbdb8ac]
cdq
idiv dword [0xbdb8b0]
mov ecx, eax
mov eax, edi
imul eax, dword [0xbdb8b4]
cdq
idiv dword [0xbdb8b8]
add ecx, eax
mov dword [ebx + 0x924], ecx
cmp esi, 1
jne 0x4da988
mov eax, edi
cdq
idiv dword [0xbdb8c4]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8c8]
jmp 0x4daa21
cmp esi, 2
jne 0x4da9a7
mov eax, edi
cdq
idiv dword [0xbdb8cc]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8d0]
jmp 0x4daa21
cmp esi, 3
jne 0x4da9c6
mov eax, edi
cdq
idiv dword [0xbdb8d4]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8d8]
jmp 0x4daa21
cmp esi, 4
jne 0x4da9e5
mov eax, edi
cdq
idiv dword [0xbdb8dc]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8e0]
jmp 0x4daa21
cmp esi, 5
jne 0x4daa04
mov eax, edi
cdq
idiv dword [0xbdb8e4]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8e8]
jmp 0x4daa21
cmp esi, 6
jne 0x4daa27
mov eax, edi
cdq
idiv dword [0xbdb8ec]
mov dword [ebx + 0x2f8], eax
mov eax, edi
cdq
idiv dword [0xbdb8f0]
mov dword [ebx + 0x2fc], eax
mov esi, dword [ebx + 0x798]
add esi, dword [ebx + 0x2f8]
mov eax, dword [ebx + 0x238]
add esi, eax
mov ecx, dword [ebx + 0x838]
mov edi, dword [ebx + 0x79c]
add edi, dword [ebx + 0x2fc]
add edi, eax
imul ecx, esi
mov eax, 0x51eb851f
mov dword [esp + 0x20], 0xbff
mov dword [esp + 0x38], 1
imul ecx
mov ecx, dword [ebx + 0x83c]
sar edx, 5
mov eax, edx
imul ecx, edi
shr eax, 0x1f
add eax, edx
add esi, eax
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [ebx + 0x868]
sar edx, 5
mov eax, edx
imul ecx, esi
shr eax, 0x1f
add eax, edx
add edi, eax
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [ebx + 0x86c]
sar edx, 5
mov eax, edx
imul ecx, edi
shr eax, 0x1f
add eax, edx
add esi, eax
mov eax, 0x51eb851f
mov dword [ebx + 0x2f8], esi
imul ecx
xor cl, cl
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, edi
mov edi, dword [esp + 0x34]
mov dword [ebx + 0x2fc], edx
movzx eax, word [edi + 4]
cmp ax, word [esp + 0x20]
ja 0x4dab0d
mov ebx, 0x807
cmp ax, bx
je 0x4dab0d
mov edi, 0x80f
cmp ax, di
mov edi, dword [esp + 0x34]
je 0x4dab0d
cmp byte [edi + 0xb8], 0
movzx ecx, cl
cmovne ecx, dword [esp + 0x38]
movzx ebx, word [edi + 0x110]
xor al, al
cmp bx, word [esp + 0x20]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
ja 0x4dab54
mov ebx, 0x807
cmp word [esp + 0x28], bx
mov ebx, dword [esp + 0x2c]
je 0x4dab54
mov ebx, 0x80f
cmp word [esp + 0x28], bx
mov ebx, dword [esp + 0x2c]
je 0x4dab54
cmp byte [edi + 0x1c4], 0
movzx eax, al
cmovne eax, dword [esp + 0x38]
test cl, cl
je 0x4dab94
test al, al
movzx eax, byte [edi + 0xb]
je 0x4dab86
movzx ecx, byte [edi + 0x117]
add ecx, eax
shr ecx, 1
add esi, ecx
mov dword [ebx + 0x2f8], esi
movzx ecx, byte [edi + 0x117]
movzx eax, byte [edi + 0xb]
add ecx, eax
shr ecx, 1
add edx, ecx
jmp 0x4dabb0
add esi, eax
mov dword [ebx + 0x2f8], esi
movzx eax, byte [edi + 0xb]
jmp 0x4dabae
test al, al
je 0x4dabb6
movzx eax, byte [edi + 0x117]
add esi, eax
mov dword [ebx + 0x2f8], esi
movzx eax, byte [edi + 0x117]
add edx, eax
mov dword [ebx + 0x2fc], edx
movzx eax, word [edi + 0x540]
mov ecx, eax
test ax, ax
js 0x4dabf5
mov eax, 0x2000
cmp cx, ax
jge 0x4dabf5
cmp byte [edi + 0x5f4], 0
je 0x4dabf5
movzx eax, byte [edi + 0x547]
add esi, eax
mov dword [ebx + 0x2f8], esi
movzx eax, byte [edi + 0x547]
add edx, eax
mov dword [ebx + 0x2fc], edx
movzx eax, word [edi + 0x864]
mov ecx, eax
test ax, ax
js 0x4dac34
mov eax, 0x2000
cmp cx, ax
jge 0x4dac34
cmp byte [edi + 0x918], 0
je 0x4dac34
movzx eax, byte [edi + 0x86b]
add esi, eax
mov dword [ebx + 0x2f8], esi
movzx eax, byte [edi + 0x86b]
add edx, eax
mov dword [ebx + 0x2fc], edx
movzx eax, word [edi + 0x970]
mov ecx, eax
test ax, ax
js 0x4dac73
mov eax, 0x2000
cmp cx, ax
jge 0x4dac73
cmp byte [edi + 0xa24], 0
je 0x4dac73
movzx eax, byte [edi + 0x977]
add eax, esi
mov dword [ebx + 0x2f8], eax
movzx eax, byte [edi + 0x977]
add eax, edx
mov dword [ebx + 0x2fc], eax
movzx eax, word [ebx + 0xcc]
test ax, ax
jne 0x4dac8c
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb8f4]
jmp 0x4dacf6
cmp eax, 1
jne 0x4dac9e
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb8f8]
jmp 0x4dacf6
cmp eax, 2
jne 0x4dacb0
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb8fc]
jmp 0x4dacf6
cmp eax, 3
jne 0x4dacc2
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb900]
jmp 0x4dacf6
cmp eax, 4
jne 0x4dacd4
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb904]
jmp 0x4dacf6
cmp eax, 5
jne 0x4dace6
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb908]
jmp 0x4dacf6
cmp eax, 6
jne 0x4dacfc
mov eax, dword [esp + 0x1c]
cdq
idiv dword [0xbdb90c]
mov dword [ebx + 0x308], eax
mov ecx, dword [ebx + 0x390]
mov edi, 0x2000
xorps xmm1, xmm1
movzx eax, word [ecx + 0x110]
mov edx, eax
test ax, ax
js 0x4dad40
cmp dx, di
jge 0x4dad40
cmp byte [ecx + 0x1c4], 0
je 0x4dad40
movss xmm0, dword [ecx + 0x12c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dad40
movzx edx, byte [ecx + 0x11e]
jmp 0x4dad42
xor edx, edx
add edx, dword [ebx + 0x308]
mov dword [ebx + 0x308], edx
movzx eax, word [ecx + 0x21c]
mov esi, eax
test ax, ax
js 0x4dad84
cmp si, di
jge 0x4dad84
cmp byte [ecx + 0x2d0], 0
je 0x4dad84
movss xmm0, dword [ecx + 0x238]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dad84
movzx eax, byte [ecx + 0x22a]
jmp 0x4dad86
xor eax, eax
add edx, eax
mov dword [ebx + 0x308], edx
movzx eax, word [ecx + 0x328]
mov esi, eax
test ax, ax
js 0x4dadc4
cmp si, di
jge 0x4dadc4
cmp byte [ecx + 0x3dc], 0
je 0x4dadc4
movss xmm0, dword [ecx + 0x344]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dadc4
movzx eax, byte [ecx + 0x336]
jmp 0x4dadc6
xor eax, eax
add edx, eax
mov esi, 0x2000
mov dword [ebx + 0x308], edx
movzx eax, word [ecx + 0x434]
mov edi, eax
mov dword [esp + 0x14], edi
test ax, ax
js 0x4dae0d
cmp ax, si
jge 0x4dae0d
cmp byte [ecx + 0x4e8], 0
je 0x4dae0d
movss xmm0, dword [ecx + 0x450]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dae0d
movzx eax, byte [ecx + 0x442]
jmp 0x4dae0f
xor eax, eax
add edx, eax
mov dword [ebx + 0x308], edx
movzx eax, word [ecx + 0x540]
mov edi, eax
mov dword [esp + 0x14], edi
test ax, ax
js 0x4dae51
cmp ax, si
jge 0x4dae51
cmp byte [ecx + 0x5f4], 0
je 0x4dae51
movss xmm0, dword [ecx + 0x55c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dae51
movzx eax, byte [ecx + 0x54e]
jmp 0x4dae53
xor eax, eax
add edx, eax
mov dword [ebx + 0x308], edx
movzx eax, word [ecx + 0x64c]
mov edi, eax
mov dword [esp + 0x14], edi
test ax, ax
js 0x4dae95
cmp ax, si
jge 0x4dae95
cmp byte [ecx + 0x700], 0
je 0x4dae95
movss xmm0, dword [ecx + 0x668]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4dae95
movzx eax, byte [ecx + 0x65a]
jmp 0x4dae97
xor eax, eax
add edx, eax
mov dword [ebx + 0x308], edx
movzx eax, word [ecx + 0x758]
mov esi, eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1c]
test ax, ax
js 0x4daee4
mov eax, 0x2000
cmp word [esp + 0x14], ax
jge 0x4daee4
cmp byte [ecx + 0x80c], 0
je 0x4daee4
movss xmm0, dword [ecx + 0x774]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4daee4
movzx eax, byte [ecx + 0x766]
jmp 0x4daee6
xor eax, eax
add eax, edx
mov dword [esp + 0x3c], eax
mov dword [ebx + 0x308], eax
movzx eax, word [ebx + 0xcc]
mov ecx, eax
mov dword [esp + 0x20], ecx
test ax, ax
jne 0x4daf2f
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb910]
cdq
idiv dword [0xbdb914]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb918]
jmp 0x4db044
cmp eax, 1
jne 0x4daf5f
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb91c]
cdq
idiv dword [0xbdb920]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb924]
jmp 0x4db044
cmp eax, 2
jne 0x4daf8f
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb928]
cdq
idiv dword [0xbdb92c]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb930]
jmp 0x4db044
cmp eax, 3
jne 0x4dafbf
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb934]
cdq
idiv dword [0xbdb938]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb93c]
jmp 0x4db044
cmp eax, 4
jne 0x4dafec
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb940]
cdq
idiv dword [0xbdb944]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb948]
jmp 0x4db044
cmp eax, 5
jne 0x4db019
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb94c]
cdq
idiv dword [0xbdb950]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb954]
jmp 0x4db044
cmp eax, 6
jne 0x4db04c
movsx eax, word [ebx + 0xd0]
add eax, dword [ebx + 0x608]
imul eax, dword [0xbdb958]
cdq
idiv dword [0xbdb95c]
mov ecx, eax
mov eax, esi
cdq
idiv dword [0xbdb960]
add ecx, eax
mov dword [ebx + 0x928], ecx
or edx, 0xffffffff
mov ecx, 2
cmp ecx, 2
jne 0x4db061
cmp word [esp + 0x20], 3
jmp 0x4db06c
cmp ecx, 5
jne 0x4db072
cmp word [esp + 0x20], 6
je 0x4db100
mov edi, dword [ebx + 0x390]
imul eax, ecx, 0x10c
mov dword [esp + 0x38], eax
movzx edi, word [eax + edi + 4]
movzx esi, di
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], edi
test di, di
js 0x4db10c
mov esi, 0x2000
cmp word [esp + 0x14], si
mov esi, dword [esp + 0x1c]
jge 0x4db10c
mov edi, dword [ebx + 0x390]
cmp byte [eax + edi + 0xb8], 0
je 0x4db10c
cmp edx, 0xffffffff
je 0x4db0db
mov eax, dword [esp + 0x28]
cwde
and eax, 0x800001ff
jns 0x4db0d3
dec eax
or eax, 0xfffffe00
inc eax
cmp eax, edx
jne 0x4db10c
mov eax, dword [esp + 0x38]
mov edx, dword [ebx + 0x390]
mov dword [ebx + 0x888], 1
movsx edx, word [eax + edx + 4]
and edx, 0x800001ff
jns 0x4db100
dec edx
or edx, 0xfffffe00
inc edx
inc ecx
cmp ecx, 6
jle 0x4db054
jmp 0x4db116
mov dword [ebx + 0x888], 0
xor edx, edx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x38], edx
cmp dword [ebx + 0x888], edx
je 0x4db1fc
movzx edi, word [ebx + 0xcc]
mov ecx, 2
mov esi, dword [ebx + 0x390]
cmp ecx, 2
jne 0x4db170
cmp edi, 3
jne 0x4db17e
inc edx
inc ecx
jmp 0x4db162
cmp ecx, 5
jne 0x4db17e
cmp edi, 6
jne 0x4db17e
inc edx
inc ecx
jmp 0x4db162
imul eax, ecx, 0x10c
movzx eax, word [eax + esi + 6]
cmp ax, 0xa
jne 0x4db195
inc dword [esp + 0x28]
jmp 0x4db1cc
cmp ax, 0xb
jne 0x4db1a1
inc dword [esp + 0x30]
jmp 0x4db1cc
cmp ax, 0xc
jne 0x4db1ad
inc dword [esp + 0x20]
jmp 0x4db1cc
cmp ax, 0xd
jne 0x4db1b9
inc dword [esp + 0x18]
jmp 0x4db1cc
cmp ax, 0xe
jne 0x4db1c5
inc dword [esp + 0x10]
jmp 0x4db1cc
cmp ax, 0xf
jne 0x4db1cc
inc edx
inc ecx
cmp ecx, 6
jle 0x4db162
mov esi, dword [esp + 0x3c]
mov eax, 0x51eb851f
mov dword [esp + 0x38], edx
lea ecx, [esi + esi*4]
add ecx, ecx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, esi
mov esi, dword [esp + 0x1c]
mov dword [ebx + 0x308], eax
movzx eax, word [ebx + 0xcc]
test ax, ax
jne 0x4db213
mov eax, esi
cdq
idiv dword [0xbdb964]
jmp 0x4db271
cmp eax, 1
jne 0x4db223
mov eax, esi
cdq
idiv dword [0xbdb968]
jmp 0x4db271
cmp eax, 2
jne 0x4db233
mov eax, esi
cdq
idiv dword [0xbdb96c]
jmp 0x4db271
cmp eax, 3
jne 0x4db243
mov eax, esi
cdq
idiv dword [0xbdb970]
jmp 0x4db271
cmp eax, 4
jne 0x4db253
mov eax, esi
cdq
idiv dword [0xbdb974]
jmp 0x4db271
cmp eax, 5
jne 0x4db263
mov eax, esi
cdq
idiv dword [0xbdb978]
jmp 0x4db271
cmp eax, 6
jne 0x4db277
mov eax, esi
cdq
idiv dword [0xbdb97c]
mov dword [ebx + 0x300], eax
mov ecx, dword [ebx + 0x390]
mov edi, 0x2000
movzx eax, word [ecx + 0x110]
mov edx, eax
test ax, ax
js 0x4db2b8
cmp dx, di
jge 0x4db2b8
cmp byte [ecx + 0x1c4], 0
je 0x4db2b8
movss xmm0, dword [ecx + 0x12c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db2b8
movzx edx, word [ecx + 0x120]
jmp 0x4db2ba
xor edx, edx
add edx, dword [ebx + 0x300]
mov dword [ebx + 0x300], edx
movzx eax, word [ecx + 0x21c]
mov esi, eax
test ax, ax
js 0x4db2fc
cmp si, di
jge 0x4db2fc
cmp byte [ecx + 0x2d0], 0
je 0x4db2fc
movss xmm0, dword [ecx + 0x238]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db2fc
movzx eax, word [ecx + 0x22c]
jmp 0x4db2fe
xor eax, eax
add edx, eax
mov dword [ebx + 0x300], edx
movzx eax, word [ecx + 0x328]
mov esi, eax
test ax, ax
js 0x4db33c
cmp si, di
jge 0x4db33c
cmp byte [ecx + 0x3dc], 0
je 0x4db33c
movss xmm0, dword [ecx + 0x344]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db33c
movzx eax, word [ecx + 0x338]
jmp 0x4db33e
xor eax, eax
add edx, eax
mov dword [ebx + 0x300], edx
movzx eax, word [ecx + 0x434]
mov edi, eax
mov dword [esp + 0x3c], edi
mov edi, 0x2000
test ax, ax
js 0x4db385
cmp ax, di
jge 0x4db385
cmp byte [ecx + 0x4e8], 0
je 0x4db385
movss xmm0, dword [ecx + 0x450]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db385
movzx eax, word [ecx + 0x444]
jmp 0x4db387
xor eax, eax
add edx, eax
mov dword [ebx + 0x300], edx
movzx eax, word [ecx + 0x540]
mov esi, eax
mov dword [esp + 0x3c], esi
test ax, ax
js 0x4db3c9
cmp ax, di
jge 0x4db3c9
cmp byte [ecx + 0x5f4], 0
je 0x4db3c9
movss xmm0, dword [ecx + 0x55c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db3c9
movzx eax, word [ecx + 0x550]
jmp 0x4db3cb
xor eax, eax
add edx, eax
mov dword [ebx + 0x300], edx
movzx eax, word [ecx + 0x64c]
mov esi, eax
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x1c]
test ax, ax
js 0x4db411
cmp ax, di
jge 0x4db411
cmp byte [ecx + 0x700], 0
je 0x4db411
movss xmm0, dword [ecx + 0x668]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db411
movzx eax, word [ecx + 0x65c]
jmp 0x4db413
xor eax, eax
add edx, eax
mov dword [ebx + 0x300], edx
movzx eax, word [ecx + 0x758]
mov dword [esp + 0x58], edx
mov edi, eax
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x34]
test ax, ax
js 0x4db464
mov eax, 0x2000
cmp word [esp + 0x3c], ax
jge 0x4db464
cmp byte [ecx + 0x80c], 0
je 0x4db464
movss xmm0, dword [ecx + 0x774]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4db464
movzx eax, word [ecx + 0x768]
jmp 0x4db466
xor eax, eax
lea ecx, [eax + edx]
mov dword [esp + 0x14], eax
mov dword [ebx + 0x300], ecx
movzx edx, word [edi + 0x864]
mov eax, edx
test dx, dx
js 0x4db4ea
cmp ax, word [esp + 0x40]
jge 0x4db4ea
cmp byte [edi + 0x918], 0
mov dword [esp + 0x1c], ecx
je 0x4db4ee
movss xmm0, dword [edi + 0x880]
ucomiss xmm0, xmm1
mov dword [esp + 0x1c], ecx
lahf
test ah, 0x44
jnp 0x4db4ee
mov eax, 0x1a04
mov dword [esp + 0x1c], ecx
cmp dx, ax
jne 0x4db4ee
mov ecx, dword [edi + 0x924]
mov eax, 0x66666667
imul esi
lea esi, [ecx*2 + 5]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
add edx, dword [esp + 0x58]
add eax, edx
add esi, eax
mov dword [ebx + 0x300], esi
jmp 0x4db4f2
mov esi, ecx
jmp 0x4db4f2
mov esi, dword [esp + 0x1c]
cmp dword [ebx + 0x888], 0
je 0x4db5f4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
add edx, ecx
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
add eax, edx
add eax, dword [esp + 0x28]
add eax, dword [esp + 0x30]
cmp eax, 5
jl 0x4db5f4
cmp ecx, 5
jne 0x4db541
mov ecx, esi
shl ecx, 4
sub ecx, esi
add ecx, ecx
jmp 0x4db5db
mov eax, dword [esp + 0x10]
cmp eax, 5
je 0x4db5d8
cmp dword [esp + 0x58], 5
je 0x4db5d8
cmp dword [esp + 0x18], 5
je 0x4db5d0
cmp dword [esp + 0x40], 5
je 0x4db5d0
cmp edx, 5
je 0x4db5c7
add eax, ecx
add eax, dword [esp + 0x18]
add eax, edx
cmp eax, 5
je 0x4db5c7
cmp dword [esp + 0x30], 5
je 0x4db5c0
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, dword [esp + 0x18]
add eax, edx
add eax, dword [esp + 0x30]
cmp eax, 5
je 0x4db5c0
mov esi, dword [esp + 0x28]
cmp esi, 5
je 0x4db5b5
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, dword [esp + 0x18]
add eax, edx
add eax, esi
add eax, dword [esp + 0x30]
cmp eax, 5
jne 0x4db5f4
mov esi, dword [ebx + 0x300]
lea ecx, [esi + esi*4]
jmp 0x4db5db
lea ecx, [esi + esi*4]
add ecx, ecx
jmp 0x4db5db
mov ecx, esi
shl ecx, 4
sub ecx, esi
jmp 0x4db5db
lea ecx, [esi + esi*4]
shl ecx, 2
jmp 0x4db5db
imul ecx, esi, 0x19
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, esi
mov dword [ebx + 0x300], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x390]
add ecx, 0x10c
mov dword [esp + 0x58], eax
mov dword [esp + 0x20], ecx
mov edx, dword [eax*4 + 0x20a514c]
lea esi, [eax + eax*4]
mov dword [esp + 0x14], edx
cmp word [edx + 0xcc], 4
jne 0x4db7fe
cmp dword [esi*8 + 0xcd73c4], 0
jge 0x4db63a
mov dword [esp + 0x28], 1
jmp 0x4db64e
xor ebx, ebx
cmp dword [esi*8 + 0xcd73c4], 0x1194
setge bl
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
mov edi, 0x1a05
mov dword [esi*8 + 0xcd73b4], 0
mov dword [esi*8 + 0xcd73b8], 0
mov dword [esi*8 + 0xcd73bc], 0
mov dword [esi*8 + 0xcd73c0], 0
mov dword [esi*8 + 0xcd73c4], 0xffffffff
mov dword [esi*8 + 0xcd73c8], 0xffffffff
mov dword [esi*8 + 0xcd73cc], 0
mov dword [esi*8 + 0xcd73d4], 0
cmp word [ecx + 4], di
mov edi, dword [esp + 0x34]
jne 0x4db7fe
cmp byte [ecx + 0xb8], 0
je 0x4db7fe
mov dword [esi*8 + 0xcd73c4], eax
mov dword [esi*8 + 0xcd73d4], ecx
mov eax, dword [edx + 0x124]
add eax, dword [edx + 0xf8]
cdq
idiv dword [0xbdb5d0]
mov ecx, dword [ecx + 0xc4]
add eax, dword [0xbdb5c8]
imul ecx, dword [0xbdb5cc]
add ecx, eax
mov dword [esi*8 + 0xcd73b4], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x124]
add eax, dword [ecx + 0xf8]
cdq
idiv dword [0xbdb5dc]
mov edx, dword [esp + 0x20]
add eax, dword [0xbdb5d4]
mov ecx, dword [edx + 0xc4]
imul ecx, dword [0xbdb5d8]
add ecx, eax
mov dword [esi*8 + 0xcd73b8], ecx
mov eax, dword [edx + 0xc4]
imul eax, dword [0xbdb5e4]
cdq
idiv dword [0xbdb5e8]
mov edx, dword [esp + 0x14]
mov ecx, eax
add ecx, dword [0xbdb5e0]
mov eax, dword [edx + 0x124]
add eax, dword [edx + 0xf8]
cdq
idiv dword [0xbdb5ec]
add eax, ecx
mov dword [esi*8 + 0xcd73bc], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc4]
imul eax, dword [0xbdb5f4]
cdq
idiv dword [0xbdb5f8]
add eax, dword [0xbdb5f0]
cmp byte [esp + 0x28], 0
mov dword [esi*8 + 0xcd73c0], eax
je 0x4db7fe
mov ecx, dword [esp + 0x58]
test ecx, ecx
js 0x4db7fe
cmp ecx, 0x1194
jge 0x4db7fe
mov eax, dword [ecx*4 + 0x20a514c]
cmp word [eax + 0xcc], 4
jne 0x4db7fe
cmp dword [esi*8 + 0xcd73d0], 0
je 0x4db7fe
push 7
lea edx, [esp + 0x5c]
mov dword [esi*8 + 0xcd73d0], 0
mov dword [esp + 0x5c], 0xa707c1
mov word [esp + 0x60], 0xff00
mov byte [esp + 0x62], 0xff
call fcn.00526480
add esp, 4
mov dl, byte [edi + 0xae8]
mov dh, byte [edi + 0x9dc]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbf4]
cmp cl, al
jbe 0x4db82c
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db82e
mov cl, al
mov byte [ebx + 0x356], cl
mov dl, byte [edi + 0xae9]
mov dh, byte [edi + 0x9dd]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbf5]
cmp cl, al
jbe 0x4db862
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db864
mov cl, al
mov byte [ebx + 0x357], cl
mov dl, byte [edi + 0xaea]
mov dh, byte [edi + 0x9de]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbf6]
cmp cl, al
jbe 0x4db898
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db89a
mov cl, al
mov byte [ebx + 0x358], cl
mov dl, byte [edi + 0xaeb]
mov dh, byte [edi + 0x9df]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbf7]
cmp cl, al
jbe 0x4db8ce
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db8d0
mov cl, al
mov byte [ebx + 0x359], cl
mov dl, byte [edi + 0xaec]
mov dh, byte [edi + 0x9e0]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbf8]
cmp cl, al
jbe 0x4db904
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db906
mov cl, al
mov byte [ebx + 0x35a], cl
mov dl, byte [edi + 0xaed]
mov dh, byte [edi + 0x9e1]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbf9]
cmp cl, al
jbe 0x4db93a
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db93c
mov cl, al
mov byte [ebx + 0x35b], cl
mov dl, byte [edi + 0xaee]
mov dh, byte [edi + 0x9e2]
cmp dh, dl
movzx eax, dl
movzx ecx, dh
cmovbe ecx, eax
mov al, byte [edi + 0xbfa]
cmp cl, al
jbe 0x4db970
cmp dh, dl
movzx ecx, dh
movzx eax, dl
cmovbe ecx, eax
jmp 0x4db972
mov cl, al
mov byte [ebx + 0x35c], cl
mov ecx, ebx
call fcn.0051ed10
push 0
push ebx
call fcn.004a6e00
push 0
push ebx
call fcn.00505100
push 0
push ebx
call fcn.004ab2d0
push 0
push ebx
call fcn.004050f0
push 0
push ebx
call fcn.00518250
push 0
push ebx
call fcn.004b6fe0
push 0
push ebx
call fcn.0045b1f0
xor edx, edx
xor esi, esi
mov dword [esp + 0x14], edx
nop
mov ecx, dword [ebx + 0x11bc]
add ecx, esi
movzx eax, word [ecx + 4]
mov edi, eax
mov dword [esp + 0x58], edi
test ax, ax
js 0x4dba06
mov eax, 0x2000
cmp di, ax
jge 0x4dba06
cmp edx, 0xc
jl 0x4dba06
movss xmm0, dword [ecx + 0x20]
comiss xmm0, dword [0x56a714]
jbe 0x4dba06
push 0
push ecx
push ebx
mov ecx, 0x9ed0d8
call fcn.004a6e70
mov edx, dword [esp + 0x14]
inc edx
add esi, 0x10c
mov dword [esp + 0x14], edx
cmp esi, 0x10c0
jl 0x4db9c0
mov edi, dword [esp + 0x34]
mov esi, 0x1ff
movzx ecx, word [edi + 4]
lea eax, [ecx - 0x800]
cmp ax, si
ja 0x4dbac4
mov eax, 0x80f
cmp cx, ax
je 0x4dbac4
cmp byte [edi + 8], 0
jne 0x4dbac4
mov eax, 0x807
cmp word [edi + 0x110], ax
jne 0x4dbb4d
movzx eax, word [edi + 0x112]
test ax, ax
jle 0x4dbb4d
mov esi, dword [ebx + 0x2dc]
cwde
lea ecx, [eax*2 + 1]
mov eax, 0x51eb851f
imul ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc eax
add edx, eax
add edx, esi
mov dword [ebx + 0x2dc], edx
movsx eax, word [edi + 0x112]
lea ecx, [eax*2 + 1]
mov eax, 0x51eb851f
imul ecx, edx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
add dword [ebx + 0x2d8], eax
jmp 0x4dbb4d
movzx edx, word [edi + 0x110]
lea eax, [edx - 0x800]
cmp ax, si
ja 0x4dbb4d
mov eax, 0x807
cmp dx, ax
je 0x4dbb4d
cmp byte [edi + 0x114], 1
jne 0x4dbb4d
mov eax, 0x80f
cmp cx, ax
jne 0x4dbb4d
movzx eax, word [edi + 6]
test ax, ax
jle 0x4dbb4d
mov esi, dword [ebx + 0x2d4]
cwde
lea ecx, [eax*2 + 1]
mov eax, 0x51eb851f
imul ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc eax
add edx, eax
add edx, esi
mov dword [ebx + 0x2d4], edx
movsx eax, word [edi + 6]
lea ecx, [eax*2 + 1]
mov eax, 0x51eb851f
imul ecx, edx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
add dword [ebx + 0x2d0], eax
movzx eax, word [ebx + 0xcc]
cmp eax, 1
je 0x4dbb6c
cmp eax, 3
je 0x4dbb6c
cmp eax, 4
je 0x4dbb6c
cmp eax, 6
jne 0x4dbcb2
movzx eax, word [edi + 4]
mov edx, eax
test ax, ax
js 0x4dbcb2
mov esi, 0x2000
cmp dx, si
jge 0x4dbcb2
movzx eax, word [edi + 0x110]
mov ecx, eax
test ax, ax
js 0x4dbcb2
cmp cx, si
jge 0x4dbcb2
mov eax, 0x7ff
cmp dx, ax
ja 0x4dbcb2
cmp cx, ax
ja 0x4dbcb2
cmp word [ebx + 0xcc], 6
mov eax, dword [ebx + 0x2dc]
mov esi, dword [ebx + 0x2d8]
mov edi, dword [ebx + 0x2d4]
jne 0x4dbc46
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, 0x51eb851f
shl ecx, 2
imul ecx
mov ecx, esi
sar edx, 5
mov eax, edx
shl ecx, 6
shr eax, 0x1f
add ecx, esi
add eax, edx
mov dword [ebx + 0x2dc], eax
mov eax, 0x51eb851f
imul ecx
mov ecx, edi
sar edx, 5
mov eax, edx
shl ecx, 4
shr eax, 0x1f
sub ecx, edi
add eax, edx
shl ecx, 2
mov dword [ebx + 0x2d8], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x2d4], eax
mov eax, dword [ebx + 0x2d0]
mov ecx, eax
shl ecx, 6
add ecx, eax
jmp 0x4dbc9b
imul ecx, eax, 0x37
mov eax, 0x51eb851f
imul ecx
imul ecx, esi, 0x37
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x2dc], eax
mov eax, 0x51eb851f
imul ecx
imul ecx, edi, 0x37
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x2d8], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, dword [ebx + 0x2d0], 0x37
mov dword [ebx + 0x2d4], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebx + 0x2d0], eax
movzx eax, word [ebx + 0xcc]
movsx edx, word [ebx + 0xd0]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [edx - 1]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm0, dword [ecx + 0x6400fc]
movss dword [ebx + 0x100], xmm0
movaps xmm4, xmm2
movss xmm1, dword [ecx + 0x640100]
movss dword [ebx + 0x10c], xmm1
mulss xmm4, dword [ecx + 0x640104]
addss xmm4, xmm0
movss dword [ebx + 0x100], xmm4
mulss xmm2, dword [ecx + 0x640108]
addss xmm2, xmm1
movss dword [ebx + 0x10c], xmm2
cmp dword [0xbdabf0], 0
je 0x4dbd6d
cmp edx, dword [0xbdaa68]
jl 0x4dbd6d
cmp byte [ebx + 0xcf], 2
jb 0x4dbd6d
movd xmm1, dword [ebx + 0x608]
cvtdq2ps xmm1, xmm1
movaps xmm3, xmm1
mulss xmm3, dword [ecx + 0x640104]
addss xmm3, xmm4
movss dword [ebx + 0x100], xmm3
mulss xmm1, dword [ecx + 0x640108]
addss xmm1, xmm2
movss dword [ebx + 0x10c], xmm1
jmp 0x4dbd73
movaps xmm3, xmm4
movaps xmm1, xmm2
mov eax, dword [ebx + 0x11c]
sub eax, dword [ecx + 0x6400f0]
add eax, dword [ebx + 0xf0]
push ebx
movd xmm0, eax
mov eax, dword [ebx + 0x120]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x134]
addss xmm0, xmm3
movss dword [ebx + 0x100], xmm0
sub eax, dword [ecx + 0x6400f4]
add eax, dword [ebx + 0xf4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x138]
addss xmm0, xmm1
movss dword [ebx + 0x10c], xmm0
call fcn.004d9660
mov edi, dword [ebx + 0x120]
add edi, dword [ebx + 0x11c]
add edi, dword [ebx + 0x118]
add edi, dword [ebx + 0x114]
add edi, dword [ebx + 0xf4]
add edi, dword [ebx + 0xf0]
add edi, dword [ebx + 0xec]
add edi, dword [ebx + 0xe8]
cmp word [ebx + 0xcc], 4
jne 0x4dbe1b
mov eax, dword [ebx + 0x124]
add eax, dword [ebx + 0xf8]
add edi, eax
movsx ecx, word [ebx + 0xd0]
mov eax, dword [ebx + 0x608]
add eax, ecx
imul edi, dword [0xbdabe0]
imul eax, eax
movd xmm0, dword [ebx + 0x878]
movss xmm3, dword [ebx + 0x100]
cvtdq2ps xmm0, xmm0
cdq
idiv dword [0xbdabe4]
mulss xmm0, xmm3
mov esi, eax
mov eax, 0x66666667
movss xmm2, dword [ebx + 0x10c]
imul edi
mov eax, dword [ebx + 0x300]
sar edx, 2
add esi, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, esi
cdq
sub eax, edx
sar eax, 1
add eax, ecx
cvttss2si ecx, xmm0
mov dword [ebx + 0x158], eax
mov dword [esp + 0x20], eax
mov eax, 0x51eb851f
movd xmm0, dword [ebx + 0x848]
imul ecx
cvtdq2ps xmm0, xmm0
mov eax, 0x51eb851f
sar edx, 5
mulss xmm0, xmm3
mov esi, edx
shr esi, 0x1f
add esi, edx
cvttss2si ecx, xmm0
movd xmm0, dword [ebx + 0x87c]
imul ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [ebx + 0x14c]
sar edx, 5
mov ecx, edx
mulss xmm0, xmm2
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
add ecx, dword [ebx + 0x7a8]
add eax, ecx
cvttss2si ecx, xmm0
mov dword [ebx + 0x14c], eax
mov dword [esp + 0x58], eax
mov eax, 0x51eb851f
movd xmm0, dword [ebx + 0x84c]
imul ecx
cvtdq2ps xmm0, xmm0
mov eax, 0x51eb851f
sar edx, 5
mulss xmm0, xmm2
mov esi, edx
shr esi, 0x1f
add esi, edx
cvttss2si ecx, xmm0
imul ecx
mov eax, dword [esp + 0x2c]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
mov edi, dword [eax + 0x12c]
add ecx, edx
sub ecx, esi
add ecx, dword [ebx + 0x7ac]
mov ebx, dword [ebx + 0x150]
add ebx, ecx
mov ecx, dword [eax + 0x880]
imul ecx, edi
mov dword [eax + 0x150], ebx
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [esp + 0x2c]
mov eax, 0x51eb851f
sar edx, 5
mov esi, edx
shr esi, 0x1f
mov ecx, dword [ecx + 0x850]
add esi, edx
imul ecx, edi
imul ecx
mov eax, 0x51eb851f
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [esp + 0x2c]
sub edi, esi
add edi, dword [edx + 0x7b0]
mov ecx, dword [edx + 0x854]
imul ecx, dword [esp + 0x20]
add edi, dword [edx + 0x130]
mov dword [edx + 0x130], edi
imul ecx
mov ecx, dword [esp + 0x2c]
mov eax, 0x51eb851f
sar edx, 5
mov esi, edx
shr esi, 0x1f
mov ecx, dword [ecx + 0x884]
add esi, edx
imul ecx, dword [esp + 0x20]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [esp + 0x2c]
add esi, dword [eax + 0x7b4]
mov edx, dword [eax + 0x15c]
add edx, esi
mov esi, eax
mov dword [esi + 0x15c], edx
mov eax, dword [esi + 0x644]
mov ecx, dword [eax*4 + 0xbdc1a0]
imul ecx, dword [esi + 0x740]
mov eax, dword [esp + 0x58]
cmp ecx, dword [0xbdc1b0]
cmovg ecx, dword [0xbdc1b0]
add eax, ecx
mov ecx, dword [esp + 0x20]
add ecx, edx
mov dword [esi + 0x14c], eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm3
movss xmm3, dword [esp + 0x54]
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x44]
divss xmm0, xmm3
minss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esi + 0xfc], xmm1
mulss xmm0, dword [esp + 0x48]
movd xmm1, ebx
mov ebx, esi
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
addss xmm1, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x4c]
cmp eax, ecx
cmovle ecx, eax
mov dword [esi + 0x154], ecx
divss xmm0, xmm3
mov ecx, dword [ebx + 0x12c]
add ecx, edi
minss xmm1, xmm0
movd xmm0, ecx
movss dword [ebx + 0x108], xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x50]
divss xmm0, xmm3
cvttss2si eax, xmm0
cmp eax, ecx
cmovle ecx, eax
mov dword [ebx + 0x128], ecx
mov ecx, ebx
call fcn.004ea2f0
movsx eax, word [ebx + 0xd0]
movzx ecx, word [ebx + 0xcc]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x73c]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x94c]
mov edx, dword [ecx*4 + 0xbdb4a0]
mov esi, dword [ebx + 0x8a0]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x97c]
mov dword [esp + 0x78], eax
mov eax, edx
imul eax, esi
mov ecx, dword [ecx*4 + 0xbdb484]
mov dword [esp + 0x7c], esi
imul esi, ecx
mov dword [esp + 0x60], 0xf4f3d8c1
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x8a8]
imul edx, eax
mov dword [esp + 0x88], eax
imul eax, ecx
mov ecx, dword [ebx + 0x93c]
mov byte [esp + 0x64], 1
mov dword [esp + 0x84], esi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x890]
mov dword [esp + 0x94], eax
mov eax, dword [ebx + 0x894]
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x948]
add eax, dword [ebx + 0x944]
add eax, dword [ebx + 0x940]
add eax, dword [ebx + 0x938]
add eax, dword [ebx + 0x934]
add eax, ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x92c]
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x918]
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 0x898]
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x89c]
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0x924]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x928]
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x8b0]
mov dword [esp + 0xbc], eax
mov eax, dword [ebx + 0x8b4]
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 0x8b8]
mov dword [esp + 0xc4], eax
mov eax, dword [ebx + 0x8bc]
mov dword [esp + 0xc8], eax
mov eax, dword [ebx + 0x8c0]
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + 0x8c4]
mov dword [esp + 0xd0], eax
movzx eax, byte [ebx + 0x35d]
mov dword [esp + 0xd4], eax
movzx eax, byte [ebx + 0x35e]
mov dword [esp + 0xd8], eax
movzx eax, byte [ebx + 0x35f]
mov dword [esp + 0xdc], eax
movzx eax, byte [ebx + 0x360]
mov dword [esp + 0xe0], eax
movzx eax, byte [ebx + 0x361]
mov dword [esp + 0xe4], eax
lea edx, [esp + 0x60]
movzx eax, byte [ebx + 0x362]
mov dword [esp + 0xe8], eax
movzx eax, byte [ebx + 0x363]
mov dword [esp + 0xec], eax
movzx eax, byte [ebx + 0x356]
mov dword [esp + 0xf0], eax
movzx eax, byte [ebx + 0x357]
mov dword [esp + 0xf4], eax
movzx eax, byte [ebx + 0x358]
mov dword [esp + 0xf8], eax
movzx eax, byte [ebx + 0x359]
mov dword [esp + 0xfc], eax
movzx eax, byte [ebx + 0x35a]
mov dword [esp + 0x100], eax
movzx eax, byte [ebx + 0x35b]
mov dword [esp + 0x104], eax
movzx eax, byte [ebx + 0x35c]
mov dword [esp + 0x108], eax
mov eax, dword [ebx + 0x980]
mov ecx, dword [ebx]
mov dword [esp + 0x10c], eax
mov eax, dword [ebx + 0x984]
mov dword [esp + 0x110], eax
mov eax, dword [ebx + 0x988]
mov dword [esp + 0x114], eax
mov eax, dword [ebx + 0x990]
mov dword [esp + 0x118], eax
mov eax, dword [ebx + 0x994]
mov dword [esp + 0x11c], eax
mov eax, dword [ebx + 0x998]
mov dword [esp + 0x120], eax
mov eax, dword [ebx + 0x2f8]
mov dword [esp + 0x124], eax
mov eax, dword [ebx + 0x2fc]
mov dword [esp + 0x128], eax
mov eax, dword [ebx + 0x2b8]
mov dword [esp + 0x12c], eax
mov eax, dword [ebx + 0x2bc]
mov dword [esp + 0x130], eax
mov eax, dword [ebx + 0x2f4]
push 0xd8
mov dword [esp + 0x138], eax
call fcn.00526480
add esp, 4
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4