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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ac
mov eax, dword [0x100a2ef8]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x1928]
mov byte [edx + 0x78], 1
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x1928]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x54]
movzx eax, byte [edx + 0x7b]
test eax, eax
je 0x10046bd5
xor al, al
jmp 0x1004a05c
mov ecx, dword [ebp + 0x18]
and ecx, 0x80
je 0x10046c02
mov edx, dword [ebp + 0x18]
and edx, 0x100000
je 0x10046c02
push 0x298c
push 0x10092be0
push str.___flags__ImGuiInputTextFlags_CallbackHistory____flags__ImGuiInputTextFlags_Multiline__
call fcn.1001ed1e
add esp, 0xc
mov ecx, dword [ebp + 0x18]
and ecx, 0x40
je 0x10046c2c
mov edx, dword [ebp + 0x18]
and edx, 0x400
je 0x10046c2c
push 0x298d
push 0x10092cb8
push str.___flags__ImGuiInputTextFlags_CallbackCompletion____flags__ImGuiInputTextFlags_AllowTabInput__
call fcn.1001ed1e
add esp, 0xc
mov ecx, dword [0x100a2ef8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
add edx, 8
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
add eax, 0x1508
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x10046c5a
mov byte [ebp - 0x4b], 1
jmp 0x10046c5e
mov byte [ebp - 0x4b], 0
mov dl, byte [ebp - 0x4b]
mov byte [ebp - 5], dl
mov eax, dword [ebp + 0x18]
and eax, 0x4000
jne 0x10046c74
mov byte [ebp - 0x4c], 1
jmp 0x10046c78
mov byte [ebp - 0x4c], 0
mov cl, byte [ebp - 0x4c]
mov byte [ebp - 6], cl
mov edx, dword [ebp + 0x18]
and edx, 0x8000
je 0x10046c8f
mov byte [ebp - 0x4d], 1
jmp 0x10046c93
mov byte [ebp - 0x4d], 0
mov al, byte [ebp - 0x4d]
mov byte [ebp - 0x1b], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x10000
jne 0x10046caa
mov byte [ebp - 0x4e], 1
jmp 0x10046cae
mov byte [ebp - 0x4e], 0
mov dl, byte [ebp - 0x4e]
mov byte [ebp - 0x44], dl
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10046cc1
call fcn.10046150
push 0
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.1005ed30
mov dword [ebp - 0x18], eax
push ecx
movss xmm0, dword [0x1009d344]
movss dword [esp], xmm0
push 1
push 0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x2a4]
push eax
call fcn.10055720
add esp, 0x14
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10046d24
call fcn.1004f030
fstp dword [ebp - 0x300]
movss xmm0, dword [ebp - 0x300]
mulss xmm0, dword [0x1009d27c]
movss dword [ebp - 0x260], xmm0
jmp 0x10046d34
movss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x260], xmm0
mov edx, dword [ebp - 0x64]
movss xmm0, dword [edx + 0x38]
mulss xmm0, dword [0x1009d244]
addss xmm0, dword [ebp - 0x260]
push ecx
movss dword [esp], xmm0
call fcn.1004fdf0
push ecx
fstp dword [esp]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xa4]
push eax
call fcn.1005cd50
add esp, 0x14
mov ecx, dword [ebp - 0x54]
add ecx, 0xc8
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x264]
movss xmm0, dword [edx]
addss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x360], xmm0
mov eax, dword [ebp - 0x264]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x390], xmm0
movss xmm0, dword [ebp - 0x364]
movss dword [ebp - 0x38c], xmm0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0xc8]
mov eax, dword [ecx + 0xcc]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x390]
mov edx, dword [ebp - 0x38c]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], edx
movss xmm0, dword [ebp - 0x2a4]
comiss xmm0, dword [0x1009d140]
jbe 0x10046e36
mov eax, dword [ebp - 0x64]
movss xmm0, dword [eax + 0x4c]
addss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x268], xmm0
jmp 0x10046e46
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x398], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x394], xmm0
movss xmm0, dword [ebp - 0xac]
addss xmm0, dword [ebp - 0x398]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0xa8]
addss xmm0, dword [ebp - 0x394]
movss dword [ebp - 0x36c], xmm0
movss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x3a0], xmm0
movss xmm0, dword [ebp - 0x36c]
movss dword [ebp - 0x39c], xmm0
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x20], edx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10046fab
lea ecx, [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x42c]
push eax
call fcn.1005d360
add esp, 0xc
push 0
lea ecx, [ebp - 0x4ac]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.1000d270
push eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.100542c0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x10046f4b
call fcn.100542b0
call fcn.10045df0
xor al, al
jmp 0x1004a05c
mov ecx, dword [0x100a2ef8]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0x1928]
mov byte [eax + 0x78], 1
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0x1928]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, dword [eax + 0x13c]
or edx, dword [ecx + 0x134]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x13c], edx
mov ecx, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0xa4]
subss xmm0, dword [ecx + 0x6c]
movss dword [ebp - 0xa4], xmm0
jmp 0x10046ff0
mov edx, dword [ebp - 0x64]
push ecx
movss xmm0, dword [edx + 0x38]
movss dword [esp], xmm0
lea eax, [ebp - 0x42c]
push eax
call fcn.1005e3e0
add esp, 8
lea ecx, [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x42c]
push eax
call fcn.1005d360
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x10046ff0
xor al, al
jmp 0x1004a05c
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0xb4]
push eax
call fcn.1005d120
add esp, 8
mov byte [ebp - 0x19], al
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x1004701b
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x1bd4], 1
movzx eax, byte [ebp - 0x1b]
test eax, eax
je 0x10047175
push 0x2a
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x1850]
call fcn.100773d0
mov dword [ebp - 0x270], eax
mov edx, dword [ebp - 0x10]
add edx, 0x2abc
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1850]
mov edx, dword [ebp - 0x30]
mov eax, dword [ecx]
mov dword [edx], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x1850]
mov eax, dword [ebp - 0x30]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1850]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x1850]
mov eax, dword [ebp - 0x30]
mov ecx, dword [edx + 0x48]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1850]
mov ecx, dword [ebp - 0x30]
mov edx, dword [eax + 0x4c]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1850]
mov edx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x44], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x270]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x10], 0
jne 0x100470e9
mov dword [ebp - 0x274], 1
jmp 0x100470f3
mov dword [ebp - 0x274], 0
movzx ecx, byte [ebp - 0x274]
test ecx, ecx
je 0x10047152
mov edx, dword [ebp - 0x30]
cmp dword [edx + 0x1c], 0
jne 0x10047113
mov dword [ebp - 0x278], 1
jmp 0x1004711d
mov dword [ebp - 0x278], 0
movzx eax, byte [ebp - 0x278]
test eax, eax
je 0x10047152
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 0x28], 0
jne 0x1004713d
mov dword [ebp - 0x27c], 1
jmp 0x10047147
mov dword [ebp - 0x27c], 0
movzx edx, byte [ebp - 0x27c]
test edx, edx
jne 0x10047169
push 0x29c5
push 0x10092da0
push str.password_font__Glyphs.empty____password_font__IndexAdvanceX.empty____password_font__IndexLookup.empty__
call fcn.1001ed1e
add esp, 0xc
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.1004fc40
add esp, 4
mov edx, dword [ebp - 0x10]
add edx, 0x1c58
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x18]
and eax, 0x440
jne 0x10047191
mov byte [ebp - 0x31], 1
jmp 0x10047195
mov byte [ebp - 0x31], 0
movzx ecx, byte [ebp - 0x31]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1005cf50
add esp, 0xc
mov byte [ebp - 0x24], al
movzx ecx, byte [ebp - 0x24]
test ecx, ecx
je 0x100471cf
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov ecx, dword [edx + 0x330]
cmp ecx, dword [eax + 0x338]
jne 0x100471cf
mov byte [ebp - 0x32], 1
jmp 0x100471d3
mov byte [ebp - 0x32], 0
mov dl, byte [ebp - 0x32]
mov byte [ebp - 0x38], dl
movzx eax, byte [ebp - 0x24]
test eax, eax
je 0x100471ef
movzx ecx, byte [ebp - 0x38]
test ecx, ecx
jne 0x100471ef
mov byte [ebp - 0x33], 1
jmp 0x100471f3
mov byte [ebp - 0x33], 0
mov dl, byte [ebp - 0x33]
mov byte [ebp - 0x6c], dl
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x1004721e
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + edx + 0x3e0]
test ecx, ecx
je 0x1004721e
mov byte [ebp - 0x34], 1
jmp 0x10047222
mov byte [ebp - 0x34], 0
mov dl, byte [ebp - 0x34]
mov byte [ebp - 0x39], dl
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10047266
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x1944], 0
jne 0x10047266
mov edx, dword [ebp - 4]
mov eax, dword [edx]
cmp eax, dword [ebp - 0x18]
jne 0x10047266
push 0
push 0x10092b94
mov ecx, dword [ebp - 0x20]
call fcn.1005ec90
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x1948], eax
jne 0x10047266
mov byte [ebp - 0x35], 1
jmp 0x1004726a
mov byte [ebp - 0x35], 0
mov dl, byte [ebp - 0x35]
mov byte [ebp - 0x6b], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1944]
cmp ecx, dword [ebp - 0x18]
je 0x100472ac
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1a38]
cmp eax, dword [ebp - 0x18]
je 0x100472a6
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x1a2c]
cmp edx, dword [ebp - 0x18]
jne 0x100472ac
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x1a48], 3
jne 0x100472ac
mov byte [ebp - 0x36], 1
jmp 0x100472b0
mov byte [ebp - 0x36], 0
mov cl, byte [ebp - 0x36]
mov byte [ebp - 0x27], cl
mov byte [ebp - 0x12], 0
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1944]
cmp eax, dword [ebp - 0x18]
je 0x100472ec
mov ecx, dword [ebp + 0x18]
and ecx, 0x10
jne 0x100472d8
movzx edx, byte [ebp - 0x27]
test edx, edx
je 0x100472ec
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x100472ec
mov dword [ebp - 0x280], 1
jmp 0x100472f6
mov dword [ebp - 0x280], 0
mov cl, byte [ebp - 0x280]
mov byte [ebp - 0x25], cl
movzx edx, byte [ebp - 0x24]
test edx, edx
jne 0x10047323
movzx eax, byte [ebp - 0x39]
test eax, eax
jne 0x10047323
movzx ecx, byte [ebp - 0x6b]
test ecx, ecx
jne 0x10047323
movzx edx, byte [ebp - 0x27]
test edx, edx
je 0x100474ff
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1944]
cmp ecx, dword [ebp - 0x18]
je 0x100474aa
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.10010060
mov edx, dword [ebp + 0x10]
add edx, 1
push edx
mov ecx, dword [ebp - 4]
add ecx, 0x10
call fcn.10010350
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.10060ec0
add esp, 0xc
mov dword [ebp - 0x28c], 0
lea edx, [ebp - 0x28c]
push edx
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.100605c0
add esp, 0x14
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 4]
movss xmm0, dword [0x1009d338]
movss dword [edx + 0xe5c], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x18]
jne 0x100473f2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x370]
cmp eax, dword [edx + 0x2c]
jne 0x100473f2
mov byte [ebp - 0x37], 1
jmp 0x100473f6
mov byte [ebp - 0x37], 0
mov cl, byte [ebp - 0x37]
mov byte [ebp - 0x6a], cl
movzx edx, byte [ebp - 0x6a]
test edx, edx
je 0x1004740e
mov ecx, dword [ebp - 4]
call fcn.1000d790
jmp 0x1004746e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov edx, dword [ebp - 4]
movss xmm0, dword [0x1009d140]
movss dword [edx + 0x34], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1004743a
mov dword [ebp - 0x138], 1
jmp 0x10047444
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x38
push edx
call fcn.1004a310
add esp, 8
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x1004746e
movzx ecx, byte [ebp - 0x38]
test ecx, ecx
je 0x1004746e
mov byte [ebp - 0x25], 1
mov edx, dword [ebp + 0x18]
and edx, 0x2000
je 0x10047480
mov eax, dword [ebp - 4]
mov byte [eax + 0x44], 1
movzx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100474aa
movzx edx, byte [ebp - 0x6c]
test edx, edx
jne 0x100474a6
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x100474aa
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
je 0x100474aa
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.1005ea10
add esp, 8
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.1005e870
add esp, 8
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.10050000
add esp, 4
movzx edx, byte [ebp - 5]
test edx, edx
jne 0x100474fd
mov eax, dword [ebp + 0x18]
and eax, 0x80
jne 0x100474fd
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x1958]
or edx, 0xc
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x1958], edx
jmp 0x1004751a
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + edx + 0x3e0]
test ecx, ecx
je 0x1004751a
mov byte [ebp - 0x12], 1
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x29], 0
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1944]
cmp eax, dword [ebp - 0x18]
jne 0x10047987
movzx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x100475a6
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0x1951]
test eax, eax
jne 0x100475a6
mov ecx, dword [ebp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.10010060
mov dword [ebp - 0x13c], 0
lea edx, [ebp - 0x13c]
push edx
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.100605c0
add esp, 0x14
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x13c]
sub eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 4]
call fcn.1000d790
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x30], eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + edx + 0xd8]
test ecx, ecx
jne 0x100475d2
mov dword [ebp - 0x140], 1
jmp 0x100475dc
mov dword [ebp - 0x140], 0
mov edx, dword [ebp - 0x10]
mov al, byte [ebp - 0x140]
mov byte [edx + 0x1952], al
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x2d98], 1
mov edx, dword [ebp - 0xc]
movss xmm0, dword [edx + 0xd0]
subss xmm0, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x64]
subss xmm0, dword [eax + 0x34]
mov ecx, dword [ebp - 4]
addss xmm0, dword [ecx + 0x34]
movss dword [ebp - 0x14c], xmm0
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10047653
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
movss xmm0, dword [eax + 0xd4]
subss xmm0, dword [ecx + 0xcc]
mov edx, dword [ebp - 0x64]
subss xmm0, dword [edx + 0x38]
movss dword [ebp - 0x144], xmm0
jmp 0x1004766e
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x1854]
mulss xmm0, dword [0x1009d1c0]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x148], xmm0
mov ecx, dword [ebp - 0xc]
mov dl, byte [ecx + 0xb4]
mov byte [ebp - 0x26], dl
movzx eax, byte [ebp - 0x25]
test eax, eax
jne 0x100476b9
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x100476d0
movzx edx, byte [ebp - 0x26]
test edx, edx
jne 0x100476d0
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + ecx + 0x3e5]
test eax, eax
je 0x100476d0
mov ecx, dword [ebp - 4]
call fcn.1000d830
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xe61], 1
jmp 0x1004782f
movzx edx, byte [ebp - 0x19]
test edx, edx
je 0x10047716
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x10047716
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + edx + 0x3e5]
test ecx, ecx
je 0x10047716
push 0x1000c
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
push 0x3000d
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004782f
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + eax + 0x3e0]
test edx, edx
je 0x1004778a
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0xe61]
test ecx, ecx
jne 0x1004778a
movzx edx, byte [ebp - 0x19]
test edx, edx
je 0x10047785
push ecx
movss xmm0, dword [ebp - 0x148]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x14c]
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.1004bdd0
add esp, 0x10
mov edx, dword [ebp - 4]
movss xmm0, dword [0x1009d338]
movss dword [edx + 0xe5c], xmm0
jmp 0x1004782f
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + ecx + 0xd8]
test eax, eax
je 0x1004782f
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0xe61]
test edx, edx
jne 0x1004782f
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x37c]
ucomiss xmm0, dword [0x1009d140]
lahf
test ah, 0x44
jp 0x100477e3
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x380]
ucomiss xmm0, dword [0x1009d140]
lahf
test ah, 0x44
jnp 0x1004782f
push ecx
movss xmm0, dword [ebp - 0x148]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x14c]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
add edx, 0x38
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.1004bd40
add esp, 0x10
mov ecx, dword [ebp - 4]
movss xmm0, dword [0x1009d338]
movss dword [ecx + 0xe5c], xmm0
mov edx, dword [ebp - 4]
mov byte [edx + 0xe60], 1
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0xe61]
test ecx, ecx
je 0x1004785e
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + eax + 0xd8]
test edx, edx
jne 0x1004785e
mov eax, dword [ebp - 4]
mov byte [eax + 0xe61], 0
mov ecx, 2
imul edx, ecx, 0
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + edx + 0x2ee]
test ecx, ecx
je 0x10047987
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xe9]
test eax, eax
je 0x10047895
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xeb]
test edx, edx
je 0x100478b7
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x100478ab
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xec]
test edx, edx
jne 0x100478b7
mov dword [ebp - 0x150], 0
jmp 0x100478c1
mov dword [ebp - 0x150], 1
mov al, byte [ebp - 0x150]
mov byte [ebp - 0x6d], al
movzx ecx, byte [ebp - 0x6d]
test ecx, ecx
jne 0x10047971
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10047971
movzx eax, byte [ebp - 0x27]
test eax, eax
jne 0x10047971
mov dword [ebp - 0xb8], 0
jmp 0x10047909
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0x11
jge 0x10047971
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + edx*2 + 0x2ee]
test ecx, ecx
je 0x10047971
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc]
movzx ecx, word [eax + edx*2 + 0x2ee]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x154]
push edx
call fcn.1004a060
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1004796f
mov ecx, dword [ebp - 0x154]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x100478fa
push 0x22
push 0
mov edx, dword [ebp - 0x10]
add edx, 0x2f6
push edx
call fcn.100143f0
add esp, 0xc
mov byte [ebp - 0x22], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1944]
cmp ecx, dword [ebp - 0x18]
jne 0x1004875c
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0x1951]
test eax, eax
jne 0x1004875c
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1004875c
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xea]
test eax, eax
je 0x100479d5
mov dword [ebp - 0x158], 0x20000
jmp 0x100479df
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0xc]
mov al, byte [edx + 0xb4]
mov byte [ebp - 0x1a], al
movzx ecx, byte [ebp - 0x1a]
test ecx, ecx
je 0x10047a3c
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xec]
test eax, eax
je 0x10047a24
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
jne 0x10047a24
mov dword [ebp - 0x15c], 1
jmp 0x10047a2e
mov dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x164], eax
jmp 0x10047a7a
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
je 0x10047a64
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xec]
test ecx, ecx
jne 0x10047a64
mov dword [ebp - 0x160], 1
jmp 0x10047a6e
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0
je 0x10047aa5
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xeb]
test ecx, ecx
jne 0x10047aa5
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xea]
test eax, eax
jne 0x10047aa5
mov byte [ebp - 0x3a], 1
jmp 0x10047aa9
mov byte [ebp - 0x3a], 0
mov cl, byte [ebp - 0x3a]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0x1a]
test edx, edx
je 0x10047af5
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xec]
test ecx, ecx
je 0x10047af5
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xea]
test eax, eax
je 0x10047af5
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
jne 0x10047af5
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xeb]
test ecx, ecx
jne 0x10047af5
mov byte [ebp - 0x3b], 1
jmp 0x10047af9
mov byte [ebp - 0x3b], 0
mov dl, byte [ebp - 0x3b]
mov byte [ebp - 0x6f], dl
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x10047b15
mov ecx, dword [ebp - 0xc]
mov dl, byte [ecx + 0xeb]
mov byte [ebp - 0x3c], dl
jmp 0x10047b21
mov eax, dword [ebp - 0xc]
mov cl, byte [eax + 0xe9]
mov byte [ebp - 0x3c], cl
mov dl, byte [ebp - 0x3c]
mov byte [ebp - 0x28], dl
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x10047b5f
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xec]
test edx, edx
je 0x10047b5f
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xe9]
test ecx, ecx
jne 0x10047b5f
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xeb]
test eax, eax
jne 0x10047b5f
mov byte [ebp - 0x3d], 1
jmp 0x10047b63
mov byte [ebp - 0x3d], 0
mov cl, byte [ebp - 0x3d]
mov byte [ebp - 0x21], cl
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xe9]
test eax, eax
je 0x10047ba7
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xea]
test edx, edx
jne 0x10047ba7
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xeb]
test ecx, ecx
jne 0x10047ba7
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xec]
test eax, eax
jne 0x10047ba7
mov byte [ebp - 0x3e], 1
jmp 0x10047bab
mov byte [ebp - 0x3e], 0
mov cl, byte [ebp - 0x3e]
mov byte [ebp - 0x6e], cl
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xea]
test eax, eax
je 0x10047bef
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
jne 0x10047bef
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xeb]
test ecx, ecx
jne 0x10047bef
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xec]
test eax, eax
jne 0x10047bef
mov byte [ebp - 0x3f], 1
jmp 0x10047bf3
mov byte [ebp - 0x3f], 0
mov cl, byte [ebp - 0x3f]
mov byte [ebp - 0x41], cl
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x10047c14
push 1
push 0x12
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
jne 0x10047c2f
movzx ecx, byte [ebp - 0x41]
test ecx, ecx
je 0x10047c7c
push 1
push 0xa
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x10047c7c
movzx eax, byte [ebp - 6]
test eax, eax
je 0x10047c7c
movzx ecx, byte [ebp - 0x1b]
test ecx, ecx
jne 0x10047c7c
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10047c76
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x10047c61
mov dword [ebp - 0x168], 1
jmp 0x10047c6b
mov dword [ebp - 0x168], 0
movzx eax, byte [ebp - 0x168]
test eax, eax
je 0x10047c7c
mov byte [ebp - 0x40], 1
jmp 0x10047c80
mov byte [ebp - 0x40], 0
mov cl, byte [ebp - 0x40]
mov byte [ebp - 0x48], cl
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x10047ca1
push 1
push 0x10
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
jne 0x10047cbc
movzx ecx, byte [ebp - 0x6e]
test ecx, ecx
je 0x10047d01
push 1
push 9
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x10047d01
movzx eax, byte [ebp - 0x1b]
test eax, eax
jne 0x10047d01
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10047cfb
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cmp ecx, dword [eax + 0x40]
je 0x10047ce6
mov dword [ebp - 0x16c], 1
jmp 0x10047cf0
mov dword [ebp - 0x16c], 0
movzx edx, byte [ebp - 0x16c]
test edx, edx
je 0x10047d01
mov byte [ebp - 0x4a], 1
jmp 0x10047d05
mov byte [ebp - 0x4a], 0
mov al, byte [ebp - 0x4a]
mov byte [ebp - 0x65], al
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10047d26
push 1
push 0x11
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
jne 0x10047d41
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x10047d4f
push 1
push 9
call fcn.100553d0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10047d4f
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10047d4f
mov byte [ebp - 0x42], 1
jmp 0x10047d53
mov byte [ebp - 0x42], 0
mov al, byte [ebp - 0x42]
mov byte [ebp - 0x66], al
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10047d8a
push 1
push 0x14
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x10047d8a
movzx eax, byte [ebp - 6]
test eax, eax
je 0x10047d8a
movzx ecx, byte [ebp - 0x44]
test ecx, ecx
je 0x10047d8a
mov byte [ebp - 0x43], 1
jmp 0x10047d8e
mov byte [ebp - 0x43], 0
mov dl, byte [ebp - 0x43]
mov byte [ebp - 0x47], dl
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x10047daf
push 1
push 0x13
call fcn.100553d0
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x10047dca
movzx edx, byte [ebp - 0x6f]
test edx, edx
je 0x10047de0
push 1
push 0x14
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
je 0x10047de0
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x10047de0
movzx edx, byte [ebp - 0x44]
test edx, edx
je 0x10047de0
mov byte [ebp - 0x45], 1
jmp 0x10047de4
mov byte [ebp - 0x45], 0
mov al, byte [ebp - 0x45]
mov byte [ebp - 0x70], al
push 1
push 1
call fcn.100553d0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10047e52
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x10047e11
mov dword [ebp - 0x174], 0x10004
jmp 0x10047e3b
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x10047e25
mov dword [ebp - 0x170], 0x1000c
jmp 0x10047e2f
mov dword [ebp - 0x170], 0x10000
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x174]
or edx, dword [ebp - 0x58]
push edx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 2
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
je 0x10047eba
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x10047e79
mov dword [ebp - 0x17c], 0x10005
jmp 0x10047ea3
movzx edx, byte [ebp - 0x28]
test edx, edx
je 0x10047e8d
mov dword [ebp - 0x178], 0x1000d
jmp 0x10047e97
mov dword [ebp - 0x178], 0x10001
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x17c]
or ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 3
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x10047f8a
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10047f8a
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
je 0x10047f55
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x58]
subss xmm0, dword [ecx + 0x1854]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x180]
comiss xmm0, dword [0x1009d140]
jb 0x10047f29
movss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x184], xmm0
jmp 0x10047f39
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x184], xmm0
push ecx
movss xmm0, dword [ebp - 0x184]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x20]
push edx
call fcn.1004f600
add esp, 8
jmp 0x10047f85
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10047f69
mov dword [ebp - 0x188], 0x10006
jmp 0x10047f73
mov dword [ebp - 0x188], 0x10002
mov ecx, dword [ebp - 0x188]
or ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 4
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x10048065
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10048065
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
je 0x10048030
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x58]
addss xmm0, dword [ecx + 0x1854]
movss dword [ebp - 0x18c], xmm0
call fcn.1004f010
fstp dword [ebp - 0x190]
movss xmm0, dword [ebp - 0x190]
comiss xmm0, dword [ebp - 0x18c]
jbe 0x10048004
movss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x194], xmm0
jmp 0x10048014
movss xmm0, dword [ebp - 0x190]
movss dword [ebp - 0x194], xmm0
push ecx
movss xmm0, dword [ebp - 0x194]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x20]
push edx
call fcn.1004f600
add esp, 8
jmp 0x10048060
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10048044
mov dword [ebp - 0x198], 0x10007
jmp 0x1004804e
mov dword [ebp - 0x198], 0x10003
mov ecx, dword [ebp - 0x198]
or ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 7
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x100480b9
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xe9]
test ecx, ecx
je 0x10048097
mov edx, dword [ebp - 0x58]
or edx, 0x10006
mov dword [ebp - 0x19c], edx
jmp 0x100480a5
mov eax, dword [ebp - 0x58]
or eax, 0x10004
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 8
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x1004810d
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xe9]
test ecx, ecx
je 0x100480eb
mov edx, dword [ebp - 0x58]
or edx, 0x10007
mov dword [ebp - 0x1a0], edx
jmp 0x100480f9
mov eax, dword [ebp - 0x58]
or eax, 0x10005
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 0xa
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x1004813f
movzx eax, byte [ebp - 6]
test eax, eax
je 0x1004813f
mov ecx, dword [ebp - 0x58]
or ecx, 0x10008
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 0xb
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x100481fe
movzx eax, byte [ebp - 6]
test eax, eax
je 0x100481fe
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [edx + 0x40]
je 0x1004817c
mov dword [ebp - 0x1a4], 1
jmp 0x10048186
mov dword [ebp - 0x1a4], 0
movzx ecx, byte [ebp - 0x1a4]
test ecx, ecx
jne 0x100481e7
movzx edx, byte [ebp - 0x28]
test edx, edx
je 0x100481a8
push 0x3000c
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x100481e7
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x100481e7
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xec]
test edx, edx
je 0x100481e7
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xeb]
test ecx, ecx
jne 0x100481e7
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xe9]
test eax, eax
jne 0x100481e7
push 0x30004
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
mov ecx, dword [ebp - 0x58]
or ecx, 0x10009
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 0xd
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x100482c6
mov eax, dword [ebp + 0x18]
and eax, 0x800
je 0x1004822b
mov dword [ebp - 0x1a8], 1
jmp 0x10048235
mov dword [ebp - 0x1a8], 0
mov cl, byte [ebp - 0x1a8]
mov byte [ebp - 0x46], cl
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10048272
movzx eax, byte [ebp - 0x46]
test eax, eax
je 0x1004825c
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
je 0x10048272
movzx eax, byte [ebp - 0x46]
test eax, eax
jne 0x1004827e
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
je 0x1004827e
mov byte [ebp - 0x12], 1
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x29], al
jmp 0x100482c1
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x100482c1
mov dword [ebp - 0x1ac], 0xa
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x1ac]
push edx
call fcn.1004a060
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100482c1
mov ecx, dword [ebp - 0x1ac]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
mov edx, dword [ebp + 0x18]
and edx, 0x400
je 0x1004835a
push 1
push 0
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
je 0x1004835a
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0xe9]
test edx, edx
jne 0x1004835a
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xea]
test ecx, ecx
jne 0x1004835a
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0xeb]
test eax, eax
jne 0x1004835a
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1004835a
mov dword [ebp - 0x1b0], 9
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x1b0]
push edx
call fcn.1004a060
add esp, 0x10
movzx eax, al
test eax, eax
je 0x10048355
mov ecx, dword [ebp - 0x1b0]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
jmp 0x1004875c
push 1
push 0xe
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x1004837c
mov byte [ebp - 0x22], 1
mov al, byte [ebp - 0x22]
mov byte [ebp - 0x12], al
jmp 0x1004875c
movzx ecx, byte [ebp - 0x47]
test ecx, ecx
jne 0x1004838c
movzx edx, byte [ebp - 0x70]
test edx, edx
je 0x100483d6
movzx eax, byte [ebp - 0x47]
test eax, eax
je 0x100483a0
mov dword [ebp - 0x1b4], 0x1000a
jmp 0x100483aa
mov dword [ebp - 0x1b4], 0x1000b
mov ecx, dword [ebp - 0x1b4]
push ecx
mov ecx, dword [ebp - 4]
call fcn.1004a2a0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x40], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x3c], ecx
jmp 0x1004875c
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x10048408
push 1
push 0xf
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
je 0x10048408
mov ecx, dword [ebp - 4]
call fcn.1000d830
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xe60], 1
jmp 0x1004875c
movzx edx, byte [ebp - 0x48]
test edx, edx
jne 0x1004841c
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x10048619
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0xbc], 0
je 0x100485b8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cmp ecx, dword [eax + 0x40]
je 0x10048446
mov dword [ebp - 0x1b8], 1
jmp 0x10048450
mov dword [ebp - 0x1b8], 0
movzx edx, byte [ebp - 0x1b8]
test edx, edx
je 0x100484a9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [ebp - 0x1c0]
jge 0x1004848f
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c4], edx
jmp 0x1004849b
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], ecx
jmp 0x100484b3
mov dword [ebp - 0x1c8], 0
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x100484d9
mov dword [ebp - 0x1cc], 1
jmp 0x100484e3
mov dword [ebp - 0x1cc], 0
movzx eax, byte [ebp - 0x1cc]
test eax, eax
je 0x1004853c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1d0], ecx
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0x1d4]
jl 0x10048522
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d8], eax
jmp 0x1004852e
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], edx
jmp 0x10048548
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e0]
sub eax, dword [ebp - 0x1e4]
lea ecx, [eax*4 + 1]
push ecx
mov ecx, dword [ebp - 4]
add ecx, 0x1c
call fcn.10010350
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1e0]
lea edx, [eax + ecx*2]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1e4]
lea eax, [ecx + edx*2]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.100602c0
add esp, 0x10
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x24]
push eax
call fcn.1005cb90
add esp, 4
movzx ecx, byte [ebp - 0x48]
test ecx, ecx
je 0x10048614
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cmp ecx, dword [eax + 0x40]
je 0x100485da
mov dword [ebp - 0x1e8], 1
jmp 0x100485e4
mov dword [ebp - 0x1e8], 0
movzx edx, byte [ebp - 0x1e8]
test edx, edx
jne 0x100485f7
mov ecx, dword [ebp - 4]
call fcn.1000d830
mov eax, dword [ebp - 4]
mov byte [eax + 0xe60], 1
mov ecx, dword [ebp - 4]
add ecx, 0x38
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.1004b870
add esp, 8
jmp 0x1004875c
movzx eax, byte [ebp - 0x66]
test eax, eax
je 0x1004875c
call fcn.1005cbd0
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x1004875c
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.10018b20
add esp, 4
mov dword [ebp - 0x374], eax
mov edx, dword [ebp - 0x374]
lea eax, [edx + edx + 2]
push eax
call fcn.1005cc50
add esp, 4
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xdc]
movsx eax, byte [edx]
test eax, eax
je 0x10048710
push 0
mov ecx, dword [ebp - 0xdc]
push ecx
lea edx, [ebp - 0xd0]
push edx
call fcn.10060660
add esp, 0xc
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xd0], 0
jne 0x100486be
jmp 0x10048710
cmp dword [ebp - 0xd0], 0x10000
jae 0x100486ec
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0xd0]
push eax
call fcn.1004a060
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x100486ee
jmp 0x1004867e
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0xd4]
mov cx, word [ebp - 0xd0]
mov word [eax + edx*2], cx
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
jmp 0x1004867e
xor eax, eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0xd4]
mov word [edx + ecx*2], ax
cmp dword [ebp - 0x7c], 0
jle 0x1004874d
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x38
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.1004a2f0
add esp, 0x10
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xe60], 1
mov edx, dword [ebp - 0xd4]
push edx
call fcn.1005cc20
add esp, 4
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1944]
cmp ecx, dword [ebp - 0x18]
jne 0x10048c0b
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x100487b4
movzx eax, byte [ebp - 6]
test eax, eax
je 0x100487b4
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x100487b4
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.10060ec0
add esp, 0xc
mov byte [ebp - 0x23], 1
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x100487d8
movzx ecx, byte [ebp - 0x29]
test ecx, ecx
je 0x100487cc
mov edx, dword [ebp + 0x18]
and edx, 0x20
jne 0x100487d8
mov dword [ebp - 0x1ec], 0
jmp 0x100487e2
mov dword [ebp - 0x1ec], 1
mov al, byte [ebp - 0x1ec]
mov byte [ebp - 0x67], al
movzx ecx, byte [ebp - 0x67]
test ecx, ecx
je 0x10048c0b
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10048833
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
shl ecx, 2
push ecx
mov ecx, dword [ebp - 4]
add ecx, 0x1c
call fcn.10010350
push 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.100602c0
add esp, 0x10
mov edx, dword [ebp + 0x18]
and edx, 0x1c0
je 0x10048bd1
cmp dword [ebp + 0x1c], 0
jne 0x1004885f
push 0x2ae6
push 0x10092e98
push str.callback___0
call fcn.1001ed1e
add esp, 0xc
mov dword [ebp - 0x80], 0
mov dword [ebp - 0xd8], 0x15
mov ecx, dword [ebp + 0x18]
and ecx, 0x40
je 0x1004889e
push 1
push 0
call fcn.100553d0
add esp, 8
movzx edx, al
test edx, edx
je 0x1004889e
mov dword [ebp - 0x80], 0x40
mov dword [ebp - 0xd8], 0
jmp 0x10048911
mov eax, dword [ebp + 0x18]
and eax, 0x80
je 0x100488ce
push 1
push 3
call fcn.100553d0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x100488ce
mov dword [ebp - 0x80], 0x80
mov dword [ebp - 0xd8], 3
jmp 0x10048911
mov edx, dword [ebp + 0x18]
and edx, 0x80
je 0x100488ff
push 1
push 4
call fcn.100553d0
add esp, 8
movzx eax, al
test eax, eax
je 0x100488ff
mov dword [ebp - 0x80], 0x80
mov dword [ebp - 0xd8], 4
jmp 0x10048911
mov ecx, dword [ebp + 0x18]
and ecx, 0x100
je 0x10048911
mov dword [ebp - 0x80], 0x100
cmp dword [ebp - 0x80], 0
je 0x10048bd1
push 0x30
push 0
lea edx, [ebp - 0x134]
push edx
call fcn.100143f0
add esp, 0xc
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x12c], edx
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x1004895d
mov dword [ebp - 0x1f0], 1
jmp 0x10048967
mov dword [ebp - 0x1f0], 0
mov cl, byte [ebp - 0x1f0]
mov byte [ebp - 0x128], cl
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x118], edx
mov byte [ebp - 0x114], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + eax*2]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.100601f0
add esp, 8
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + eax*2]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.100601f0
add esp, 8
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + eax*2]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.100601f0
add esp, 8
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x380], ecx
lea edx, [ebp - 0x134]
push edx
call dword [ebp + 0x1c]
add esp, 4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [eax + 0x24]
je 0x10048a7b
push 0x2b16
push 0x10092ed4
push str.callback_data.Buf__edit_state.TempTextBuffer.Data
call fcn.1001ed1e
add esp, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [eax + 0x30]
je 0x10048aa0
push 0x2b17
push 0x10092f98
push str.callback_data.BufSize__edit_state.BufSizeA
call fcn.1001ed1e
add esp, 0xc
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp + 0x18]
je 0x10048ac2
push 0x2b18
push 0x10093014
push str.callback_data.Flags__flags
call fcn.1001ed1e
add esp, 0xc
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x378]
je 0x10048af2
mov eax, dword [ebp - 0x120]
add eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.10060550
add esp, 8
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x37c]
je 0x10048b22
mov ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp - 0x120]
push edx
call fcn.10060550
add esp, 8
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x108]
cmp edx, dword [ebp - 0x380]
je 0x10048b52
mov eax, dword [ebp - 0x120]
add eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.10060550
add esp, 8
mov edx, dword [ebp - 4]
mov dword [edx + 0x40], eax
movzx eax, byte [ebp - 0x114]
test eax, eax
je 0x10048bd1
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.10018b20
add esp, 4
cmp dword [ebp - 0x11c], eax
je 0x10048b8b
push 0x2b1e
push 0x10093034
push str.callback_data.BufTextLen___int_strlen_callback_data.Buf_
call fcn.1001ed1e
add esp, 0xc
push 0
push 0
mov eax, dword [ebp - 0x120]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.100605c0
add esp, 0x14
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp - 4]
movss xmm0, dword [0x1009d338]
movss dword [edx + 0xe5c], xmm0
movzx eax, byte [ebp - 6]
test eax, eax
je 0x10048c0b
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x24]
push eax
call fcn.1001d3f0
add esp, 8
test eax, eax
je 0x10048c0b
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x24]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10060ec0
add esp, 0xc
mov byte [ebp - 0x23], 1
movzx edx, byte [ebp - 0x12]
test edx, edx
je 0x10048c26
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1944]
cmp ecx, dword [ebp - 0x18]
jne 0x10048c26
call fcn.1005e850
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1944]
cmp eax, dword [ebp - 0x18]
jne 0x10048c4a
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x10048c4a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x1f4], eax
jmp 0x10048c53
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0xbc], edx
mov dword [ebp + 0xc], 0
movzx eax, byte [ebp - 5]
test eax, eax
jne 0x10048cd0
push 1
mov ecx, dword [ebp - 0x18]
push ecx
lea edx, [ebp - 0xb4]
push edx
call fcn.10055850
add esp, 0xc
mov eax, dword [ebp - 0x64]
push ecx
movss xmm0, dword [eax + 0x3c]
movss dword [esp], xmm0
push 1
push ecx
movss xmm0, dword [0x1009d214]
movss dword [esp], xmm0
push 7
call fcn.1005ff90
add esp, 8
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.10056210
add esp, 0x1c
movss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0x384], xmm0
movss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x408], xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x40c], xmm0
movss xmm0, dword [ebp - 0x384]
movss dword [ebp - 0x29c], xmm0
movss xmm0, dword [ebp - 0x408]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [ebp - 0x40c]
movss dword [ebp - 0x290], xmm0
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10048d91
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc8]
mov edx, dword [eax + 0xcc]
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x438], edx
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x1fc], eax
jmp 0x10048dfe
mov ecx, dword [ebp - 0x64]
add ecx, 0x34
mov dword [ebp - 0x1f8], ecx
mov edx, dword [ebp - 0x1f8]
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [edx]
movss dword [ebp - 0x2a8], xmm0
mov eax, dword [ebp - 0x1f8]
movss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [eax + 4]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x444], xmm0
movss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x440], xmm0
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], edx
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x100], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x18]
jne 0x10048e73
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10048e73
push 0
push str.SCROLLY
mov ecx, dword [ebp - 0x20]
call fcn.1005ec90
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x1944], eax
jne 0x10048e73
mov byte [ebp - 0x49], 1
jmp 0x10048e77
mov byte [ebp - 0x49], 0
mov dl, byte [ebp - 0x49]
mov byte [ebp - 0x68], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1944]
cmp ecx, dword [ebp - 0x18]
je 0x10048e97
movzx edx, byte [ebp - 0x68]
test edx, edx
je 0x10049dc1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [eax + 0xe5c]
addss xmm0, dword [ecx + 0x10]
mov edx, dword [ebp - 4]
movss dword [edx + 0xe5c], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x74], ecx
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x288], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp - 0x74]
lea edx, [ecx + eax*2]
mov eax, 4
imul ecx, eax, 0
mov dword [ebp + ecx - 0xe4], edx
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0xe4], 0
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x90], 0xfffffc19
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x10048fcc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
cmp ecx, dword [ebp - 0x204]
jge 0x10048f89
mov edx, dword [ebp - 0x200]
mov dword [ebp - 0x208], edx
jmp 0x10048f95
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x208]
mov edx, dword [ebp - 0x74]
lea eax, [edx + ecx*2]
mov ecx, 4
shl ecx, 0
mov dword [ebp + ecx - 0xe4], eax
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0x94], 0xffffffff
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10048fe0
mov dword [ebp - 0x20c], 1
jmp 0x10048fea
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x20c]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x88], eax
jmp 0x10049017
mov ecx, dword [ebp - 0x88]
add ecx, 2
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x88]
movzx eax, word [edx]
test eax, eax
je 0x100490e0
mov ecx, dword [ebp - 0x88]
movzx edx, word [ecx]
cmp edx, 0xa
jne 0x100490db
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
mov ecx, 4
imul edx, ecx, 0
cmp dword [ebp + edx - 0x94], 0xffffffff
jne 0x1004908f
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp + ecx - 0xe4]
jb 0x1004908f
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x60]
mov dword [ebp + ecx - 0x94], edx
mov eax, dword [ebp - 0x5c]
sub eax, 1
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jg 0x1004908f
jmp 0x100490e0
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x94], 0xffffffff
jne 0x100490db
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x88]
cmp eax, dword [ebp + edx - 0xe4]
jb 0x100490db
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x60]
mov dword [ebp + ecx - 0x94], edx
mov eax, dword [ebp - 0x5c]
sub eax, 1
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jg 0x100490db
jmp 0x100490e0
jmp 0x10049008
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, 4
imul eax, edx, 0
cmp dword [ebp + eax - 0x94], 0xffffffff
jne 0x1004910d
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x60]
mov dword [ebp + edx - 0x94], eax
mov ecx, 4
shl ecx, 0
cmp dword [ebp + ecx - 0x94], 0xffffffff
jne 0x10049131
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x60]
mov dword [ebp + edx - 0x94], eax
push 0
push 0
push 0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0xe4]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + eax - 0xe4]
push ecx
call fcn.10060de0
add esp, 8
push eax
lea edx, [ebp - 0x46c]
push edx
call fcn.1004c5f0
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0x9c], xmm0
mov eax, 4
imul ecx, eax, 0
cvtsi2ss xmm0, dword [ebp + ecx - 0x94]
mov edx, dword [ebp - 0x10]
mulss xmm0, dword [edx + 0x1854]
movss dword [ebp - 0x98], xmm0
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x94], 0
jl 0x10049227
push 0
push 0
push 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + ecx - 0xe4]
push edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + ecx - 0xe4]
push edx
call fcn.10060de0
add esp, 8
push eax
lea eax, [ebp - 0x474]
push eax
call fcn.1004c5f0
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0x288], xmm0
mov ecx, 4
shl ecx, 0
cvtsi2ss xmm0, dword [ebp + ecx - 0x94]
mov edx, dword [ebp - 0x10]
mulss xmm0, dword [edx + 0x1854]
movss dword [ebp - 0x284], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1004928f
movss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x2b4], xmm0
cvtsi2ss xmm0, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x10]
mulss xmm0, dword [ecx + 0x1854]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x2b4]
movss dword [ebp - 0x3a8], xmm0
movss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x3a4], xmm0
mov edx, dword [ebp - 0x3a8]
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0xe60]
test edx, edx
je 0x100494a2
mov eax, dword [ebp + 0x18]
and eax, 0x1000
jne 0x1004937c
movss xmm0, dword [ebp - 0xa4]
mulss xmm0, dword [0x1009d194]
movss dword [ebp - 0x218], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x34]
comiss xmm0, dword [ebp - 0x9c]
jbe 0x10049339
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0x218]
movss dword [ebp - 0x210], xmm0
movss xmm0, dword [0x1009d140]
comiss xmm0, dword [ebp - 0x210]
jb 0x10049313
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x214], xmm0
jmp 0x10049323
movss xmm0, dword [ebp - 0x210]
movss dword [ebp - 0x214], xmm0
cvttss2si edx, dword [ebp - 0x214]
cvtsi2ss xmm0, edx
mov eax, dword [ebp - 4]
movss dword [eax + 0x34], xmm0
jmp 0x1004937a
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0xa4]
mov ecx, dword [ebp - 4]
comiss xmm0, dword [ecx + 0x34]
jb 0x1004937a
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0xa4]
addss xmm0, dword [ebp - 0x218]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [ebp - 4]
movss dword [eax + 0x34], xmm0
jmp 0x1004938c
mov ecx, dword [ebp - 4]
movss xmm0, dword [0x1009d140]
movss dword [ecx + 0x34], xmm0
movzx edx, byte [ebp - 5]
test edx, edx
je 0x100494a2
mov eax, dword [ebp - 0x20]
movss xmm0, dword [eax + 0x58]
movss dword [ebp - 0x8c], xmm0
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ecx + 0x1854]
movss xmm1, dword [ebp - 0x8c]
comiss xmm1, xmm0
jbe 0x10049428
mov edx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [edx + 0x1854]
movss dword [ebp - 0x21c], xmm0
movss xmm0, dword [0x1009d140]
comiss xmm0, dword [ebp - 0x21c]
jb 0x10049406
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x220], xmm0
jmp 0x10049416
movss xmm0, dword [ebp - 0x21c]
movss dword [ebp - 0x220], xmm0
movss xmm0, dword [ebp - 0x220]
movss dword [ebp - 0x8c], xmm0
jmp 0x10049459
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ebp - 0xa0]
comiss xmm0, dword [ebp - 0x8c]
jb 0x10049459
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x8c], xmm0
mov eax, dword [ebp - 0x20]
movss xmm0, dword [eax + 0x58]
subss xmm0, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x20]
addss xmm0, dword [ecx + 0xcc]
mov edx, dword [ebp - 0x20]
movss dword [edx + 0xcc], xmm0
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x8c]
movss dword [eax + 0x58], xmm0
mov ecx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0xcc]
movss dword [ebp - 0xc0], xmm0
mov edx, dword [ebp - 4]
mov byte [edx + 0xe60], 0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x34]
movss dword [ebp - 0x2bc], xmm0
movss xmm0, dword [ebp - 0x2bc]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0xe8], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [edx + 0x40]
je 0x100499a2
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
cmp edx, dword [ebp - 0x228]
jge 0x10049522
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x22c], eax
jmp 0x1004952e
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x74]
lea ecx, [eax + edx*2]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x234]
jl 0x10049574
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x238], ecx
jmp 0x10049580
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x238], edx
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x74]
lea edx, [ecx + eax*2]
mov dword [ebp - 0xf4], edx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x100495ac
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x23c], xmm0
jmp 0x100495bc
movss xmm0, dword [0x1009d344]
movss dword [ebp - 0x23c], xmm0
movss xmm0, dword [ebp - 0x23c]
movss dword [ebp - 0x2ec], xmm0
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x100495e6
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x240], xmm0
jmp 0x100495f6
movss xmm0, dword [0x1009d244]
movss dword [ebp - 0x240], xmm0
movss xmm0, dword [ebp - 0x240]
movss dword [ebp - 0x2e0], xmm0
push ecx
movss xmm0, dword [0x1009d214]
movss dword [esp], xmm0
push 0x25
call fcn.1005ff90
add esp, 8
mov dword [ebp - 0x2fc], eax
movss xmm0, dword [ebp - 0xc4]
addss xmm0, dword [ebp - 0x288]
movss dword [ebp - 0x2c0], xmm0
movss xmm0, dword [ebp - 0xc0]
addss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2c0]
movss dword [ebp - 0x3b0], xmm0
movss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x3ac], xmm0
movss xmm0, dword [ebp - 0x3b0]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [ebp - 0x3ac]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x2c8]
movss dword [ebp - 0xcc], xmm0
movss xmm0, dword [ebp - 0x2cc]
movss dword [ebp - 0xc8], xmm0
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0xf4]
jae 0x100499a2
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x290]
addss xmm0, dword [ecx + 0x1854]
movss xmm1, dword [ebp - 0xc8]
comiss xmm1, xmm0
jbe 0x10049701
jmp 0x100499a2
movss xmm0, dword [ebp - 0x298]
comiss xmm0, dword [ebp - 0xc8]
jbe 0x10049744
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0xf4]
jae 0x1004973f
mov eax, dword [ebp - 0x78]
movzx ecx, word [eax]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x78]
add edx, 2
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x2d4], 0xa
jne 0x1004973d
jmp 0x1004973f
jmp 0x10049712
jmp 0x1004996a
push 1
push 0
lea eax, [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x78]
push edx
lea eax, [ebp - 0x3b8]
push eax
call fcn.1004c5f0
add esp, 0x18
movss xmm0, dword [0x1009d140]
comiss xmm0, dword [ebp - 0x3b8]
jb 0x100497ad
push 0x20
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x1850]
call fcn.1000d090
fstp dword [ebp - 0x2d8]
movss xmm0, dword [ebp - 0x2d8]
mulss xmm0, dword [0x1009d1c0]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x2e0]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x2e4], xmm0
movss xmm0, dword [ebp - 0xc8]
addss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [ebp - 0x2e4]
movss dword [ebp - 0x3d8], xmm0
movss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x3d4], xmm0
mov eax, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x2ec]
subss xmm0, dword [eax + 0x1854]
movss dword [ebp - 0x2f0], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x2f4], xmm0
movss xmm0, dword [ebp - 0xc8]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x2f8], xmm0
movss xmm0, dword [ebp - 0x2f4]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x2f8]
movss dword [ebp - 0x3cc], xmm0
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], ecx
lea edx, [ebp - 0x29c]
push edx
lea ecx, [ebp - 0x484]
call fcn.1000d170
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x41c]
call fcn.1000d560
lea ecx, [ebp - 0x29c]
push ecx
lea ecx, [ebp - 0x494]
call fcn.1000d170
lea edx, [ebp - 0x494]
push edx
lea ecx, [ebp - 0x41c]
call fcn.1000d3b0
movzx eax, al
test eax, eax
je 0x1004996a
push 0xf
push ecx
movss xmm0, dword [0x1009d140]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x2fc]
push ecx
lea edx, [ebp - 0x414]
push edx
lea eax, [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x27c]
call fcn.1007aa20
movss xmm0, dword [ebp - 0xc4]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xcc], xmm0
mov edx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0xc8]
addss xmm0, dword [edx + 0x1854]
movss dword [ebp - 0xc8], xmm0
jmp 0x100496cd
movzx eax, byte [ebp - 5]
test eax, eax
je 0x100499b6
mov dword [ebp - 0x244], 0
jmp 0x100499c2
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x244], ecx
movss xmm0, dword [ebp - 0xc4]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x404], xmm0
movss xmm0, dword [ebp - 0xc0]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [ebp - 0x404]
movss dword [ebp - 0x44c], xmm0
movss xmm0, dword [ebp - 0x304]
movss dword [ebp - 0x448], xmm0
mov edx, dword [ebp - 0x244]
push edx
push ecx
movss xmm0, dword [0x1009d140]
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xbc]
add ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
push ecx
movss xmm0, dword [0x1009d214]
movss dword [esp], xmm0
push 0
call fcn.1005ff90
add esp, 8
push eax
lea eax, [ebp - 0x44c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [ecx + 0x1854]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1850]
push eax
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x27c]
call fcn.1007a700
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xbd]
test eax, eax
je 0x10049b10
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [0x1009d140]
comiss xmm0, dword [ecx + 0x2ab4]
jae 0x10049b10
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x2ab4]
movss dword [ebp - 0x308], xmm0
cvtss2sd xmm0, dword [0x1009d21c]
sub esp, 8
movsd qword [esp], xmm0
cvtss2sd xmm0, dword [ebp - 0x308]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1001f830
add esp, 0x10
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x30c]
fstp dword [ebp - 0x310]
movss xmm0, dword [0x1009d1f8]
comiss xmm0, dword [ebp - 0x310]
jae 0x10049b10
mov dword [ebp - 0x248], 0
jmp 0x10049b1a
mov dword [ebp - 0x248], 1
mov al, byte [ebp - 0x248]
mov byte [ebp - 0x69], al
movss xmm0, dword [ebp - 0xc4]
addss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x314], xmm0
movss xmm0, dword [ebp - 0xc0]
addss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x318], xmm0
movss xmm0, dword [ebp - 0x314]
movss dword [ebp - 0x3e0], xmm0
movss xmm0, dword [ebp - 0x318]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3e0]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x31c], xmm0
movss xmm0, dword [ebp - 0x3dc]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [ebp - 0x31c]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x324], xmm0
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ecx + 0x1854]
addss xmm0, dword [0x1009d1c0]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [0x1009d214]
movss dword [ebp - 0x32c], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [0x1009d228]
movss dword [ebp - 0x330], xmm0
lea edx, [ebp - 0x464]
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x24c]
movss xmm0, dword [ebp - 0x324]
movss dword [eax], xmm0
mov ecx, dword [ebp - 0x24c]
movss xmm0, dword [ebp - 0x328]
movss dword [ecx + 4], xmm0
lea edx, [ebp - 0x45c]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x250]
movss xmm0, dword [ebp - 0x32c]
movss dword [eax], xmm0
mov ecx, dword [ebp - 0x250]
movss xmm0, dword [ebp - 0x330]
movss dword [ecx + 4], xmm0
movzx edx, byte [ebp - 0x69]
test edx, edx
je 0x10049d46
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.1000d170
lea ecx, [ebp - 0x4a4]
push ecx
lea ecx, [ebp - 0x464]
call fcn.1000d3b0
movzx edx, al
test edx, edx
je 0x10049d46
movss xmm0, dword [ebp - 0x464]
movss dword [ebp - 0x334], xmm0
movss xmm0, dword [ebp - 0x458]
movss dword [ebp - 0x338], xmm0
movss xmm0, dword [ebp - 0x334]
movss dword [ebp - 0x454], xmm0
movss xmm0, dword [ebp - 0x338]
movss dword [ebp - 0x450], xmm0
push ecx
movss xmm0, dword [0x1009d214]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1009d214]
movss dword [esp], xmm0
push 0
call fcn.1005ff90
add esp, 8
push eax
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x464]
push ecx
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x27c]
call fcn.1007aca0
movzx eax, byte [ebp - 6]
test eax, eax
je 0x10049dbc
movss xmm0, dword [ebp - 0xfc]
subss xmm0, dword [0x1009d214]
movss dword [ebp - 0x33c], xmm0
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ecx + 0x1854]
movss dword [ebp - 0x340], xmm0
movss xmm0, dword [ebp - 0x33c]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x340]
movss dword [ebp - 0x3e4], xmm0
mov edx, dword [ebp - 0x3e8]
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x2b50], edx
mov dword [ecx + 0x2b54], eax
jmp 0x10049ed4
mov dword [ebp - 0x258], 0
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10049e48
movss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x344], xmm0
lea eax, [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.1004c7b0
add esp, 8
cvtsi2ss xmm0, eax
mov edx, dword [ebp - 0x10]
mulss xmm0, dword [edx + 0x1854]
movss dword [ebp - 0x348], xmm0
movss xmm0, dword [ebp - 0x344]
movss dword [ebp - 0x3f0], xmm0
movss xmm0, dword [ebp - 0x348]
movss dword [ebp - 0x3ec], xmm0
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], ecx
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10049e5c
mov dword [ebp - 0x254], 0
jmp 0x10049e68
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x254]
push ecx
push ecx
movss xmm0, dword [0x1009d140]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x258]
push edx
mov eax, dword [ebp - 0xbc]
push eax
push ecx
movss xmm0, dword [0x1009d214]
movss dword [esp], xmm0
push 0
call fcn.1005ff90
add esp, 8
push eax
lea ecx, [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [edx + 0x1854]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1850]
push ecx
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x27c]
call fcn.1007a700
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10049f7c
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x1854]
movss dword [ebp - 0x34c], xmm0
movss xmm0, dword [0x1009d140]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x34c]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x350], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x354], xmm0
movss xmm0, dword [ebp - 0x350]
movss dword [ebp - 0x434], xmm0
movss xmm0, dword [ebp - 0x354]
movss dword [ebp - 0x430], xmm0
lea edx, [ebp - 0x434]
push edx
call fcn.100462e0
add esp, 4
call fcn.100542b0
call fcn.10045df0
movzx eax, byte [ebp - 0x1b]
test eax, eax
je 0x10049f89
call fcn.1004fb90
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0x2b8c]
test edx, edx
je 0x10049fb7
movzx eax, byte [ebp - 0x1b]
test eax, eax
jne 0x10049fb7
push 0
mov ecx, dword [ebp - 0xbc]
push ecx
lea edx, [ebp - 0xc4]
push edx
call fcn.100568c0
add esp, 0xc
movss xmm0, dword [ebp - 0x2a4]
comiss xmm0, dword [0x1009d140]
jbe 0x1004a036
mov eax, dword [ebp - 0x64]
movss xmm0, dword [ebp - 0xac]
addss xmm0, dword [eax + 0x4c]
movss dword [ebp - 0x358], xmm0
mov ecx, dword [ebp - 0x64]
movss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [ecx + 0x38]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x400], xmm0
movss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x3fc], xmm0
push 1
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x3fc]
push eax
mov ecx, dword [ebp - 0x400]
push ecx
call fcn.100567d0
add esp, 0x14
movzx edx, byte [ebp - 0x23]
test edx, edx
je 0x1004a04a
mov eax, dword [ebp - 0x18]
push eax
call fcn.1005e730
add esp, 4
mov ecx, dword [ebp + 0x18]
and ecx, 0x20
je 0x1004a059
mov al, byte [ebp - 0x29]
jmp 0x1004a05c
mov al, byte [ebp - 0x23]
mov esp, ebp
pop ebp
ret