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

Disassembly:
push 8
push 0x198
mov eax, 0x1009303b
call fcn.1008e7e0
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x194], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
mov esi, dword [0x100c353c]
inc ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x148], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x174], eax
mov eax, dword [esi + 0x3e28]
mov dword [ebp - 0x134], esi
mov byte [eax + 0xa8], cl
mov edi, dword [esi + 0x3e28]
mov dword [ebp - 0x11c], edi
cmp byte [edi + 0xab], 0
jne 0x100534e0
mov edx, dword [ebx + 0x14]
xor eax, eax
inc eax
mov ecx, edx
shr ecx, 0x1a
and cl, al
mov eax, edx
shr eax, 0xe
and eax, 0xffffff01
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x130], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x188], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x14c], eax
mov eax, edx
xor edx, edx
shr eax, 0x12
inc edx
and al, dl
mov dword [ebp - 0x17c], eax
test cl, cl
je 0x100532f2
call fcn.10010043
push ecx
push dword [ebp - 0x194]
mov ecx, edi
call fcn.10006542
movss xmm0, dword [0x100b1cc8]
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x118], eax
xor eax, eax
push ecx
inc eax
mov dword [esp], 0xbf800000
push eax
push 0
lea ecx, [ebp - 0x1a0]
movss dword [ebp - 0x190], xmm0
call fcn.100085b1
add esp, 0xc
cmp byte [ebp - 0x124], 0
je 0x10053353
movss xmm0, dword [esi + 0x3bb4]
mulss xmm0, dword [0x100b1b90]
jmp 0x1005335b
movss xmm0, dword [ebp - 0x19c]
movss xmm2, dword [esi + 0x37d8]
addss xmm2, xmm2
addss xmm2, xmm0
call fcn.1000fe89
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x168]
movaps xmm1, xmm0
push dword [eax + 4]
push dword [eax]
call fcn.1000feee
movss xmm1, dword [ebp - 0x1a0]
xorps xmm0, xmm0
comiss xmm1, xmm0
pop ecx
pop ecx
jbe 0x100533a2
addss xmm1, dword [esi + 0x37ec]
jmp 0x100533a5
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x164]
lea ecx, [ebp - 0x8c]
addss xmm0, dword [edi + 0xf0]
movss xmm2, dword [ebp - 0x168]
mov eax, dword [edi + 0xf0]
addss xmm1, xmm2
mov edx, dword [edi + 0xec]
movaps xmm3, xmm2
addss xmm3, dword [edi + 0xec]
movss dword [ebp - 0x90], xmm0
mov dword [ebp - 0x98], eax
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [ebp - 0x164]
mov dword [ebp - 0x9c], edx
addss xmm1, dword [ebp - 0x9c]
movss dword [ebp - 0x180], xmm2
movss dword [ebp - 0x18c], xmm3
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x13c], eax
movss dword [ebp - 0x94], xmm3
movss dword [ebp - 0x144], xmm1
movss dword [ebp - 0x108], xmm0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0x24], xmm0
mov dword [ebp - 0x150], edi
call fcn.1000139e
cmp byte [ebp - 0x124], 0
lea ecx, [ebp - 0x15c]
movss xmm1, dword [ebp - 0x108]
movss xmm0, dword [ebp - 0x144]
subss xmm1, dword [ebp - 0x2c]
subss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x158], xmm1
movss xmm1, dword [esi + 0x37d8]
movss dword [ebp - 0x15c], xmm0
je 0x10053681
mov eax, dword [edi + 0xec]
mov dword [ebp - 0x154], eax
mov eax, dword [edi + 0xf0]
mov dword [ebp - 0x18c], eax
call fcn.1000f819
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 0x9c]
push 0x400
push eax
lea ecx, [ebp - 0x30]
call fcn.1000f96d
pop ecx
pop ecx
test al, al
jne 0x100534eb
call fcn.1001015e
xor al, al
mov ecx, dword [ebp - 0x14]
call fcn.1008e7be
ret
mov eax, dword [esi + 0x46a4]
lea edi, [ebp - 0x8c]
push 0xf
pop ecx
add esi, 0x469c
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x154]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x134]
push 3
mov dword [ecx + 0xec], eax
mov eax, dword [ebp - 0x18c]
lea edx, [esi + 0x38d0]
mov dword [ecx + 0xf0], eax
pop ecx
call fcn.100048b8
movss xmm1, dword [esi + 0x37dc]
push 7
pop ecx
call fcn.10004950
movss xmm1, dword [esi + 0x37e0]
push 8
pop ecx
call fcn.10004950
and dword [ebp - 0x15c], 0
lea edx, [ebp - 0x15c]
and dword [ebp - 0x158], 0
push 2
pop eax
mov ecx, eax
call fcn.100049ac
movss xmm1, dword [ebp - 0x94]
xor eax, eax
movss xmm0, dword [ebp - 0x90]
inc eax
subss xmm0, dword [ebp - 0x98]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x194]
movss dword [ebp - 0x18c], xmm1
subss xmm1, dword [ebp - 0x9c]
push 4
push eax
lea eax, [ebp - 0x15c]
movss dword [ebp - 0x158], xmm0
push eax
movss dword [ebp - 0x15c], xmm1
call fcn.100089eb
add esp, 0xc
mov byte [ebp - 0x135], al
push 3
pop ecx
call fcn.10004a1a
xor eax, eax
inc eax
mov ecx, eax
call fcn.10004900
cmp byte [ebp - 0x135], 0
jne 0x100535fc
call fcn.10008be5
jmp 0x100534db
mov edx, dword [esi + 0x3e28]
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x184], edi
movsx ecx, word [edx + 0x14a]
mov eax, dword [edx + 0x144]
bts ecx, eax
mov eax, dword [ebp - 0x98]
mov word [edx + 0x14a], cx
movss xmm0, dword [esi + 0x37d4]
addss xmm0, dword [edx + 0xec]
mov dword [ebp - 0x13c], eax
movss dword [edx + 0xec], xmm0
movss xmm0, dword [esi + 0x37d8]
addss xmm0, dword [edx + 0xf0]
movss dword [edx + 0xf0], xmm0
movss xmm0, dword [ebp - 0x168]
subss xmm0, dword [edx + 0x9c]
movss dword [ebp - 0x180], xmm0
jmp 0x100536e7
call fcn.1000f819
test dword [ebx + 0x14], 0x10000000
jne 0x100536db
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 0x9c]
push 0x400
push eax
lea ecx, [ebp - 0x30]
call fcn.1000f96d
pop ecx
pop ecx
test al, al
je 0x100534e0
mov eax, dword [ebp - 0x98]
movss xmm1, dword [ebp - 0x94]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x9c]
movss dword [ebp - 0x18c], xmm1
mov dword [ebp - 0x184], eax
mov eax, dword [esi + 0x46a4]
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x118]
lea ecx, [ebp - 0x9c]
call fcn.10006ada
mov cl, al
mov byte [ebp - 0x137], cl
test cl, cl
je 0x1005370d
xor eax, eax
inc eax
mov dword [esi + 0x492c], eax
mov edx, dword [ebp - 0x118]
mov edi, dword [0x100c353c]
test edx, edx
je 0x1005372d
cmp dword [edi + 0x4a74], edx
jne 0x1005372d
add edi, 0x4a70
jmp 0x1005372f
xor edi, edi
mov eax, dword [ebp - 0x108]
shr eax, 8
and al, 1
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x108], eax
mov eax, dword [esi + 0x3e74]
cmp eax, edx
je 0x10053776
cmp dword [esi + 0x47c0], edx
je 0x1005376b
cmp dword [esi + 0x47b4], edx
jne 0x10053776
push 2
pop edx
cmp dword [esi + 0x47dc], edx
jne 0x10053776
xor edx, edx
inc edx
mov byte [ebp - 0xfe], dl
jmp 0x10053780
xor edx, edx
mov byte [ebp - 0xfe], 0
inc edx
test cl, cl
je 0x10053793
cmp byte [esi + 0x36f8], 0
mov byte [ebp - 0x100], dl
jne 0x1005379a
mov byte [ebp - 0x100], 0
cmp byte [ebp - 0x124], 0
je 0x100537cf
test edi, edi
je 0x100537cf
test eax, eax
jne 0x100537cf
push ecx
mov ecx, dword [ebp - 0x150]
push str.SCROLLY
call fcn.10006542
cmp dword [esi + 0x3e9c], eax
jne 0x100537cf
xor eax, eax
inc eax
mov byte [ebp - 0x101], al
jmp 0x100537eb
mov eax, dword [ebp - 0x124]
xor edx, edx
mov byte [ebp - 0x101], dl
test al, al
je 0x1005382d
mov byte [ebp - 0x101], dl
test edi, edi
je 0x1005382d
push ecx
mov ecx, dword [ebp - 0x150]
push str.SCROLLY
call fcn.10006542
cmp dword [esi + 0x3e74], eax
jne 0x10053825
xor eax, eax
mov byte [ebp - 0x11d], 0
inc eax
mov byte [ebp - 0x110], 0
mov cl, al
mov eax, dword [ebp - 0x124]
mov byte [ebp - 0xff], cl
jmp 0x10053845
mov eax, dword [ebp - 0x124]
xor edx, edx
mov byte [ebp - 0x11d], dl
mov cl, dl
mov byte [ebp - 0x110], dl
mov byte [ebp - 0xff], cl
test al, al
je 0x10053854
mov edx, dword [ebp - 0x150]
movss xmm0, dword [edx + 0x78]
xor edx, edx
jmp 0x10053864
movss xmm0, dword [0x100b1c98]
mov cl, dl
mov byte [ebp - 0xff], cl
movss dword [ebp - 0x144], xmm0
test edi, edi
je 0x10053882
xor al, 1
cmp byte [edi + 0x57], al
je 0x10053882
xor eax, eax
inc eax
mov byte [ebp - 0x125], al
jmp 0x1005388a
mov al, dl
mov byte [ebp - 0x125], dl
cmp byte [ebp - 0x100], 0
jne 0x100538c0
cmp byte [ebp - 0x101], 0
jne 0x100538c0
cmp byte [ebp - 0xfe], 0
jne 0x100538c0
cmp byte [ebp - 0x108], 0
jne 0x100538c0
mov byte [ebp - 0x109], dl
test cl, cl
jne 0x100538cb
mov byte [ebp - 0x111], dl
jmp 0x100538e2
xor ecx, ecx
inc ecx
mov byte [ebp - 0x109], cl
jmp 0x100538ce
xor ecx, ecx
inc ecx
mov byte [ebp - 0x111], cl
mov ecx, dword [ebp - 0x118]
cmp dword [esi + 0x3e74], ecx
jne 0x100538ea
test al, al
je 0x10053acc
mov edx, dword [ebp - 0x12c]
lea edi, [esi + 0x4a70]
mov dword [ebp - 0x140], edi
mov dword [edi + 0xe6c], 0xbe99999a
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10053909
sub edx, ecx
lea ecx, [edi + 0x28]
mov dword [ebp - 0x154], edx
lea esi, [edx + 1]
push esi
call fcn.1001bd63
push esi
push dword [ebp - 0x12c]
push dword [edi + 0x30]
call fcn.1006dd10
mov esi, dword [ebp - 0x118]
add esp, 0xc
cmp dword [edi + 4], esi
jne 0x1005397a
cmp byte [ebp - 0x125], 0
jne 0x1005397a
xor eax, eax
inc eax
mov byte [ebp - 0x101], al
mov eax, dword [ebp - 0x154]
cmp dword [edi + 0xc], eax
jne 0x1005397a
cmp byte [edi + 0x34], 0
je 0x10053981
push eax
push dword [ebp - 0x12c]
push dword [edi + 0x24]
call fcn.10079f30
add esp, 0xc
test eax, eax
je 0x10053981
mov byte [ebp - 0x101], 0
and dword [ebp - 0x18], 0
lea ecx, [edi + 0x10]
mov dword [edi + 4], esi
mov esi, dword [ebx + 0xc]
lea eax, [esi + 1]
push eax
call fcn.1001be20
lea ecx, [edi + 0x1c]
push 0
call fcn.1001bd63
mov ecx, dword [edi + 0x18]
lea eax, [ebp - 0x18]
push eax
push 0
push dword [ebp - 0x12c]
mov edx, esi
mov byte [edi + 0x34], 0
call fcn.10003334
mov ecx, dword [ebp - 0x18]
add esp, 0xc
sub ecx, dword [ebp - 0x12c]
mov edx, eax
mov dword [edi + 0xc], ecx
mov cl, byte [ebp - 0x101]
mov dword [edi + 8], edx
test cl, cl
je 0x100539f8
cmp dword [edi + 0x40], edx
cmovl eax, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], eax
mov eax, edx
cmovl eax, dword [edi + 0x44]
cmp dword [edi + 0x48], edx
mov dword [edi + 0x44], eax
cmovl edx, dword [edi + 0x48]
jmp 0x10053a47
and dword [edi + 0x3c], 0
xor eax, eax
mov word [edi + 0xe5e], ax
xor edx, edx
and dword [edi + 0x5c], edx
push 0x63
pop eax
mov word [edi + 0xe60], ax
xor eax, eax
inc eax
mov dword [edi + 0xe64], edx
mov byte [edi + 0x55], al
mov al, byte [ebp - 0x124]
xor al, 1
mov dword [edi + 0xe68], 0x3e7
mov dword [edi + 0x44], edx
mov dword [edi + 0x40], edx
mov byte [edi + 0x56], dl
mov byte [edi + 0x54], dl
mov byte [edi + 0x57], al
mov byte [edi + 0x4c], dl
mov dword [edi + 0x50], edx
cmp byte [ebp - 0x124], 0
mov dword [edi + 0x48], edx
jne 0x10053ab7
mov edx, dword [ebp - 0x110]
test byte [ebx + 0x14], 0x10
push 1
pop eax
movzx edx, dl
cmovne edx, eax
cmp byte [ebp - 0xfe], 0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x110], edx
je 0x10053a91
test cl, cl
je 0x10053a88
test byte [eax + 0x47c4], 4
jne 0x10053a91
xor ecx, ecx
inc ecx
mov byte [ebp - 0x110], cl
cmp byte [ebp - 0x108], 0
jne 0x10053aac
cmp byte [ebp - 0x100], 0
je 0x10053ab7
cmp byte [eax + 0xdd0], 0
je 0x10053ab7
xor eax, eax
inc eax
mov byte [ebp - 0x110], al
jmp 0x10053aba
xor eax, eax
inc eax
test dword [ebx + 0x14], 0x2000
mov esi, dword [ebp - 0x134]
je 0x10053acc
mov byte [edi + 0x4c], al
mov ecx, dword [ebp - 0x118]
cmp dword [esi + 0x3e74], ecx
je 0x10053b1c
cmp byte [ebp - 0x109], 0
je 0x10053b10
mov edx, dword [ebp - 0x11c]
call fcn.100067d4
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
call fcn.100117ca
mov ecx, dword [ebp - 0x11c]
call fcn.1000ce86
mov ecx, dword [ebp - 0x118]
cmp dword [esi + 0x3e74], ecx
jne 0x10053c14
cmp byte [ebp - 0x100], 0
je 0x10053b39
push ecx
mov edx, ecx
mov ecx, 0x281
call fcn.1000f731
pop ecx
mov ecx, dword [ebp - 0x118]
mov eax, dword [esi + 0x4670]
or eax, 3
cmp byte [ebp - 0x124], 0
mov dword [esi + 0x4670], eax
jne 0x10053b58
mov edx, dword [ebx + 0x14]
test dl, dl
jns 0x10053b61
or eax, 0xc
mov dword [esi + 0x4670], eax
push ecx
mov edx, ecx
mov ecx, 0x207
call fcn.1000f731
mov edx, dword [ebp - 0x118]
mov ecx, 0x208
call fcn.1000f731
cmp byte [ebp - 0x124], 0
pop ecx
je 0x10053baa
mov edx, dword [ebp - 0x118]
push ecx
mov ecx, 0x205
call fcn.1000f731
mov edx, dword [ebp - 0x118]
mov ecx, 0x206
call fcn.1000f731
pop ecx
test dword [ebx + 0x14], 0x440
je 0x10053bc5
mov edx, dword [ebp - 0x118]
push ecx
mov ecx, 0x200
call fcn.1000f731
pop ecx
mov ecx, dword [ebp - 0x118]
cmp dword [esi + 0x3e74], ecx
jne 0x10053c14
test edi, edi
jne 0x10053be6
xor edx, edx
xor ecx, ecx
call fcn.100067d4
mov ecx, dword [ebp - 0x118]
cmp dword [esi + 0x3e74], ecx
jne 0x10053c14
xor eax, eax
inc eax
cmp byte [esi + 0x36f8], 0
je 0x10053c24
cmp byte [ebp - 0x111], 0
jne 0x10053c24
cmp byte [ebp - 0x109], 0
jne 0x10053c24
mov byte [ebp - 0x11d], al
jmp 0x10053c24
test edi, edi
je 0x10053c28
cmp byte [ebp - 0xff], 0
je 0x10053c28
xor eax, eax
inc eax
mov dl, al
jmp 0x10053c2a
xor dl, dl
mov byte [ebp - 0xfd], dl
test edi, edi
je 0x10053c50
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
jne 0x10053c45
cmp byte [ebp - 0x110], 0
je 0x10053c50
test dl, dl
je 0x10053c50
xor eax, eax
lea edx, [eax + 1]
jmp 0x10053c52
xor dl, dl
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x11c], edx
mov byte [ebp - 0x136], dl
mov byte [ebp - 0x135], 0
mov byte [ebp - 0x125], 0
test al, al
je 0x10053d21
test edi, edi
je 0x10053d21
cmp byte [ebp - 0xfd], 0
jne 0x10053c93
test dl, dl
je 0x10053d2e
mov eax, dword [ebx + 0xc]
lea ecx, [edi + 0x10]
and dword [ebp - 0x108], 0
inc eax
push eax
call fcn.1001be20
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x108]
mov ecx, dword [edi + 0x18]
push eax
push 0
push dword [ebp - 0x12c]
call fcn.10003334
mov ecx, dword [ebp - 0x108]
mov edx, eax
sub ecx, dword [ebp - 0x12c]
add esp, 0xc
cmp dword [edi + 0x40], edx
movzx eax, byte [ebp - 0x136]
mov esi, dword [ebp - 0x134]
mov dword [edi + 0xc], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x44]
cmp dword [edi + 0x48], edx
mov dword [edi + 8], edx
cmovl edx, dword [edi + 0x48]
cmp ecx, edx
mov dword [edi + 0x48], edx
push 0
pop edx
cmovne edx, eax
mov dword [edi + 0x44], ecx
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x11c], edx
cmp byte [ebp - 0xfd], 0
jne 0x10053d36
test dl, dl
jne 0x10053d36
cmp dword [esi + 0x3e74], ecx
jne 0x10053d4a
test al, al
jne 0x10053d4a
test edi, edi
je 0x10053d4a
cmp byte [edi + 0x34], al
je 0x10053d4a
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x10053d4f
xor ecx, ecx
xor al, al
inc ecx
cmp dword [ebp - 0x178], 0
mov byte [ebp - 0x136], al
je 0x10053d7c
test al, al
je 0x10053d67
mov eax, dword [edi + 0x24]
jmp 0x10053d6d
mov eax, dword [ebp - 0x12c]
cmp byte [eax], 0
jne 0x10053d7c
mov al, cl
mov byte [ebp - 0x109], cl
jmp 0x10053d84
xor al, al
mov byte [ebp - 0x109], al
cmp byte [ebp - 0x188], 0
je 0x10053df8
test al, al
jne 0x10053df8
mov ecx, dword [esi + 0x3bb0]
push 0x2a
call fcn.1003f3f0
mov ecx, dword [ecx + 0x10]
mov edx, eax
mov eax, dword [ebp - 0x134]
add esi, 0x58e8
mov dword [esi + 0x10], ecx
mov ecx, dword [eax + 0x3bb0]
mov ecx, dword [ecx + 0x44]
mov dword [esi + 0x44], ecx
mov ecx, dword [eax + 0x3bb0]
mov ecx, dword [ecx + 0x48]
mov dword [esi + 0x48], ecx
mov ecx, esi
mov eax, dword [eax + 0x3bb0]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x3bb0]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x30], eax
mov dword [esi + 0x2c], edx
mov eax, dword [edx + 4]
mov dword [esi + 0xc], eax
call fcn.1000d051
mov esi, dword [ebp - 0x134]
and dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x198], 0xa
cmp dword [esi + 0x3e74], ecx
jne 0x10054201
mov eax, dword [edi + 0xc]
mov edx, dword [ebx + 0x14]
mov byte [edi + 0xe72], 0
mov dword [edi + 0xe74], edx
mov dword [ebp - 0x154], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x38], eax
cmp byte [esi + 0xdc0], 0
sete al
xor ecx, ecx
inc ecx
mov byte [esi + 0x3e81], al
cmp byte [ebp - 0x124], 0
mov dword [esi + 0x5be0], ecx
movss xmm2, dword [esi + 0xdb8]
subss xmm2, dword [ebp - 0x9c]
subss xmm2, dword [esi + 0x37d4]
addss xmm2, dword [edi + 0x3c]
je 0x10053e97
mov eax, dword [ebp - 0x150]
movss xmm3, dword [esi + 0xdbc]
subss xmm3, dword [eax + 0xf0]
jmp 0x10053ea7
movss xmm3, dword [esi + 0x3bb4]
mulss xmm3, dword [0x100b1a5c]
cmp byte [ebp - 0x110], 0
mov al, byte [esi + 0x61]
mov byte [ebp - 0x100], al
je 0x10053edb
mov eax, dword [edi + 8]
and dword [edi + 0x44], 0
mov dword [edi + 0x48], eax
mov dword [edi + 0x40], eax
mov al, byte [ebp - 0x100]
mov byte [edi + 0x56], 0
mov byte [edi + 0xe71], cl
jmp 0x10053ff6
mov cl, byte [ebp - 0x137]
test cl, cl
je 0x10054041
push 2
pop edx
cmp word [esi + 0x3702], dx
mov edx, dword [ebx + 0x14]
jb 0x10054041
cmp byte [esi + 0xdd1], 0
jne 0x10054041
lea edx, [edi + 0x40]
mov ecx, edi
call fcn.10051e0e
movzx eax, word [esi + 0x3702]
xor edx, edx
push 2
pop ecx
sub eax, ecx
inc edx
mov ecx, dword [edi + 0x40]
test dl, al
jne 0x10053f88
test ecx, ecx
je 0x10053f41
mov eax, dword [edi + 0x18]
push 0xa
movzx eax, word [eax + ecx*2 - 2]
pop ecx
cmp ax, cx
je 0x10053f41
xor cl, cl
jmp 0x10053f43
mov cl, dl
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
jne 0x10053f4f
test cl, cl
jne 0x10053f5c
mov eax, 0x20000c
mov ecx, edi
push eax
call fcn.10052d9a
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
jne 0x10053f6c
lea ecx, [edi + 0x40]
call fcn.100520ca
mov edx, dword [edi + 0x40]
mov ecx, edi
call fcn.10051b0b
lea edx, [edi + 0x40]
mov dword [edi + 0x40], eax
mov ecx, edi
mov dword [edi + 0x48], eax
call fcn.10051fb5
jmp 0x10053fe0
mov eax, dword [edi + 0x18]
push 0x200004
movzx esi, word [eax + ecx*2]
mov ecx, edi
call fcn.10052d9a
push 0x600005
mov ecx, edi
call fcn.10052d9a
push 0x600001
mov ecx, edi
call fcn.10052d9a
push 0xa
pop eax
cmp si, ax
je 0x10053fd3
cmp byte [ebp - 0x124], 0
je 0x10053fd3
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x48]
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], ecx
mov dword [edi + 0x40], ecx
mov esi, dword [ebp - 0x134]
mov byte [edi + 0xe70], 0
mov al, byte [ebp - 0x100]
mov edx, dword [ebx + 0x14]
mov dword [edi + 0xe6c], 0xbe99999a
xor ecx, ecx
inc ecx
cmp byte [edi + 0xe71], 0
je 0x1005400f
cmp byte [esi + 0xdc0], 0
jne 0x1005400f
mov byte [edi + 0xe71], 0
cmp byte [esi + 0xdd0], 0
je 0x10054021
cmp byte [esi + 0xdd2], 0
je 0x10054036
test al, al
je 0x100540e7
cmp byte [esi + 0xdd3], 0
je 0x100540e7
mov byte [ebp - 0xff], cl
jmp 0x100540ee
cmp byte [esi + 0x36f8], 0
je 0x10054079
cmp byte [edi + 0xe71], 0
jne 0x10054079
test cl, cl
je 0x10053ff3
cmp byte [esi + 0xdd1], 0
lea edx, [edi + 0x40]
mov ecx, edi
je 0x1005406f
call fcn.10051e52
jmp 0x10053fe0
call fcn.10051e0e
jmp 0x10053fe0
cmp byte [esi + 0xdc0], 0
je 0x10053ff3
cmp byte [edi + 0xe71], 0
jne 0x10053ff3
movss xmm0, dword [esi + 0xb4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100540bc
movss xmm0, dword [esi + 0xb8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10053ff3
lea edx, [edi + 0x40]
mov ecx, edi
call fcn.10051e52
mov al, byte [ebp - 0x100]
xor ecx, ecx
mov edx, dword [ebx + 0x14]
inc ecx
mov dword [edi + 0xe6c], 0xbe99999a
mov byte [edi + 0xe70], cl
jmp 0x10053ff6
mov byte [ebp - 0xff], 0
test edx, 0x400
je 0x100542c1
push ecx
xor edx, edx
mov ecx, 0x200
call fcn.1000e041
pop ecx
mov ecx, dword [ebp - 0x130]
test al, al
mov al, byte [ebp - 0xff]
je 0x10054170
test al, al
jne 0x10054170
cmp byte [esi + 0xdd1], al
jne 0x10054170
mov edx, dword [ebx + 0x14]
test cl, cl
jne 0x10054173
push 2
pop eax
push eax
push dword [ebp - 0x174]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x108], 9
push dword [ebp - 0x148]
call fcn.10052f1c
add esp, 0xc
test al, al
je 0x10054164
push dword [ebp - 0x108]
mov ecx, edi
call fcn.10052d9a
mov ecx, dword [ebp - 0x130]
mov al, byte [ebp - 0xff]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x3770], 0
jle 0x10054201
test al, al
jne 0x100541f4
test cl, cl
jne 0x100541f4
cmp byte [ebp - 0xfe], cl
jne 0x100541f4
xor ecx, ecx
mov dword [ebp - 0x108], ecx
mov eax, dword [esi + 0x3778]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x110], eax
cmp eax, 9
je 0x100541e2
push 2
pop eax
push eax
push dword [ebp - 0x174]
lea ecx, [ebp - 0x110]
push dword [ebp - 0x148]
call fcn.10052f1c
add esp, 0xc
test al, al
je 0x100541dc
push dword [ebp - 0x110]
mov ecx, edi
call fcn.10052d9a
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebx + 0x14]
inc ecx
mov dword [ebp - 0x108], ecx
cmp ecx, dword [esi + 0x3770]
jl 0x10054198
lea ecx, [esi + 0x3770]
push 0
call fcn.1001be20
mov eax, dword [ebp - 0x118]
xor cl, cl
mov byte [ebp - 0xfe], cl
cmp dword [esi + 0x3e74], eax
jne 0x10054c55
cmp byte [esi + 0x3e80], cl
jne 0x10054c55
cmp byte [ebp - 0x11d], cl
jne 0x10054c55
movss xmm0, dword [ebp - 0x164]
xor edx, edx
subss xmm0, dword [esi + 0x37d8]
inc edx
mov ecx, edx
divss xmm0, dword [esi + 0x3bb4]
cvttss2si eax, xmm0
cmp eax, edx
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x50], ecx
cmp byte [esi + 0xdd1], al
mov dword [ebp - 0x108], ecx
mov ecx, 0x400000
cmovne eax, ecx
mov dword [ebp - 0x110], eax
mov al, byte [esi + 0x61]
mov byte [ebp - 0x169], al
test al, al
je 0x100542d2
cmp byte [esi + 0xdd3], 0
mov al, byte [esi + 0xdd2]
mov byte [ebp - 0xff], al
je 0x100542de
cmp byte [esi + 0xdd0], 0
mov byte [ebp - 0xff], al
jne 0x100542de
mov byte [ebp - 0xff], al
test al, al
jne 0x100542de
mov byte [ebp - 0x100], dl
mov byte [ebp - 0xff], al
jmp 0x100542e5
mov al, byte [ebp - 0xff]
mov ecx, dword [ebp - 0x130]
jmp 0x10054173
mov al, byte [esi + 0xdd0]
mov byte [ebp - 0xff], al
mov byte [ebp - 0x100], 0
push edx
mov edx, dword [ebp - 0x118]
mov ecx, 0xa39
call fcn.1000f746
pop ecx
test al, al
jne 0x10054314
mov edx, dword [ebp - 0x118]
xor eax, eax
inc eax
mov ecx, 0x220a
push eax
call fcn.1000f746
pop ecx
test al, al
je 0x10054342
cmp byte [ebp - 0x130], 0
jne 0x10054342
cmp byte [ebp - 0x188], 0
jne 0x10054342
cmp byte [ebp - 0x124], 0
je 0x10054337
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
je 0x10054342
xor eax, eax
inc eax
mov byte [ebp - 0x101], al
jmp 0x10054349
mov byte [ebp - 0x101], 0
mov edx, dword [ebp - 0x118]
mov ecx, 0xa24
push 0
call fcn.1000f746
pop ecx
test al, al
jne 0x10054377
mov edx, dword [ebp - 0x118]
mov ecx, 0x1209
push 0
call fcn.1000f746
pop ecx
test al, al
je 0x1005439c
cmp byte [ebp - 0x188], 0
jne 0x1005439c
cmp byte [ebp - 0x124], 0
je 0x10054391
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
je 0x1005439c
xor eax, eax
inc eax
mov byte [ebp - 0x16d], al
jmp 0x100543a6
xor eax, eax
mov byte [ebp - 0x16d], 0
inc eax
mov edx, dword [ebp - 0x118]
mov ecx, 0xa37
push eax
call fcn.1000f746
pop ecx
test al, al
jne 0x100543d5
mov edx, dword [ebp - 0x118]
xor eax, eax
inc eax
mov ecx, 0x2209
push eax
call fcn.1000f746
pop ecx
test al, al
je 0x100543e9
cmp byte [ebp - 0x130], 0
jne 0x100543e9
xor eax, eax
inc eax
mov byte [ebp - 0x137], al
jmp 0x100543f3
xor eax, eax
mov byte [ebp - 0x137], 0
inc eax
mov edx, dword [ebp - 0x118]
mov ecx, 0xa3b
push eax
call fcn.1000f746
pop ecx
test al, al
je 0x10054420
cmp byte [ebp - 0x130], 0
jne 0x10054420
cmp byte [ebp - 0x14c], 0
je 0x10054420
xor eax, eax
inc eax
jmp 0x10054422
xor al, al
mov edx, dword [ebp - 0x118]
mov ecx, 0xa3a
mov byte [ebp - 0x16b], al
xor eax, eax
inc eax
push eax
call fcn.1000f746
pop ecx
test al, al
jne 0x10054462
cmp byte [ebp - 0x169], al
je 0x1005447f
mov edx, dword [ebp - 0x118]
xor eax, eax
inc eax
mov ecx, 0x2a3b
push eax
call fcn.1000f746
pop ecx
test al, al
je 0x1005447f
cmp byte [ebp - 0x130], 0
jne 0x1005447f
cmp byte [ebp - 0x14c], 0
je 0x1005447f
xor eax, eax
inc eax
mov byte [ebp - 0x16c], al
jmp 0x10054486
mov byte [ebp - 0x16c], 0
mov edx, dword [ebp - 0x118]
mov ecx, 0xa22
push 0
call fcn.1000f746
mov byte [ebp - 0x15], al
xor eax, eax
inc eax
test byte [esi + 8], 2
pop ecx
je 0x100544b0
mov byte [ebp - 0x126], al
test byte [esi + 0xc], al
jne 0x100544b7
mov byte [ebp - 0x126], 0
push eax
xor edx, edx
mov ecx, 0x20d
call fcn.1000e041
pop ecx
test al, al
jne 0x100544e6
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x267
push eax
call fcn.1000e041
pop ecx
test al, al
jne 0x100544e6
mov byte [ebp - 0x16a], al
jmp 0x100544ef
xor eax, eax
inc eax
mov byte [ebp - 0x16a], al
cmp byte [ebp - 0x126], 0
je 0x10054529
push 0
xor edx, edx
mov ecx, 0x26e
call fcn.1000e041
pop ecx
test al, al
jne 0x1005451e
push 0
xor edx, edx
mov ecx, 0x26d
call fcn.1000e041
pop ecx
test al, al
je 0x10054529
xor eax, eax
inc eax
mov byte [ebp - 0x111], al
jmp 0x10054533
xor eax, eax
mov byte [ebp - 0x111], 0
inc eax
mov edx, dword [ebp - 0x118]
mov ecx, 0x20e
push eax
call fcn.1000f746
pop ecx
test al, al
jne 0x10054576
cmp byte [ebp - 0x126], al
je 0x1005456a
mov edx, dword [ebp - 0x118]
xor eax, eax
inc eax
mov ecx, 0x26c
push eax
call fcn.1000f746
pop ecx
test al, al
jne 0x10054576
xor eax, eax
mov byte [ebp - 0x126], 0
inc eax
jmp 0x1005457f
xor eax, eax
inc eax
mov byte [ebp - 0x126], al
push eax
xor edx, edx
mov ecx, 0x201
call fcn.1000e041
pop ecx
test al, al
je 0x100545c5
cmp byte [ebp - 0xff], 0
mov eax, 0x200000
lea ecx, [eax + 0xc]
cmovne eax, ecx
cmp byte [ebp - 0x100], 0
mov ecx, 0x200004
cmovne eax, ecx
or eax, dword [ebp - 0x110]
push eax
mov ecx, edi
call fcn.10052d9a
jmp 0x10054c22
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x202
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x100545fb
cmp byte [ebp - 0xff], 0
mov eax, 0x200001
lea ecx, [eax + 0xc]
cmovne eax, ecx
lea edx, [ecx - 8]
cmp byte [ebp - 0x100], 0
cmovne eax, edx
jmp 0x100545b2
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x203
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x1005466b
cmp byte [ebp - 0x124], 0
je 0x1005466b
cmp byte [esi + 0xdd0], 0
je 0x10054658
mov eax, dword [ebp - 0x150]
movss xmm0, dword [eax + 0x78]
subss xmm0, dword [esi + 0x3bb4]
and dword [eax + 0x90], 0
and dword [eax + 0x98], 0
maxss xmm0, dword [0x100b19d4]
movss dword [eax + 0x88], xmm0
jmp 0x10054c22
movzx eax, byte [ebp - 0x100]
lea eax, [eax*4 + 0x200002]
jmp 0x100545b2
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x204
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x100546e6
cmp byte [ebp - 0x124], 0
je 0x100546e6
cmp byte [esi + 0xdd0], 0
je 0x100546d3
mov ecx, dword [ebp - 0x150]
movss xmm0, dword [esi + 0x3bb4]
mov eax, dword [0x100c353c]
addss xmm0, dword [ecx + 0x78]
mov eax, dword [eax + 0x3e28]
minss xmm0, dword [eax + 0x80]
and dword [ecx + 0x90], 0
and dword [ecx + 0x98], 0
movss dword [ecx + 0x88], xmm0
jmp 0x10054c22
movzx eax, byte [ebp - 0x100]
lea eax, [eax*4 + 0x200003]
jmp 0x100545b2
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x205
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x10054744
cmp byte [ebp - 0x124], 0
je 0x10054744
mov ecx, dword [ebp - 0x110]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.10052d9a
movd xmm0, dword [ebp - 0x108]
movss xmm1, dword [ebp - 0x144]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bb4]
subss xmm1, xmm0
movss dword [ebp - 0x144], xmm1
jmp 0x10054c22
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x206
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x1005479e
cmp byte [ebp - 0x124], 0
je 0x1005479e
mov ecx, dword [ebp - 0x110]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.10052d9a
movd xmm0, dword [ebp - 0x108]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bb4]
addss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x144], xmm0
jmp 0x10054c22
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x207
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x100547c7
cmp byte [esi + 0xdd0], 0
mov ecx, 0x200006
lea eax, [ecx - 2]
jmp 0x100545af
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x208
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x100547f0
cmp byte [esi + 0xdd0], 0
mov eax, 0x200005
lea ecx, [eax + 2]
jmp 0x100545af
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x20a
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x10054829
cmp byte [ebp - 0x130], 0
jne 0x10054829
cmp byte [ebp - 0x101], 0
jne 0x10054829
mov ecx, dword [ebp - 0x110]
or ecx, 0x200008
push ecx
jmp 0x100545b9
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x20b
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x1005489d
cmp byte [ebp - 0x130], 0
jne 0x1005489d
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
jne 0x1005488f
cmp byte [ebp - 0xff], 0
je 0x1005485f
push 0x60000c
jmp 0x10054888
cmp byte [ebp - 0x169], 0
je 0x1005488f
cmp byte [esi + 0xdd3], 0
je 0x1005488f
cmp byte [esi + 0xdd2], 0
jne 0x1005488f
cmp byte [esi + 0xdd0], 0
jne 0x1005488f
push 0x600004
mov ecx, edi
call fcn.10052d9a
mov ecx, dword [ebp - 0x110]
or ecx, 0x200009
jmp 0x10054823
cmp byte [ebp - 0x16a], 0
mov cl, byte [ebp - 0x111]
jne 0x10054b8d
test cl, cl
jne 0x10054b8d
cmp byte [ebp - 0x126], cl
je 0x10054915
test dword [ebx + 0x14], 0x100000
je 0x100548f5
mov eax, dword [edi + 0xc]
test eax, eax
jg 0x100548e7
mov byte [ebp - 0x11c], cl
mov byte [ebp - 0xfd], cl
xor ecx, ecx
inc ecx
test eax, eax
mov byte [ebp - 0x11d], cl
setg cl
mov byte [ebp - 0xfe], cl
jmp 0x10054c28
xor eax, eax
xor dl, dl
inc eax
xor ch, ch
mov cl, al
mov byte [ebp - 0xfe], al
mov byte [ebp - 0x11d], al
mov byte [ebp - 0xfd], ch
jmp 0x10054c34
mov al, byte [ebp - 0x16b]
test al, al
jne 0x10054b6a
cmp byte [ebp - 0x16c], al
jne 0x10054b6a
cmp byte [ebp - 0x15], al
je 0x10054953
mov eax, dword [edi + 8]
and dword [edi + 0x44], 0
mov dword [edi + 0x48], eax
mov dword [edi + 0x40], eax
xor eax, eax
inc eax
mov byte [edi + 0x56], 0
mov byte [edi + 0xe70], al
jmp 0x10054c22
mov al, byte [ebp - 0x101]
test al, al
jne 0x10054a7e
cmp byte [ebp - 0x16d], al
jne 0x10054a7e
cmp byte [ebp - 0x137], al
je 0x10054c22
mov eax, dword [0x100c353c]
mov ecx, dword [eax + 0x80]
test ecx, ecx
je 0x100549a1
push dword [eax + 0x88]
call ecx
mov dword [ebp - 0x108], eax
pop ecx
test eax, eax
je 0x10054c22
jmp 0x100549ac
mov eax, 0x1009bdbe
mov dword [ebp - 0x108], eax
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100549b1
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.10006c3a
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x110], ecx
cmp byte [eax], cl
je 0x10054a4e
mov esi, eax
mov edi, ecx
push 0
mov edx, esi
lea ecx, [ebp - 0x108]
call fcn.100031d6
add esi, eax
cmp dword [ebp - 0x108], 0
pop ecx
je 0x10054a33
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x108]
push 4
push dword [ebp - 0x174]
push dword [ebp - 0x148]
call fcn.10052f1c
add esp, 0xc
test al, al
je 0x10054a2e
mov ecx, dword [ebp - 0x18]
mov ax, word [ebp - 0x108]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100549e1
mov esi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x110]
xor eax, eax
mov word [edx + ecx*2], ax
test ecx, ecx
jle 0x10054a72
push ecx
push edx
lea edx, [edi + 0x40]
mov ecx, edi
call fcn.10052cf8
mov edx, dword [ebp - 0x18]
xor eax, eax
pop ecx
inc eax
pop ecx
mov byte [edi + 0xe70], al
mov ecx, edx
call fcn.10006c52
jmp 0x10054c22
cmp dword [esi + 0x84], 0
je 0x10054b1f
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x48]
cmp eax, ecx
je 0x10054a9f
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x10054aa4
mov ecx, dword [edi + 8]
xor esi, esi
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x108], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100034f2
mov edi, eax
lea ecx, [edi + 1]
call fcn.10006c3a
mov ecx, dword [ebp - 0x140]
lea edx, [edi + 1]
mov dword [ebp - 0x110], eax
mov esi, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x14c]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x108]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, eax
call fcn.10003486
pop ecx
pop ecx
mov ecx, dword [ebp - 0x110]
call fcn.10006c6e
mov ecx, dword [ebp - 0x110]
call fcn.10006c52
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x134]
mov al, byte [ebp - 0x101]
test al, al
je 0x10054c22
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
jne 0x10054b40
mov eax, dword [edi + 8]
and dword [edi + 0x44], 0
mov dword [edi + 0x48], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x56], 0
xor eax, eax
lea ecx, [edi + 0x40]
inc eax
mov byte [edi + 0xe70], al
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10054c22
mov edx, ecx
mov ecx, edi
call fcn.10052042
mov byte [edi + 0x56], 0
jmp 0x10054c22
xor ecx, ecx
movzx eax, al
inc ecx
xor eax, ecx
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.10052d9a
mov eax, dword [edi + 0x40]
mov dword [edi + 0x48], eax
mov dword [edi + 0x44], eax
jmp 0x10054c22
mov eax, dword [ebx + 0x14]
xor edx, edx
inc edx
shr eax, 0xb
and al, dl
mov edx, dword [ebp - 0x124]
test dl, dl
je 0x10054bb4
test cl, cl
jne 0x10054bb4
mov cl, byte [esi + 0xdd0]
test al, al
je 0x10054bd6
test cl, cl
jne 0x10054bda
xor eax, eax
inc eax
cmp byte [esi + 0x64], 0
mov byte [ebp - 0x125], al
je 0x10054c1c
test dl, dl
jne 0x10054c1c
mov eax, dword [edi + 8]
and dword [edi + 0x44], 0
mov dword [edi + 0x48], eax
mov dword [edi + 0x40], eax
jmp 0x10054b61
test cl, cl
jne 0x10054bb4
cmp byte [ebp - 0x130], 0
jne 0x10054c22
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x14c]
push 0xa
pop eax
push 2
mov dword [ebp - 0x14c], eax
pop eax
push eax
push dword [ebp - 0x174]
push dword [ebp - 0x148]
call fcn.10052f1c
add esp, 0xc
test al, al
je 0x10054c22
push dword [ebp - 0x14c]
jmp 0x100545b9
mov byte [ebp - 0x11d], al
mov cl, byte [ebp - 0xfe]
mov edx, dword [ebp - 0x11c]
mov ch, byte [ebp - 0xfd]
mov eax, dword [edi + 0x44]
cmp eax, dword [edi + 0x48]
je 0x10054c45
test ch, ch
je 0x10054c45
xor eax, eax
inc eax
jmp 0x10054c47
xor al, al
or dl, al
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], edx
and dword [ebp - 0x108], 0
xor edx, edx
mov dword [ebp - 0x110], edx
cmp dword [esi + 0x3e74], eax
jne 0x100551a1
test cl, cl
je 0x10054d88
cmp byte [ebp - 0x130], dl
jne 0x10054dd2
test dword [ebx + 0x14], 0x100000
je 0x10054cb3
push edx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x110], edx
push eax
lea edx, [edi + 0x40]
mov dword [ebp - 0x108], 0x1009bdbe
mov ecx, edi
call fcn.10052d43
pop ecx
pop ecx
jmp 0x10054d9e
mov ecx, dword [edi + 0x30]
mov eax, dword [ebp - 0x12c]
push 2
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10054cdd
test dl, dl
je 0x10054cd9
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10054cdd
add eax, esi
add ecx, esi
test dl, dl
jne 0x10054cbf
xor eax, eax
jmp 0x10054ce4
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
je 0x10054d9e
mov ecx, dword [edi + 0x28]
xor eax, eax
mov edx, dword [edi + 0x30]
dec ecx
and dword [ebp - 0x28], 0
xor esi, esi
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], esi
and dword [ebp - 4], esi
test ecx, ecx
jle 0x10054d4a
lea esi, [ecx + edx]
mov ecx, dword [ebp - 0x108]
mov edx, esi
call fcn.1000339b
inc eax
lea ecx, [ebp - 0x2c]
push eax
call fcn.1001be20
mov edx, dword [ebp - 0x2c]
push 0
push esi
push dword [ebp - 0x108]
mov esi, dword [ebp - 0x24]
mov ecx, esi
call fcn.10003334
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov edx, dword [ebp - 0x110]
lea ecx, [eax - 1]
xor eax, eax
test edx, edx
lea edx, [edi + 0x40]
cmovg eax, ecx
mov ecx, edi
push eax
push esi
call fcn.10052d43
pop ecx
pop ecx
test esi, esi
je 0x10054d82
mov eax, dword [0x100c353c]
test eax, eax
je 0x10054d7b
dec dword [eax + 0xb0]
push esi
call fcn.10074f80
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x10054d9e
and dword [ebp - 0x108], edx
xor edx, edx
mov dword [ebp - 0x110], edx
cmp byte [ebp - 0x130], dl
jne 0x10054ded
xor eax, eax
lea ecx, [edi + 0x1c]
inc eax
mov byte [edi + 0x34], al
mov eax, dword [edi + 0x10]
lea eax, [eax*4 + 1]
push eax
call fcn.1001bd63
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x24]
push 0
push dword [edi + 0x18]
call fcn.10003486
cmp byte [ebp - 0xfe], 0
pop ecx
pop ecx
je 0x10054ded
cmp byte [ebp - 0x125], 0
mov ecx, dword [ebx + 0x14]
je 0x100550d0
test cl, 0x20
je 0x100550d0
jmp 0x10054df0
mov ecx, dword [ebx + 0x14]
test ecx, 0x801c0
je 0x1005507e
xor esi, esi
test cl, 0x40
je 0x10054e25
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x200
push eax
call fcn.1000e041
pop ecx
mov ecx, dword [ebx + 0x14]
test al, al
je 0x10054e25
push 0x40
pop eax
mov esi, 0x200
jmp 0x10054e90
test cl, cl
jns 0x10054e71
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x203
push eax
call fcn.1000e041
pop ecx
test al, al
je 0x10054e4d
mov ecx, dword [ebx + 0x14]
mov eax, 0x80
mov esi, 0x203
jmp 0x10054e90
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x204
push eax
call fcn.1000e041
pop ecx
mov ecx, dword [ebx + 0x14]
test al, al
je 0x10054e71
mov eax, 0x80
mov esi, 0x204
jmp 0x10054e90
mov eax, 0x80000
test eax, ecx
je 0x10054e83
cmp byte [edi + 0xe72], 0
jne 0x10054e90
mov edx, 0x100
push 0
test edx, ecx
pop eax
cmovne eax, edx
test eax, eax
je 0x1005507e
and dword [ebp - 0xc0], 0
xor edx, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0xab], dx
mov byte [ebp - 0xa9], dl
mov dword [ebp - 0xc8], ecx
cmp byte [ebp - 0x130], dl
jne 0x10054ed7
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xb4], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0xbc], esi
mov esi, dword [edi + 0x18]
mov ecx, esi
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 0x40]
mov byte [ebp - 0xac], dl
lea edx, [esi + eax*2]
call fcn.100034f2
mov ecx, dword [ebp - 0x140]
mov edi, eax
mov dword [ebp - 0xa8], edi
mov ecx, dword [ecx + 0x44]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100034f2
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 0x48]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100034f2
mov esi, eax
lea eax, [ebp - 0xcc]
push eax
mov dword [ebp - 0xa0], esi
call dword [ebp - 0x148]
mov edx, dword [ebp - 0xa8]
pop ecx
mov cl, byte [ebp - 0xac]
mov byte [ebp - 0x111], cl
cmp edx, edi
jne 0x10054f75
test cl, cl
je 0x10054fa2
mov ecx, dword [ebp - 0xb8]
add edx, ecx
call fcn.1000339b
mov edi, dword [ebp - 0x140]
mov edx, dword [ebp - 0xa8]
mov cl, byte [ebp - 0x111]
mov dword [edi + 0x40], eax
xor eax, eax
inc eax
mov byte [edi + 0xe70], al
jmp 0x10054fa8
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x14c]
jne 0x10054fba
test cl, cl
je 0x10054fe2
cmp eax, edx
jne 0x10054fc3
mov ecx, dword [edi + 0x40]
jmp 0x10054fd9
mov ecx, dword [ebp - 0xb8]
lea edx, [eax + ecx]
call fcn.1000339b
mov ecx, eax
mov eax, dword [ebp - 0xa4]
mov dword [edi + 0x44], ecx
mov cl, byte [ebp - 0x111]
mov edx, dword [ebp - 0xa0]
cmp edx, esi
jne 0x10054ff4
test cl, cl
je 0x1005507e
cmp edx, eax
jne 0x10054ffd
mov eax, dword [edi + 0x44]
jmp 0x1005500a
mov ecx, dword [ebp - 0xb8]
add edx, ecx
call fcn.1000339b
cmp byte [ebp - 0x111], 0
mov dword [edi + 0x48], eax
je 0x1005507e
push dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
mov ecx, edi
call fcn.100530f7
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x154]
pop ecx
cmp eax, edx
jle 0x10055050
cmp byte [ebp - 0x17c], 0
je 0x10055050
lea ecx, [edi + 0x10]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.1001be20
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
push 0
push 0
push dword [ebp - 0xb8]
call fcn.10003334
mov dword [edi + 8], eax
add esp, 0xc
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0xc], eax
mov dword [edi + 0xe6c], 0xbe99999a
cmp byte [ebp - 0x130], 0
jne 0x100550cd
mov ecx, dword [ebp - 0x12c]
mov eax, dword [edi + 0x24]
push 2
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100550b1
test dl, dl
je 0x100550ad
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100550b1
add eax, esi
add ecx, esi
test dl, dl
jne 0x10055093
xor eax, eax
jmp 0x100550b8
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x100550d0
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0xc]
jmp 0x100550d6
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x110]
mov esi, dword [ebp - 0x108]
test esi, esi
je 0x1005519b
cmp byte [ebp - 0x17c], 0
je 0x1005517a
mov dword [ebp - 0xe4], eax
xorps xmm0, xmm0
inc eax
mov dword [ebp - 0xf8], ecx
cmp dword [ebx + 0xc], eax
mov ecx, dword [ebp - 0x12c]
cmovge eax, dword [ebx + 0xc]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xfc]
push eax
movlpd qword [ebp - 0xf0], xmm0
movlpd qword [ebp - 0xdc], xmm0
movlpd qword [ebp - 0xd4], xmm0
mov dword [ebp - 0xfc], 0x40000
mov dword [ebp - 0xe8], ecx
call dword [ebp - 0x148]
mov eax, dword [ebp - 0xe8]
pop ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x12c], eax
lea eax, [ecx - 1]
cmp dword [ebp - 0xe4], eax
cmovl eax, dword [ebp - 0xe4]
jmp 0x1005517d
mov ecx, dword [ebx + 0xc]
inc eax
mov edx, esi
cmp eax, ecx
cmovl ecx, eax
push ecx
mov ecx, dword [ebp - 0x12c]
call fcn.10002dc1
xor eax, eax
inc eax
pop ecx
mov byte [ebp - 0x135], al
mov esi, dword [ebp - 0x134]
cmp byte [ebp - 0x11d], 0
mov ecx, dword [ebp - 0x118]
je 0x100551c7
cmp dword [esi + 0x3e74], ecx
jne 0x100551c7
xor edx, edx
xor ecx, ecx
call fcn.100067d4
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x124]
test dl, dl
jne 0x10055228
xor eax, eax
mov edx, ecx
inc eax
lea ecx, [ebp - 0x9c]
push eax
call fcn.10005544
movss xmm1, dword [0x100b1aa4]
pop ecx
push 7
pop ecx
call fcn.1000471a
push dword [ebp - 0x90]
movss xmm2, dword [esi + 0x37dc]
xor ecx, ecx
push dword [ebp - 0x94]
push dword [ebp - 0x13c]
lea edx, [ecx + 1]
mov ecx, eax
push dword [ebp - 0x184]
call fcn.10005354
mov edx, dword [ebp - 0x124]
add esp, 0x10
movss xmm1, dword [ebp - 0x9c]
movss xmm5, dword [ebp - 0x180]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x98]
addss xmm0, xmm5
movss dword [ebp - 0x40], xmm1
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x34], xmm0
test dl, dl
je 0x1005528a
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + 0xec]
mov ecx, dword [ecx + 0xf0]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], ecx
jmp 0x100552ad
addss xmm1, dword [esi + 0x37d4]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x15c], xmm1
movss dword [ebp - 0x158], xmm0
cmp byte [ebp - 0x136], 0
lea eax, [ebp - 0x15c]
movss xmm0, dword [eax]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x1c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x184], xmm0
movss dword [ebp - 0x174], xmm0
je 0x100552eb
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x12c], eax
mov al, byte [ebp - 0x109]
and dword [ebp - 0x110], 0
test al, al
je 0x10055330
mov eax, dword [ebp - 0x178]
mov ecx, eax
mov dword [ebp - 0x12c], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005530d
mov eax, dword [ebp - 0x178]
sub ecx, edx
mov edx, dword [ebp - 0x124]
add eax, ecx
mov dword [ebp - 0x110], eax
mov al, byte [ebp - 0x109]
cmp byte [ebp - 0xfd], 0
jne 0x1005544d
cmp byte [ebp - 0x11c], 0
jne 0x1005544d
test dl, dl
je 0x100553a2
mov eax, dword [ebp - 0x12c]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
jmp 0x1005536b
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x1005535d
dec edi
mov dword [ebp - 0x110], edi
mov al, byte [edi]
cmp al, 0xa
je 0x10055381
cmp al, 0xd
je 0x10055381
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x184], xmm5
mulss xmm0, dword [esi + 0x3bb4]
movss dword [ebp - 0x174], xmm0
jmp 0x100553f6
test al, al
jne 0x100553dd
mov eax, dword [ebp - 0x118]
cmp dword [esi + 0x3e74], eax
jne 0x100553c5
mov edi, dword [edi + 0xc]
add edi, dword [ebp - 0x12c]
mov dword [ebp - 0x110], edi
jmp 0x100553e3
mov edi, dword [ebp - 0x12c]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100553d0
sub ecx, edx
add edi, ecx
jmp 0x100553bd
mov edi, dword [ebp - 0x110]
mov eax, edi
sub eax, dword [ebp - 0x12c]
cmp eax, 0x200000
jge 0x10055cbf
movzx ecx, byte [ebp - 0x109]
movss xmm1, dword [0x100b1aa4]
call fcn.1000471a
movss xmm2, dword [esi + 0x3bb4]
lea ecx, [ebp - 0x40]
xor edx, edx
cmp byte [ebp - 0x124], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push edi
push dword [ebp - 0x12c]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x150]
push dword [esi + 0x3bb0]
mov ecx, dword [eax + 0x260]
call fcn.1003c810
jmp 0x10055cbf
test al, al
jne 0x10055460
mov eax, dword [edi + 0xc]
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0x110], eax
and dword [ebp - 0x178], 0
xor ecx, ecx
and dword [ebp - 0x13c], 0
mov edx, 0xfffffc18
movaps xmm6, xmm0
mov eax, dword [edi + 0x18]
movaps xmm7, xmm0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x108], edx
cmp byte [ebp - 0xfd], cl
je 0x100554a6
mov ecx, dword [ebp - 0x18]
or edx, 0xffffffff
mov eax, dword [edi + 0x40]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x178], eax
xor eax, eax
lea ecx, [eax + 1]
cmp byte [ebp - 0x11c], 0
je 0x100554d3
mov eax, dword [edi + 0x48]
cmp dword [edi + 0x44], eax
mov esi, dword [ebp - 0x18]
cmovl eax, dword [edi + 0x44]
or dword [ebp - 0x108], 0xffffffff
inc ecx
lea eax, [esi + eax*2]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x13c], eax
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x124]
movzx eax, al
mov dword [ebp - 0x154], edi
add ecx, eax
movzx edi, word [edi]
xor eax, eax
mov dword [ebp - 0x17c], edi
test di, di
mov edi, dword [ebp - 0x140]
mov dword [ebp - 0x148], eax
je 0x1005557e
mov eax, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x154]
movzx eax, ax
push 0xa
pop edi
cmp ax, di
mov edi, dword [ebp - 0x148]
jne 0x10055557
inc edi
mov dword [ebp - 0x148], edi
cmp edx, 0xffffffff
jne 0x1005553b
cmp esi, dword [ebp - 0x178]
jb 0x1005553b
dec ecx
mov edx, edi
test ecx, ecx
jle 0x1005556c
cmp dword [ebp - 0x108], 0xffffffff
jne 0x10055557
cmp esi, dword [ebp - 0x13c]
jb 0x10055557
dec ecx
mov dword [ebp - 0x108], edi
test ecx, ecx
jle 0x1005556c
push 2
pop eax
add esi, eax
movzx eax, word [esi]
mov edi, eax
mov dword [ebp - 0x17c], edi
test ax, ax
jne 0x10055512
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x134]
mov eax, dword [ebp - 0x148]
inc eax
cmp edx, 0xffffffff
mov ecx, eax
mov dword [ebp - 0x148], eax
cmovne ecx, edx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x154], ecx
mov ecx, dword [ebp - 0x108]
cmp ecx, 0xffffffff
cmove ecx, eax
mov eax, edx
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jbe 0x100555d7
push 0xa
pop esi
lea edi, [eax - 2]
mov dword [ebp - 0x17c], edi
cmp word [edi], si
je 0x100555cb
mov eax, edi
cmp eax, ecx
ja 0x100555b7
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x134]
push 0
push ecx
push 0
push edx
push eax
mov edx, esi
lea ecx, [ebp - 0x1a8]
call fcn.100518ef
movd xmm3, dword [ebp - 0x154]
add esp, 0x14
cmp dword [ebp - 0x108], 0
movss xmm0, dword [esi + 0x3bb4]
movss xmm5, dword [eax]
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x158], xmm5
mulss xmm3, xmm0
movss dword [ebp - 0x14c], xmm3
jl 0x10055684
mov edx, dword [ebp - 0x13c]
mov eax, edx
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jbe 0x1005564d
push 0xa
pop edi
cmp word [eax - 2], di
je 0x10055641
add eax, 0xfffffffe
cmp eax, ecx
ja 0x10055634
mov edi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
push 0
push ecx
push 0
push edx
push eax
mov edx, esi
lea ecx, [ebp - 0x28]
call fcn.100518ef
movd xmm7, dword [ebp - 0x108]
add esp, 0x14
movss xmm0, dword [esi + 0x3bb4]
movss xmm3, dword [ebp - 0x14c]
movss xmm6, dword [eax]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm0
mov ecx, dword [ebp - 0x124]
movss xmm1, dword [ebp - 0x180]
test cl, cl
je 0x100556b7
movd xmm4, dword [ebp - 0x148]
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x184], xmm1
mulss xmm4, xmm0
movss dword [ebp - 0x174], xmm4
jmp 0x100556bf
movss xmm4, dword [ebp - 0x174]
cmp byte [ebp - 0xfd], 0
je 0x100557ec
cmp byte [edi + 0xe70], 0
je 0x100557ec
test dword [ebx + 0x14], 0x1000
jne 0x1005573a
movss xmm2, dword [edi + 0x3c]
movaps xmm0, xmm1
comiss xmm2, xmm5
subss xmm1, dword [esi + 0x37d4]
mulss xmm0, dword [0x100b1a3c]
movss dword [ebp - 0x180], xmm1
movaps xmm1, xmm5
jbe 0x10055717
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10055728
subss xmm1, dword [ebp - 0x180]
comiss xmm1, xmm2
jb 0x1005573e
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x3c], xmm0
jmp 0x1005573e
and dword [edi + 0x3c], 0
test cl, cl
je 0x100557e5
movss xmm5, dword [ebp - 0x144]
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x3bb4]
comiss xmm5, xmm0
jbe 0x10055767
xorps xmm5, xmm5
maxss xmm5, xmm0
jmp 0x1005579a
movss xmm2, dword [esi + 0x37d8]
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0x164]
addss xmm2, xmm2
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm5
jb 0x1005579a
movaps xmm5, xmm3
subss xmm5, dword [ebp - 0x164]
addss xmm5, xmm2
movss xmm1, dword [esi + 0x37d8]
xorps xmm0, xmm0
comiss xmm0, xmm5
jbe 0x100557af
xorps xmm1, xmm1
jmp 0x100557c7
addss xmm1, xmm1
addss xmm1, xmm4
subss xmm1, dword [ebp - 0x164]
maxss xmm1, xmm0
minss xmm1, xmm5
mov eax, dword [ebp - 0x150]
movss xmm0, dword [eax + 0x78]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x1c], xmm0
movss dword [eax + 0x78], xmm1
mov byte [edi + 0xe70], 0
cmp byte [ebp - 0x11c], 0
movss xmm5, dword [edi + 0x3c]
movss dword [ebp - 0x144], xmm5
je 0x10055a6a
mov edx, dword [edi + 0x48]
mov eax, edx
mov ecx, dword [edi + 0x44]
cmp ecx, edx
mov edi, dword [ebp - 0x18]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xfd], 0
lea eax, [edi + eax*2]
mov dword [ebp - 0x13c], eax
mov eax, edi
lea eax, [eax + edx*2]
mov dword [ebp - 0x178], eax
je 0x10055840
movss xmm1, dword [0x100b1aa4]
jmp 0x10055848
movss xmm1, dword [0x100b1a64]
push 0x2f
pop ecx
call fcn.1000471a
cmp byte [ebp - 0x124], 0
mov dword [ebp - 0x180], eax
je 0x1005586c
xorps xmm0, xmm0
movss dword [ebp - 0x190], xmm0
jmp 0x10055874
movss xmm0, dword [0x100b1b20]
addss xmm6, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x178]
mov edi, dword [ebp - 0x140]
movss dword [ebp - 0x17c], xmm0
mov dword [ebp - 0x13c], ecx
subss xmm6, xmm5
movss xmm5, dword [ebp - 0x1c]
addss xmm5, xmm7
xorps xmm7, xmm7
subss xmm5, xmm7
movss dword [ebp - 0x154], xmm5
cmp ecx, edx
jae 0x10055a5c
movss xmm2, dword [ebp - 0x34]
movss xmm4, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x180]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3bb4]
comiss xmm5, xmm0
ja 0x10055a56
comiss xmm4, xmm5
ja 0x10055942
xor eax, eax
inc eax
push eax
push ecx
lea eax, [ebp - 0x13c]
push eax
push edx
push ecx
mov edx, esi
lea ecx, [ebp - 0x168]
call fcn.100518ef
movss xmm0, dword [ebp - 0x168]
add esp, 0x14
comiss xmm7, xmm0
jb 0x1005596b
mov eax, dword [esi + 0x3bb0]
cmp dword [eax], 0x20
jle 0x1005594b
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x10055950
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 0x13c], ecx
cmp ax, word [ebp - 0x198]
je 0x10055a31
cmp ecx, edx
jb 0x10055929
jmp 0x10055a31
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x100b1a5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x168], xmm0
movss xmm1, dword [ebp - 0x190]
movaps xmm3, xmm6
subss xmm1, dword [esi + 0x3bb4]
movss xmm4, dword [ebp - 0x3c]
addss xmm6, xmm0
movss xmm0, dword [ebp - 0x17c]
addss xmm3, xmm7
movss xmm2, dword [ebp - 0x34]
addss xmm0, xmm5
movss xmm7, dword [ebp - 0x38]
addss xmm1, xmm5
minss xmm6, xmm7
maxss xmm3, dword [ebp - 0x40]
minss xmm0, xmm2
maxss xmm1, xmm4
movss dword [ebp - 0x48], xmm6
movss dword [ebp - 0x50], xmm3
comiss xmm0, xmm4
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x44], xmm0
jbe 0x10055a22
comiss xmm2, xmm1
jbe 0x10055a22
comiss xmm6, dword [ebp - 0x40]
jbe 0x10055a22
comiss xmm7, xmm3
jbe 0x10055a22
push 0
push ecx
and dword [esp], 0
lea eax, [ebp - 0x48]
push edi
push eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax + 0x260]
call fcn.1003c4a2
movss xmm1, dword [ebp - 0x190]
movss xmm2, dword [ebp - 0x34]
movss xmm4, dword [ebp - 0x3c]
movss xmm5, dword [ebp - 0x154]
movss dword [ebp - 0x190], xmm1
mov edx, dword [ebp - 0x178]
xorps xmm7, xmm7
mov ecx, dword [ebp - 0x13c]
movss xmm6, dword [ebp - 0x20]
addss xmm5, dword [esi + 0x3bb4]
subss xmm6, dword [ebp - 0x144]
movss dword [ebp - 0x154], xmm5
cmp ecx, edx
jb 0x100558cd
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x124]
movss xmm5, dword [ebp - 0x144]
test cl, cl
jne 0x10055a85
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x12c]
cmp eax, 0x200000
jge 0x10055b05
movzx ecx, byte [ebp - 0x109]
movss xmm1, dword [0x100b1aa4]
call fcn.1000471a
movss xmm0, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
movss xmm2, dword [esi + 0x3bb4]
subss xmm0, xmm5
xor edx, edx
cmp byte [ebp - 0x124], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push dword [ebp - 0x110]
movss dword [ebp - 0x168], xmm0
push dword [ebp - 0x12c]
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x100b19d4]
push eax
lea eax, [ebp - 0x168]
push eax
mov eax, dword [ebp - 0x150]
push dword [esi + 0x3bb0]
movss dword [ebp - 0x164], xmm0
mov ecx, dword [eax + 0x260]
call fcn.1003c810
cmp byte [ebp - 0xfd], 0
je 0x10055cbf
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe6c]
movss dword [edi + 0xe6c], xmm0
cmp byte [esi + 0x63], 0
je 0x10055b74
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x10055b74
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x168], xmm0
fld qword [ebp - 0x168]
fld qword [0x100b1b18]
call fcn.1008eb60
movss xmm0, dword [0x100b1a84]
fstp qword [ebp - 0x168]
movsd xmm1, qword [ebp - 0x168]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10055b74
xor cl, cl
jmp 0x10055b79
xor eax, eax
inc eax
mov cl, al
movss xmm0, dword [ebp - 0x158]
movss xmm4, dword [0x100b1aa4]
addss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x144]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [ebp - 0x14c]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
subss xmm0, dword [0x100b19d4]
movss dword [ebp - 0x158], xmm5
movaps xmm3, xmm5
movss dword [ebp - 0x50], xmm5
addss xmm3, xmm4
cvttss2si eax, xmm0
movss dword [ebp - 0x48], xmm3
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x198], xmm2
movaps xmm1, xmm2
movaps xmm6, xmm2
subss xmm1, dword [esi + 0x3bb4]
subss xmm6, dword [0x100b1ae8]
addss xmm1, dword [0x100b1a5c]
movss dword [ebp - 0x44], xmm6
movss dword [ebp - 0x4c], xmm1
test cl, cl
je 0x10055c85
comiss xmm6, dword [ebp - 0x3c]
jbe 0x10055c85
movss xmm0, dword [ebp - 0x34]
comiss xmm0, xmm1
jbe 0x10055c85
comiss xmm3, dword [ebp - 0x40]
jbe 0x10055c85
movss xmm0, dword [ebp - 0x38]
comiss xmm0, xmm5
jbe 0x10055c85
movaps xmm1, xmm4
xor ecx, ecx
call fcn.1000471a
push ecx
mov dword [esp], 0x3f800000
push eax
lea eax, [ebp - 0x168]
movss dword [ebp - 0x168], xmm5
push eax
lea eax, [ebp - 0x50]
movss dword [ebp - 0x164], xmm6
push eax
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax + 0x260]
call fcn.1003c328
movss xmm5, dword [ebp - 0x158]
movss xmm2, dword [ebp - 0x198]
movss xmm4, dword [0x100b1aa4]
cmp byte [ebp - 0x130], 0
jne 0x10055cbf
movss xmm0, dword [esi + 0x3bb4]
subss xmm5, xmm4
subss xmm2, xmm0
movss dword [esi + 0x59d8], xmm0
xor eax, eax
inc eax
mov byte [esi + 0x59cc], al
movss dword [esi + 0x59d0], xmm5
movss dword [esi + 0x59d4], xmm2
cmp byte [ebp - 0x188], 0
je 0x10055cd6
cmp byte [ebp - 0x109], 0
jne 0x10055cd6
call fcn.1000d0c1
cmp byte [ebp - 0x124], 0
je 0x10055d87
movss xmm0, dword [ebp - 0x184]
lea ecx, [ebp - 0x168]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x174]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x164], xmm0
call fcn.1004db95
mov esi, dword [esi + 0x4680]
mov eax, esi
mov edi, dword [ebp - 0x134]
or eax, 0x401
mov dword [edi + 0x4680], eax
call fcn.10008be5
mov eax, dword [edi + 0x46a4]
mov ecx, dword [ebp - 0x84]
and eax, 0x80
or ecx, eax
mov dword [edi + 0x4680], esi
mov dword [ebp - 0x158], ecx
call fcn.1001015e
mov esi, edi
cmp dword [esi + 0x469c], 0
jne 0x10055d87
mov eax, dword [ebp - 0x118]
mov dword [esi + 0x469c], eax
mov eax, dword [ebp - 0x88]
mov dword [esi + 0x46a0], eax
mov eax, dword [ebp - 0x158]
mov dword [esi + 0x46a4], eax
cmp byte [esi + 0x5a50], 0
je 0x10055dd0
cmp byte [ebp - 0x188], 0
je 0x10055da2
cmp byte [ebp - 0x109], 0
je 0x10055dd0
mov eax, dword [0x100c353c]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x12c]
mov dword [eax + 0x5a68], 0x100b13fc
mov dword [eax + 0x5a6c], 0x100b13f8
call fcn.10014c70
pop ecx
movss xmm0, dword [ebp - 0x1a0]
comiss xmm0, dword [0x100b19d4]
jbe 0x10055e31
movss xmm0, dword [ebp - 0x18c]
xor eax, eax
addss xmm0, dword [esi + 0x37ec]
mov ecx, dword [ebp - 0x194]
inc eax
xor edx, edx
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x19c], xmm0
push dword [ebp - 0x19c]
push dword [ebp - 0x1a0]
push eax
call fcn.10004cde
add esp, 0xc
mov cl, byte [ebp - 0x135]
mov edx, dword [ebx + 0x14]
test cl, cl
je 0x10055e5b
test edx, 0x8000000
jne 0x10055e5b
mov eax, dword [0x100c353c]
or dword [eax + 0x46a4], 4
mov word [eax + 0x3e84], 0x101
movzx eax, cl
test dl, 0x20
movzx ecx, byte [ebp - 0x125]
cmovne eax, ecx
jmp 0x100534e2