Function at 0x413bd0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fff00
mov eax, dword fs:[0]
push eax
sub esp, 0xdd0
mov eax, dword [0x5e0f00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
mov dword [ebp - 0x818], edi
mov dword [ebp - 0x81c], edi
call fcn.00492f70
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2d0], 0xf
mov byte [ebp - 0x2e4], 0
mov ecx, dword [0x5d0178]
mov dword [ebp - 4], edi
mov esi, dword [ecx + 0x60c]
mov eax, dword [ecx + 0x610]
test esi, esi
je 0x413ce4
test eax, eax
je 0x413ce4
inc esi
cmp byte [esi], 0
je 0x413ce4
dec eax
mov dword [ebp - 0x814], eax
lea eax, [ecx + 0x618]
push eax
call fcn.004abc40
add esp, 4
mov eax, dword [ebp - 0x814]
add eax, esi
mov byte [ebp - 4], 1
cmp eax, esi
jbe 0x413cbf
cmp byte [eax - 1], 0
je 0x413c95
dec eax
cmp eax, esi
ja 0x413c88
jmp 0x413cbf
sub esp, 0x18
sub eax, esi
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
push esi
mov dword [ecx + 0x14], 0
call fcn.00401720
call fcn.0041c150
add esp, 0x18
push dword [ebp - 0x814]
push 0
push esi
call fcn.004d65b0
mov eax, dword [0x5d0178]
add eax, 0x618
mov byte [ebp - 4], 2
push eax
call fcn.004ae2e0
add esp, 0x10
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
mov eax, dword [0x60752c]
mov dword [eax + 0x4158], 0
call fcn.00492cb0
fstp dword [ebp - 0x808]
call fcn.00493c60
fld dword [ebp - 0x808]
fstp dword [eax + 0x74]
call fcn.00492cb0
fstp dword [ebp - 0x808]
call fcn.00493c60
fld dword [ebp - 0x808]
push 1
push 0x245
fstp dword [eax + 0x7c]
call fcn.004a3990
add esp, 8
test al, al
je 0x413d56
mov byte [0x5d0688], 1
call fcn.0040faa0
cmp byte [0x5d0182], 0
jne 0x413d6f
call fcn.004ad9a0
mov dword [0x5d06a0], eax
mov dword [0x5d06a4], edx
xorps xmm0, xmm0
mov byte [ebp - 0x844], 0
movss dword [ebp - 0x83c], xmm0
movss dword [ebp - 0x824], xmm0
mov byte [ebp - 0x814], 0
mov byte [ebp - 0x864], 0
mov byte [ebp - 0x868], 0
mov byte [ebp - 0x85c], 0
mov byte [ebp - 0x809], 0
call fcn.004867e0
mov esi, 1
mov dword [ebp - 0x830], esi
test al, al
je 0x415476
call fcn.00494a30
push esi
push dword [0x531bac]
fstp dword [ebp - 0x808]
call fcn.00486a00
add esp, 8
test al, al
je 0x414043
push esi
push 0
push 0
push dword [0x531bec]
call fcn.004a5760
add esp, 0x10
test al, al
je 0x413e0b
mov byte [0x5d0674], 1
mov byte [0x5d0681], 1
push 1
push 0
push 0
push dword [0x531be8]
call fcn.004a5760
add esp, 0x10
test al, al
je 0x413e31
mov byte [0x5d0674], 1
mov byte [0x5d0680], 1
push 1
push dword [0x531ba8]
call fcn.00486a00
add esp, 8
test al, al
je 0x413fb2
mov eax, dword [0x5d0178]
cmp dword [0x6069e0], 0
sete cl
mov esi, dword [eax + 0x5e4]
mov al, byte [eax + 0x7e8]
nop
test al, al
jne 0x413e71
test esi, esi
je 0x413e71
test cl, cl
je 0x413e73
mov al, 1
push eax
call fcn.00486610
push 1
push 0
push 0
push dword [0x531c18]
call fcn.004a5760
add esp, 0x14
mov byte [ebp - 0x802], al
call fcn.0048ecf0
mov ecx, dword [0x5d0178]
mov cl, byte [ecx + 0x7e8]
nop
test cl, cl
jne 0x413eb1
test esi, esi
je 0x413eb1
xor al, al
jmp 0x413eb6
mov eax, 1
push eax
call fcn.00486610
push 1
push 0
push 0
push dword [0x531c10]
call fcn.004a5760
push 1
push 0
push 0
push dword [0x531c14]
mov byte [ebp - 0x801], al
call fcn.004a5760
add esp, 0x24
mov byte [ebp - 0x803], al
call fcn.0048ecf0
cmp byte [ebp - 0x802], 0
je 0x413f29
lea eax, [ebp - 0xc88]
push eax
call fcn.00412520
push eax
mov dword [ebp - 4], 3
call fcn.00430780
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc88]
call fcn.00404db0
cmp byte [ebp - 0x801], 0
je 0x413f7a
lea eax, [ebp - 0x29c]
push eax
call fcn.00412520
cmp dword [ebp - 0x288], 0x10
lea eax, [ebp - 0x29c]
push dword [ebp - 0x28c]
cmovae eax, dword [ebp - 0x29c]
push eax
mov dword [ebp - 4], 4
call fcn.00430c40
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
call fcn.00404db0
cmp byte [ebp - 0x803], 0
jne 0x413f95
cmp byte [0x5d067d], 0
jne 0x413f95
cmp byte [0x5d067c], 0
je 0x413f9c
mov byte [0x5d0682], 1
call fcn.0048f3d0
mov edi, dword [ebp - 0x81c]
mov esi, 1
mov dword [ebp - 0x818], edi
push dword [0x531c08]
lea eax, [ebp - 0x2cc]
push str._smenu
push eax
call fcn.004b96e0
cmp dword [ebp - 0x2b8], 0x10
lea eax, [ebp - 0x2cc]
push 1
cmovae eax, dword [ebp - 0x2cc]
push 0
push 0
push eax
mov dword [ebp - 4], 5
call fcn.004a5760
mov ecx, dword [ebp - 0x844]
test al, al
push 1
push 0
movzx ecx, cl
push 0
push dword [0x531bf0]
cmovne ecx, esi
mov dword [ebp - 0x844], ecx
call fcn.004a5760
mov ecx, dword [ebp - 0x814]
add esp, 0x2c
test al, al
movzx ecx, cl
cmovne ecx, esi
mov dword [ebp - 0x814], ecx
call fcn.0048f3d0
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
call fcn.00493c60
movups xmm0, xmmword [eax + 0xe8]
lea esi, [eax + 0xe8]
mov dword [ebp - 0x82c], esi
movups xmmword [ebp - 0x30c], xmm0
call fcn.00492560
push 1
push dword [0x531b60]
fstp dword [ebp - 0x828]
call fcn.00486a00
fld dword [0x538d34]
add esp, 8
fstp dword [ebp - 0x820]
test al, al
je 0x414bc5
mov eax, dword [0x5d0178]
cmp byte [eax + 0x7d8], 0
jne 0x4140ba
mov dword [esi], 0x3f800000
mov dword [esi + 4], 0x3f800000
mov dword [esi + 8], 0x3f800000
mov dword [esi + 0xc], 0x3f800000
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x884], esi
mov dword [ebp - 0x880], eax
mov dword [ebp - 4], 6
call fcn.00492cb0
fmul dword [ebp - 0x820]
fstp dword [ebp - 0x810]
call fcn.00493080
push 4
movss xmm0, dword [eax + 0x1c]
lea eax, [ebp - 0x9ac]
mulss xmm0, dword [0x538d14]
push eax
movss dword [ebp - 0x9ac], xmm0
movss xmm0, dword [ebp - 0x810]
movss dword [ebp - 0x9a8], xmm0
call fcn.004b7500
call fcn.00492cb0
movss xmm0, dword [ebp - 0x828]
lea eax, [ebp - 0x9a4]
push eax
movss dword [ebp - 0x99c], xmm0
lea eax, [ebp - 0x99c]
fstp dword [ebp - 0x810]
movss xmm0, dword [ebp - 0x810]
push 4
push eax
movss dword [ebp - 0x998], xmm0
mov dword [ebp - 0x9a4], 0
mov dword [ebp - 0x9a0], 0
call fcn.004b74b0
push 0x80005
push 0
push dword [0x531b60]
call fcn.00483580
push 0
push 0
push 0x20
push 0x5d0644
push dword [0x531b64]
push str.bookmarks_input
call fcn.004a34f0
add esp, 0x38
test al, al
je 0x414309
movzx eax, byte [0x5d0642]
mov ecx, 0x5d0644
cmp dword [0x5d0658], 0x10
push eax
cmovae ecx, dword [0x5d0644]
lea eax, [ebp - 0x80]
push eax
push ecx
lea eax, [ebp - 0x20c]
mov word [ebp - 0x80], 9
push eax
call fcn.00412f60
add esp, 0x10
mov eax, dword [0x607290]
mov byte [ebp - 4], 7
mov dword [ebp - 0x840], eax
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0x810], ecx
cmp esi, ecx
je 0x414286
nop
cmp dword [esi + 0x14], 0x10
mov eax, esi
mov dword [ebp - 0x840], esi
jb 0x414216
mov eax, dword [esi]
mov dword [ebp - 0x840], eax
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x414235
push ecx
push 9
push eax
call fcn.004d5f80
add esp, 0xc
test eax, eax
je 0x414235
sub eax, dword [ebp - 0x840]
jmp 0x414238
or eax, 0xffffffff
cmp eax, dword [esi + 0x10]
jae 0x414270
push eax
push 0
lea eax, [ebp - 0x50]
mov ecx, esi
push eax
call fcn.00422b90
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 8
push eax
push 0x5d0644
call fcn.00401400
add esp, 8
test al, al
jne 0x4142a6
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.00404db0
add esi, 0x18
cmp esi, dword [ebp - 0x810]
jne 0x414200
mov eax, dword [0x607290]
mov dword [ebp - 0x840], eax
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x4142da
lea eax, [ebp - 0x20c]
push eax
call fcn.00404150
mov eax, dword [ebp - 0x840]
add dword [eax + 4], 0x18
jmp 0x4142e9
lea eax, [ebp - 0x20c]
cmp esi, eax
je 0x4142cc
cmp dword [ebp - 0x1f8], 0x10
mov ecx, esi
push dword [ebp - 0x1fc]
cmovae eax, dword [ebp - 0x20c]
push eax
call fcn.00421eb0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.00404db0
jmp 0x4142e9
lea edx, [ebp - 0x20c]
push edx
push ecx
mov ecx, eax
call fcn.00401b60
push 0
push 0x503500
mov ecx, 0x5d0644
call fcn.00421eb0
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 6
call fcn.00404db0
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push 0x5d0642
push str.Include_Sources
call fcn.0048b260
push 0
push 0
lea eax, [ebp - 0x9d4]
mov dword [ebp - 0x9d4], 0
push eax
push str.bookmark_child_window
mov dword [ebp - 0x9d0], 0
call fcn.004859d0
add esp, 0x1c
lea eax, [ebp - 0x98c]
mov dword [ebp - 0x98c], 0
mov dword [ebp - 0x988], 0
mov dword [esp], 0
push eax
push 0x281
push 4
push str.bookmarks_table
call fcn.00487c20
add esp, 0x14
test al, al
je 0x414b97
mov eax, dword [0x607290]
mov dword [ebp - 0x824], 0
mov esi, dword [eax + 4]
mov ecx, esi
mov eax, dword [eax]
sub ecx, eax
mov dword [ebp - 0x810], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x414b92
mov edi, dword [ebp - 0x810]
xor ecx, ecx
mov dword [ebp - 0x838], 0
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x41aa02
add edi, dword [ebp - 0x838]
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x860], 0
xor ecx, ecx
lea eax, [edi + 0x10]
mov dword [ebp - 0x828], eax
mov eax, dword [eax]
mov dword [ebp - 0x840], eax
jmp 0x414436
mov eax, dword [ebp - 0x840]
cmp dword [edi + 0x14], 0x10
mov esi, edi
jb 0x414440
mov esi, dword [edi]
cmp ecx, eax
jae 0x41445d
sub eax, ecx
push eax
lea eax, [esi + ecx]
push 9
push eax
call fcn.004d5f80
add esp, 0xc
test eax, eax
je 0x41445d
sub eax, esi
jmp 0x414460
or eax, 0xffffffff
mov esi, dword [ebp - 0x840]
cmp eax, esi
jae 0x414483
mov edx, dword [ebp - 0x860]
lea ecx, [eax + 1]
mov dword [ebp + edx*4 - 0x48], eax
inc edx
mov dword [ebp - 0x860], edx
cmp edx, 4
jb 0x414430
mov ecx, dword [ebp - 0x48]
cmp ecx, esi
jae 0x4144e8
mov eax, dword [ebp - 0x828]
mov edx, ecx
mov dword [ebp - 0xa70], 0
mov dword [ebp - 0xa60], 0
mov dword [ebp - 0xa5c], 0
cmp dword [eax], ecx
cmovb edx, dword [eax]
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x4144bf
mov eax, dword [edi]
push edx
push eax
lea ecx, [ebp - 0xa70]
call fcn.00401720
mov eax, dword [ebp - 0x818]
or eax, 0x20000
mov esi, dword [ebp - 0x824]
lea ecx, [ebp - 0xa70]
or eax, 1
jmp 0x41450e
mov esi, dword [ebp - 0x824]
lea eax, [ebp - 0xca0]
push esi
push str.search__zu
push eax
call fcn.004b96e0
mov ecx, eax
add esp, 0xc
mov eax, dword [ebp - 0x818]
or eax, 2
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0
movups xmm0, xmmword [ecx]
mov dword [ebp - 0x81c], eax
mov dword [ebp - 0x818], eax
movups xmmword [ebp - 0x23c], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x22c], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov dword [ebp - 4], 0xa
test al, 2
je 0x41458b
and eax, 0xfffffffd
lea ecx, [ebp - 0xca0]
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x81c], eax
call fcn.00404db0
mov eax, dword [ebp - 0x818]
mov byte [ebp - 4], 0xb
test al, 1
je 0x4145ad
and eax, 0xfffffffe
lea ecx, [ebp - 0xa70]
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x81c], eax
call fcn.00404db0
push esi
call fcn.004b0670
mov dword [esp], 0
push 0
call fcn.004bde70
call fcn.004bdde0
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x984]
push ecx
push 2
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x984], 0
cmovae eax, dword [ebp - 0x23c]
push 0
push eax
mov dword [ebp - 0x980], 0
call fcn.004b5d90
add esp, 0x18
mov byte [ebp - 0x802], al
call fcn.004b0050
call fcn.004bdde0
mov edx, dword [ebp - 0x48]
mov ecx, edi
inc edx
cmp dword [edi + 0x14], 0x10
jb 0x414620
mov ecx, dword [edi]
mov esi, dword [ebp - 0x44]
lea eax, [ecx + edx]
push eax
mov eax, esi
sub eax, edx
push eax
push str._.s
call fcn.004c0500
add esp, 0xc
call fcn.004bdde0
cmp dword [edi + 0x14], 0x10
lea ecx, [esi + 1]
mov eax, edi
jb 0x41464b
mov eax, dword [edi]
mov esi, dword [ebp - 0x40]
add eax, ecx
push eax
mov eax, esi
sub eax, ecx
push eax
push str._.s
call fcn.004c0500
add esp, 0xc
call fcn.004bdde0
inc esi
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x414673
mov eax, dword [edi]
add eax, esi
push eax
mov eax, dword [ebp - 0x3c]
sub eax, esi
push eax
push str._.s
call fcn.004c0500
add esp, 0xc
cmp byte [ebp - 0x802], 0
je 0x414b43
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x7dc], 0
mov dword [ebp - 0x7c4], 0
mov dword [ebp - 0x7e4], 0
mov dword [ebp - 0x7e0], 0xf
mov byte [ebp - 0x7f4], 0
mov dword [ebp - 0x7cc], 0
mov dword [ebp - 0x7c8], 0xf
mov byte [ebp - 0x7dc], 0
mov dword [ebp - 0x7b4], 0
mov dword [ebp - 0x7b0], 0xf
mov byte [ebp - 0x7c4], 0
push 0x408
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 0xc
push 0
push eax
call fcn.004d65b0
add esp, 0xc
cmp dword [edi + 0x14], 0x10
jb 0x414727
mov edi, dword [edi]
lea eax, [ebp - 0x7f4]
push eax
mov eax, dword [ebp - 0x828]
push dword [eax]
push edi
call fcn.0041ae90
add esp, 0xc
test al, al
je 0x414b22
cmp dword [ebp - 0x7e4], 0
jne 0x4147b2
mov eax, dword [0x5d0178]
add eax, 0x518
push 0x7c
push eax
lea eax, [ebp - 0xb50]
push eax
call fcn.004a4320
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x7f4]
cmp eax, esi
je 0x4147a7
mov ecx, eax
call fcn.00404db0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x7f4], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x7e4], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xb50]
call fcn.00404db0
call fcn.0048c320
push 0
push dword [ebp - 0x7ac]
lea ecx, [ebp - 0x7c4]
mov byte [ebp - 0x809], 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x3c], esp
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x7b0], 0x10
mov eax, dword [ebp - 0x7b4]
cmovae ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x810], eax
cmp eax, 0x7fffffff
ja 0x41a9fd
cmp eax, 0x10
jae 0x41482d
push 0x10
push ecx
mov dword [esi + 0x10], eax
push esi
mov dword [esi + 0x14], 0xf
call fcn.004d6030
jmp 0x41487a
mov edi, eax
mov dword [esi + 0x14], 0xf
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x414848
mov edi, 0x7fffffff
jmp 0x414853
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.00421c20
mov ecx, dword [ebp - 0x810]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x828]
mov dword [esi + 0x14], edi
push eax
call fcn.004d6030
add esp, 0xc
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov esi, esp
mov dword [ebp - 0x834], esp
lea ecx, [ebp - 0x7dc]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x7c8], 0x10
mov eax, dword [ebp - 0x7cc]
cmovae ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x810], eax
cmp eax, 0x7fffffff
ja 0x41a9fd
cmp eax, 0x10
jae 0x4148eb
push 0x10
push ecx
mov dword [esi + 0x10], eax
push esi
mov dword [esi + 0x14], 0xf
call fcn.004d6030
jmp 0x414938
mov edi, eax
mov dword [esi + 0x14], 0xf
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x414906
mov edi, 0x7fffffff
jmp 0x414911
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.00421c20
mov ecx, dword [ebp - 0x810]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x828]
mov dword [esi + 0x14], edi
push eax
call fcn.004d6030
add esp, 0xc
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov esi, esp
lea ecx, [ebp - 0x7f4]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x7e0], 0x10
mov eax, dword [ebp - 0x7e4]
cmovae ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x810], eax
cmp eax, 0x7fffffff
ja 0x41a9fd
cmp eax, 0x10
jae 0x4149a3
push 0x10
push ecx
mov dword [esi + 0x10], eax
push esi
mov dword [esi + 0x14], 0xf
call fcn.004d6030
jmp 0x4149f0
mov edi, eax
mov dword [esi + 0x14], 0xf
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x4149be
mov edi, 0x7fffffff
jmp 0x4149c9
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.00421c20
mov ecx, dword [ebp - 0x810]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x828]
mov dword [esi + 0x14], edi
push eax
call fcn.004d6030
add esp, 0xc
mov byte [ebp - 4], 0xc
call fcn.0041ea00
mov eax, dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x7a4]
push eax
mov dword [0x5d05cc], eax
lea eax, [ebp - 0xb68]
push ecx
push eax
mov dword [0x5d05c8], ecx
call fcn.00410470
mov esi, eax
add esp, 0x5c
cmp esi, 0x5d05d8
je 0x414a60
mov ecx, 0x5d05d8
call fcn.00404db0
movups xmm0, xmmword [esi]
movups xmmword [0x5d05d8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x5d05e8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xb68]
call fcn.00404db0
mov eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x79c]
push eax
mov dword [0x5d05d4], eax
lea eax, [ebp - 0xb80]
push ecx
push eax
mov dword [0x5d05d0], ecx
call fcn.00410470
mov esi, eax
add esp, 0xc
cmp esi, 0x5d05f0
je 0x414acf
mov ecx, 0x5d05f0
call fcn.00404db0
movups xmm0, xmmword [esi]
movups xmmword [0x5d05f0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x5d0600], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xb80]
call fcn.00404db0
mov ecx, 0x3f
lea esi, [ebp - 0x59c]
mov edi, 0x5d03cc
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3f
lea esi, [ebp - 0x4a0]
mov edi, 0x5d04c8
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3f
lea esi, [ebp - 0x698]
mov edi, 0x5d01d4
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3f
lea esi, [ebp - 0x794]
mov edi, 0x5d02d0
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x7c4]
call fcn.00404db0
lea ecx, [ebp - 0x7dc]
call fcn.00404db0
lea ecx, [ebp - 0x7f4]
call fcn.00404db0
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 6
call fcn.00404db0
mov eax, dword [0x607290]
inc dword [ebp - 0x824]
add dword [ebp - 0x838], 0x18
mov esi, dword [eax + 4]
mov ecx, esi
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x824]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x4143e0
mov edi, dword [ebp - 0x818]
call fcn.0048f750
call fcn.0048e660
call fcn.0048e430
call fcn.0048f3d0
mov eax, dword [ebp - 0x880]
mov ecx, dword [ebp - 0x884]
mov esi, dword [ebp - 0x82c]
mov dword [ebp - 4], 0xffffffff
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
call fcn.00492560
lea eax, [ebp - 0x97c]
mov dword [ebp - 0x97c], 0
push eax
push 2
fstp dword [ebp - 0x810]
mov dword [ebp - 0x978], 0
call fcn.004b0910
mov eax, dword [0x5d0178]
cmp dword [eax + 0x6b4], 0
setne al
movzx eax, al
push eax
push dword [0x531b5c]
call fcn.00486a00
add esp, 0x10
test al, al
je 0x4153ad
mov eax, dword [0x5d0178]
cmp byte [eax + 0x7d8], 0
jne 0x414c44
mov dword [esi], 0x3f800000
mov dword [esi + 4], 0x3f800000
mov dword [esi + 8], 0x3f800000
mov dword [esi + 0xc], 0x3f800000
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x87c], esi
mov dword [ebp - 0x878], eax
mov dword [ebp - 4], 0xf
call fcn.00492cb0
fmul dword [ebp - 0x820]
fstp dword [ebp - 0x82c]
call fcn.00493080
push 4
movss xmm0, dword [eax + 0x1c]
lea eax, [ebp - 0x8fc]
mulss xmm0, dword [0x538d14]
push eax
movss dword [ebp - 0x8fc], xmm0
movss xmm0, dword [ebp - 0x82c]
movss dword [ebp - 0x8f8], xmm0
call fcn.004b7500
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x970], 0
call fcn.00492cb0
movss xmm0, dword [ebp - 0x810]
lea eax, [ebp - 0x974]
push eax
movss dword [ebp - 0x994], xmm0
lea eax, [ebp - 0x994]
fstp dword [ebp - 0x82c]
movss xmm0, dword [ebp - 0x82c]
push 4
push eax
movss dword [ebp - 0x990], xmm0
call fcn.004b74b0
push 0x80005
push 0
push dword [0x531b5c]
call fcn.00483580
call fcn.00493e40
add esp, 0x1c
lea eax, [ebp - 0x964]
fstp dword [ebp - 0x824]
mov dword [ebp - 0x964], 0
mov dword [ebp - 0x960], 0
mov dword [esp], 0
push eax
push 0x281
push 3
push str.history_table
call fcn.00487c20
add esp, 0x14
test al, al
je 0x41538a
push 0
push ecx
mov dword [esp], 0
push 0x10
push 0x503500
call fcn.004bebd0
add esp, 0x10
push 0
push ecx
mov dword [esp], 0x43960000
push 0x10
push 0x503500
call fcn.004bebd0
add esp, 0x10
push 0
push ecx
mov dword [esp], 0
push 0x20
push 0x503500
call fcn.004bebd0
add esp, 0x10
call fcn.004938b0
fdiv dword [ebp - 0x824]
fstp dword [ebp - 0x82c]
movss xmm0, dword [ebp - 0x82c]
call fcn.004d3c70
mov edx, dword [0x60752c]
mov esi, eax
mov dword [ebp - 0x818], esi
mov ecx, dword [edx + 0x3e50]
mov byte [ecx + 0x90], 1
mov ecx, dword [edx + 0x3e50]
movss xmm0, dword [ecx + 0x1c]
divss xmm0, dword [ebp - 0x824]
call fcn.004d3c70
inc eax
add eax, esi
mov dword [ebp - 0x810], eax
call fcn.00492580
fstp dword [ebp - 0x820]
call fcn.004938b0
fstp dword [ebp - 0x82c]
movss xmm0, dword [ebp - 0x82c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x824]
fld qword [ebp - 0x40]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x40], xmm0
fld qword [ebp - 0x40]
call fcn.004e07e0
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
fstp qword [ebp - 0x40]
addsd xmm0, qword [eax*8 + 0x5396a0]
movsd xmm1, qword [ebp - 0x40]
mov eax, dword [0x60752c]
cvtpd2ps xmm1, xmm1
mov esi, dword [eax + 0x4218]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x824]
addss xmm0, dword [ebp - 0x820]
addss xmm1, xmm0
movss xmm0, dword [esi + 0xa8]
movss dword [ebp - 0x82c], xmm0
mov dword [esi + 0xa8], 0
movss dword [esp], xmm1
push 0
call fcn.004bde70
movss xmm0, dword [ebp - 0x82c]
add esp, 8
movss dword [esi + 0xa8], xmm0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0xf
mov byte [ebp - 0x284], 0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x818]
cmp ecx, dword [ebp - 0x810]
jae 0x41533b
nop dword [eax + eax]
mov edx, dword [0x5d0178]
mov eax, dword [edx + 0x6b4]
cmp ecx, eax
jae 0x415341
sub eax, ecx
dec eax
push ecx
mov dword [esp], 0
push 0
lea esi, [eax + eax*4]
mov eax, dword [edx + 0x6bc]
mov dword [ebp - 0x828], esi
mov dword [ebp - 0x838], eax
call fcn.004bde70
call fcn.004bdde0
push dword [ebp - 0x818]
call fcn.004b0770
mov eax, dword [ebp - 0x838]
add esp, 0xc
mov ecx, dword [eax + esi*4]
mov eax, dword [0x6071e8]
mov dword [ebp - 0x82c], ecx
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x2aaaaaab
sub ecx, edx
mov dword [ebp - 0x820], edx
imul ecx
mov ecx, dword [ebp - 0x82c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x41aa02
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp - 0x820]
cmp dword [ecx + eax*8 + 0x14], 0x10
lea eax, [ecx + eax*8]
mov dword [ebp - 0x3c], eax
mov ecx, eax
jb 0x414fa8
mov ecx, dword [eax]
lea eax, [ebp - 0x95c]
mov dword [ebp - 0x95c], 0
push eax
push 2
push 0
push ecx
mov dword [ebp - 0x958], 0
call fcn.004b5d90
add esp, 0x10
mov byte [ebp - 0x802], al
call fcn.004b0050
call fcn.004bdde0
mov eax, dword [ebp - 0x838]
mov ecx, dword [eax + esi*4 + 4]
mov dword [ebp - 0x82c], ecx
mov ecx, dword [0x607194]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov dword [ebp - 0x820], eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x82c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x41aa02
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp - 0x820]
cmp dword [ecx + eax*8 + 0x14], 0x10
lea eax, [ecx + eax*8]
mov dword [ebp - 0x840], eax
mov ecx, eax
jb 0x41503f
mov ecx, dword [eax]
add eax, 0x10
push ecx
mov dword [ebp - 0x834], eax
push dword [eax]
push str._.s
call fcn.004c0500
mov eax, dword [ebp - 0x838]
add esp, 0xc
test byte [eax + esi*4 + 0xc], 8
je 0x41506d
lea esi, [ebp - 0x284]
jmp 0x4150a8
mov esi, dword [eax + esi*4 + 8]
mov eax, dword [0x607140]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x2aaaaaab
sub ecx, edx
mov dword [ebp - 0x82c], edx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x41aa02
mov ecx, dword [ebp - 0x82c]
lea eax, [esi + esi*2]
lea esi, [ecx + eax*8]
mov dword [ebp - 0x860], esi
call fcn.004bdde0
cmp dword [esi + 0x14], 0x10
lea eax, [esi + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x82c], eax
mov eax, esi
jb 0x4150c8
mov eax, dword [esi]
push eax
push ecx
push str._.s
call fcn.004c0500
add esp, 0xc
cmp byte [ebp - 0x802], 0
je 0x415322
call fcn.0048c320
mov eax, dword [ebp - 0x828]
mov ecx, dword [ebp - 0x838]
push dword [ecx + eax*4 + 0x10]
push dword [ecx + eax*4 + 0xc]
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x838], esp
mov dword [ebp - 0x820], eax
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp dword [esi + 0x14], 0x10
jb 0x415130
mov esi, dword [esi]
mov dword [ebp - 0x860], esi
mov ecx, dword [ebp - 0x82c]
mov ecx, dword [ecx]
mov dword [ebp - 0x82c], ecx
cmp ecx, 0x7fffffff
ja 0x41a9fd
cmp ecx, 0x10
jae 0x415164
push 0x10
push esi
mov dword [eax + 0x10], ecx
push eax
mov dword [eax + 0x14], 0xf
call fcn.004d6030
jmp 0x4151a8
push ecx
mov ecx, eax
mov dword [eax + 0x14], 0xf
call fcn.004219b0
mov esi, eax
lea ecx, [esi + 1]
push ecx
mov ecx, dword [ebp - 0x820]
call fcn.00421c20
mov ecx, dword [ebp - 0x820]
mov edx, dword [ebp - 0x82c]
mov dword [ecx], eax
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], esi
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x860]
push eax
call fcn.004d6030
add esp, 0xc
mov ecx, dword [ebp - 0x840]
sub esp, 0x18
mov eax, esp
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x82c], esp
mov dword [ebp - 0x820], eax
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4151e8
mov ecx, dword [ecx]
mov dword [ebp - 0x840], ecx
mov edx, dword [ebp - 0x834]
mov edx, dword [edx]
mov dword [ebp - 0x834], edx
cmp edx, 0x7fffffff
ja 0x41a9fd
cmp edx, 0x10
jae 0x41521c
push 0x10
push ecx
mov dword [eax + 0x10], edx
push eax
mov dword [eax + 0x14], 0xf
call fcn.004d6030
jmp 0x415260
push edx
mov ecx, eax
mov dword [eax + 0x14], 0xf
call fcn.004219b0
mov esi, eax
lea ecx, [esi + 1]
push ecx
mov ecx, dword [ebp - 0x820]
call fcn.00421c20
mov ecx, dword [ebp - 0x820]
mov edx, dword [ebp - 0x834]
mov dword [ecx], eax
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], esi
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x840]
push eax
call fcn.004d6030
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
sub esp, 0x18
mov eax, esp
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x820], eax
mov edx, ecx
mov dword [ebp - 0x828], ecx
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp dword [ecx + 0x14], 0x10
jb 0x41529f
mov edx, dword [ecx]
mov dword [ebp - 0x828], edx
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x7fffffff
ja 0x41a9fd
cmp ecx, 0x10
jae 0x4152cb
push 0x10
push edx
mov dword [eax + 0x10], ecx
push eax
mov dword [eax + 0x14], 0xf
call fcn.004d6030
jmp 0x41530c
push ecx
mov ecx, eax
mov dword [eax + 0x14], 0xf
call fcn.004219b0
mov esi, eax
lea ecx, [esi + 1]
push ecx
mov ecx, dword [ebp - 0x820]
call fcn.00421c20
mov ecx, dword [ebp - 0x820]
mov edx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], esi
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x828]
push eax
call fcn.004d6030
add esp, 0xc
mov byte [ebp - 4], 0x10
call fcn.0041ea00
add esp, 0x50
mov byte [ebp - 0x809], 1
mov ecx, dword [ebp - 0x818]
inc ecx
mov dword [ebp - 0x818], ecx
cmp ecx, dword [ebp - 0x810]
jb 0x414f00
mov edx, dword [0x5d0178]
mov eax, dword [edx + 0x6b4]
inc eax
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x824]
movss dword [esp], xmm0
call fcn.004b6e50
add esp, 4
call fcn.0048f750
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0xf
call fcn.00404db0
call fcn.0048e430
call fcn.0048f3d0
mov eax, dword [ebp - 0x878]
mov ecx, dword [ebp - 0x87c]
mov dword [ebp - 4], 0xffffffff
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
push 1
call fcn.004b00c0
push 1
push dword [0x531b68]
call fcn.00486a00
add esp, 0xc
test al, al
je 0x415441
push 1
push 0
push 0
push dword [0x531b6c]
call fcn.004a5760
mov ecx, dword [ebp - 0x864]
mov esi, 1
push esi
test al, al
movzx ecx, cl
push 0
cmovne ecx, esi
push 0
push str.Regex
mov dword [ebp - 0x864], ecx
call fcn.004a5760
mov ecx, dword [ebp - 0x868]
test al, al
push esi
push 0
movzx ecx, cl
push 0
push dword [0x531c1c]
cmovne ecx, esi
mov dword [ebp - 0x868], ecx
call fcn.004a5760
mov ecx, dword [ebp - 0x85c]
add esp, 0x30
test al, al
movzx ecx, cl
cmovne ecx, esi
mov dword [ebp - 0x85c], ecx
call fcn.0048f3d0
call fcn.0048f230
cmp byte [ebp - 0x864], 0
je 0x415466
push 0
push dword [0x531b6c]
mov byte [0x5d0689], 1
call fcn.004af200
add esp, 8
movss xmm0, dword [ebp - 0x808]
movss dword [ebp - 0x824], xmm0
cmp byte [0x5d0674], 0
mov esi, dword [0x612594]
je 0x415647
mov eax, dword fs:[0x2c]
mov eax, dword [eax + esi*4]
mov byte [eax + 8], 1
push 0x5d0188
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0x13
call fcn.00404150
push 1
push 0x538504
mov ecx, 0x5d065c
mov byte [ebp - 4], 0x14
mov byte [0x5d0674], 0
call fcn.00421eb0
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
lea eax, [ebp - 0xd40]
push eax
call fcn.004ad530
add esp, 8
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [eax + 0x20]
movd eax, xmm1
movups xmmword [ebp - 0x68], xmm1
movups xmmword [ebp - 0x48], xmm0
test al, al
jne 0x415562
lea eax, [ebp - 0x12c]
push eax
call fcn.004900c0
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
lea eax, [ebp - 0xd70]
push eax
call fcn.004ad530
add esp, 0xc
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [eax + 0x20]
movd eax, xmm1
movups xmmword [ebp - 0x68], xmm1
movups xmmword [ebp - 0x48], xmm0
test al, al
je 0x415625
shr eax, 8
test al, al
je 0x415593
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
push dword [ebp - 0x11c]
cmovae eax, dword [ebp - 0x12c]
mov ecx, 0x5d065c
push eax
call fcn.00421eb0
jmp 0x415625
cmp byte [ebp - 0x65], 0
je 0x415625
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x254]
push eax
call fcn.00411610
cmp dword [ebp - 0x240], 0x10
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0x15
cmovae eax, dword [ebp - 0x254]
push eax
lea eax, [ebp - 0xda0]
push eax
call fcn.004ad530
add esp, 0x10
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [eax + 0x20]
mov eax, dword [eax]
movups xmmword [ebp - 0x48], xmm0
test al, al
je 0x41561a
shr eax, 8
test al, al
je 0x41561a
cmp dword [ebp - 0x240], 0x10
lea eax, [ebp - 0x254]
push dword [ebp - 0x244]
cmovae eax, dword [ebp - 0x254]
mov ecx, 0x5d065c
push eax
call fcn.00421eb0
lea ecx, [ebp - 0x254]
call fcn.00404db0
lea ecx, [ebp - 0x12c]
call fcn.00404db0
mov eax, dword fs:[0x2c]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax + esi*4]
mov byte [eax + 8], 0
push 0x40
push 0x5d0689
push dword [0x531b6c]
call fcn.00487640
add esp, 0xc
test al, al
je 0x415675
push 0
push dword [section..data]
call fcn.004c0d10
add esp, 8
call fcn.0048eca0
cmp byte [ebp - 0x868], 0
je 0x4156b6
lea eax, [ebp - 0x954]
mov byte [0x5d068a], 1
push 4
push eax
mov dword [ebp - 0x954], 0x442f0000
mov dword [ebp - 0x950], 0x43fa0000
call fcn.004b7500
push 0
push str.Regex
call fcn.004af200
add esp, 0x10
push 0
push 0x5d068a
push str.Regex
call fcn.00487640
add esp, 0xc
test al, al
je 0x415757
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x601d20]
cmp eax, dword [ecx + 0x206c]
jg 0x41aa07
jmp 0x4156fd
mov al, byte [ecx]
inc ecx
test al, al
je 0x41aa31
jmp 0x4156f0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x601d28]
cmp eax, dword [ecx + 0x206c]
jg 0x41aa53
jmp 0x41572d
mov al, byte [ecx]
inc ecx
test al, al
je 0x41aa7d
jmp 0x415720
push dword [0x601d1c]
push dword [0x5d0004]
call fcn.004c0d10
push dword [0x601d24]
push dword [0x5d0008]
call fcn.004c0d10
add esp, 0x10
call fcn.0048eca0
cmp byte [ebp - 0x85c], 0
je 0x415777
push 0
push dword [0x531c1c]
mov byte [0x5d0685], 1
call fcn.004af200
add esp, 8
push 0x40
push 0x5d0685
push dword [0x531c1c]
call fcn.00487640
add esp, 0xc
test al, al
je 0x4158d4
push 0
push 0xb
push 0
push str.MightyGrep__d._d._d
call fcn.004c0500
push str.Copyright__C__2023_Kyle_Sylvestre
call fcn.004c0500
push str.Email:_sunbound.software_gmail.com
call fcn.004c0500
push str.Website:
call fcn.004c0500
add esp, 0x14
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
movaps xmm0, xmmword [0x539680]
lea eax, [ebp - 0xaa0]
push str.https:__ksylvestre.itch.io_mightygrep
push 0x5378d0
push eax
movups xmmword [ebp - 0x38c], xmm0
movups xmmword [ebp - 0xaa0], xmm0
call fcn.004c0520
push 0
call fcn.004a3820
add esp, 0x18
test al, al
je 0x41581c
push 7
call fcn.004b7380
add esp, 4
push 0
call fcn.004a36b0
add esp, 4
test al, al
je 0x415837
push str.https:__ksylvestre.itch.io_mightygrep
call fcn.004ae6d0
add esp, 4
lea eax, [ebp - 0x224]
push eax
call fcn.00493020
lea eax, [ebp - 0x1f4]
push eax
call fcn.00493000
movss xmm0, dword [ebp - 0x1f0]
lea eax, [ebp - 0x38c]
push eax
movss dword [ebp - 0x220], xmm0
call fcn.0048c7e0
add esp, 8
mov dword [esp], 0x3f800000
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.004949d0
mov ecx, eax
call fcn.00481cb0
push str.windows_demo
push str.Platform:__s
call fcn.004c0500
push str.2024_02_11_01:48:29__0500
push str.Git_Date:__s
call fcn.004c0500
push str.b79d04193649b64c44a0fc16f436a1dc6b884b21
push str.Git_Hash:__s
call fcn.004c0500
push 0xb8601ad
push str._MSC_FULL_VER:__d
call fcn.004c0500
add esp, 0x20
call fcn.0048eca0
cmp byte [0x5d0681], 0
je 0x4159d7
xorps xmm0, xmm0
mov dword [ebp - 0xcc], 0
movq qword [ebp - 0xd4], xmm0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
cmp byte [0x5d067f], 0
mov eax, 0xd
push 0
mov esi, 5
mov dword [ebp - 4], 0x16
cmove esi, eax
sub esp, 0x18
mov ecx, esp
push 0x5d065c
call fcn.00404150
lea eax, [ebp - 0xd4]
push esi
push eax
call fcn.0042d6a0
add esp, 0x24
test al, al
je 0x4159c5
mov ecx, dword [ebp - 0xd0]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xd4]
imul ecx
mov byte [0x5d0681], 0
sar edx, 2
mov eax, edx
mov byte [0x5d067f], 0
shr eax, 0x1f
add eax, edx
je 0x4159c5
lea eax, [ebp - 0xd4]
push eax
call fcn.0041ee40
mov ecx, dword [ebp - 0xd0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xd4]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x4159c5
cmp dword [esi + 0x14], 0x10
jb 0x4159bc
mov esi, dword [esi]
push esi
call fcn.004290a0
add esp, 4
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xffffffff
call fcn.00421b00
cmp byte [0x5d0680], 0
je 0x415ac0
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
movq qword [ebp - 0xb4], xmm0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
push 0
sub esp, 0x18
mov dword [ebp - 4], 0x17
mov ecx, esp
push 0x5d065c
call fcn.00404150
lea eax, [ebp - 0xb4]
push 9
push eax
call fcn.0042d6a0
add esp, 0x24
test al, al
je 0x415aae
mov ecx, dword [ebp - 0xb0]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xb4]
imul ecx
mov byte [0x5d0680], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x415aae
lea eax, [ebp - 0xb4]
push eax
call fcn.0041ee40
mov ecx, dword [ebp - 0xb0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xb4]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x415aae
cmp dword [esi + 0x14], 0x10
jb 0x415aa5
mov esi, dword [esi]
push esi
call fcn.004290a0
add esp, 4
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], 0xffffffff
call fcn.00421b00
cmp byte [0x5d0682], 0
je 0x415d04
xorps xmm0, xmm0
mov dword [ebp - 0xdc], 0
movq qword [ebp - 0xe4], xmm0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
push 0
sub esp, 0x18
mov dword [ebp - 4], 0x18
mov ecx, esp
push 0x5d065c
call fcn.00404150
lea eax, [ebp - 0xe4]
push 2
push eax
call fcn.0042d6a0
add esp, 0x24
test al, al
je 0x415cf2
mov al, byte [0x5d067c]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
sub ecx, esi
mov byte [ebp - 0x802], al
mov al, byte [0x5d067d]
mov byte [ebp - 0x801], al
mov eax, 0x2aaaaaab
imul ecx
mov byte [0x5d0682], 0
sar edx, 2
mov eax, edx
mov word [0x5d067c], 0
shr eax, 0x1f
add eax, edx
je 0x415cf2
xorps xmm0, xmm0
movlpd qword [ebp - 0xf4], xmm0
cmp dword [esi + 0x14], 0x10
jb 0x415b8f
mov esi, dword [esi]
push 0x5379fc
lea eax, [ebp - 0xf4]
push esi
push eax
call fcn.004ae310
add esp, 0xc
test al, al
je 0x415cf2
cmp byte [ebp - 0x802], 0
je 0x415bc9
lea eax, [ebp - 0xbe0]
push eax
call fcn.00412da0
add esp, 4
or edi, 4
jmp 0x415c07
cmp byte [ebp - 0x801], 0
je 0x415be6
lea eax, [ebp - 0xbc8]
push eax
call fcn.004128e0
add esp, 4
or edi, 8
jmp 0x415bf8
lea eax, [ebp - 0xbb0]
push eax
call fcn.00412520
add esp, 4
or edi, 0x10
push eax
lea ecx, [ebp - 0xb98]
call fcn.00404100
or edi, 0x20
push eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x818], edi
call fcn.00404100
mov eax, edi
mov dword [ebp - 4], 0x1b
test al, 0x20
je 0x415c40
and eax, 0xffffffdf
lea ecx, [ebp - 0xb98]
mov dword [ebp - 0x818], eax
call fcn.00404db0
mov eax, dword [ebp - 0x818]
test al, 0x10
je 0x415c5e
and eax, 0xffffffef
lea ecx, [ebp - 0xbb0]
mov dword [ebp - 0x818], eax
call fcn.00404db0
mov eax, dword [ebp - 0x818]
test al, 8
je 0x415c7c
and eax, 0xfffffff7
lea ecx, [ebp - 0xbc8]
mov dword [ebp - 0x818], eax
call fcn.00404db0
mov eax, dword [ebp - 0x818]
mov byte [ebp - 4], 0x1d
test al, 4
je 0x415c98
and eax, 0xfffffffb
lea ecx, [ebp - 0xbe0]
mov dword [ebp - 0x818], eax
call fcn.00404db0
mov ecx, dword [ebp - 0x25c]
test ecx, ecx
je 0x415cc7
cmp dword [ebp - 0x258], 0x10
lea eax, [ebp - 0x26c]
push ecx
cmovae eax, dword [ebp - 0x26c]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.004af1b0
add esp, 0xc
lea eax, [ebp - 0xf4]
push eax
call fcn.004ab450
add esp, 4
lea ecx, [ebp - 0x26c]
xorps xmm0, xmm0
movlpd qword [ebp - 0xf4], xmm0
call fcn.00404db0
mov edi, dword [ebp - 0x818]
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
call fcn.00421b00
cmp byte [ebp - 0x844], 0
je 0x415d24
push 0
push dword [0x531c08]
call fcn.004af200
add esp, 8
mov byte [0x5d0684], 1
push 0x40
push 0x5d0684
push dword [0x531c08]
call fcn.00487640
add esp, 0xc
test al, al
je 0x417ab0
mov ecx, 0x6068bc
call fcn.00411db0
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
call fcn.004d3c70
push 0x20
push 0
push 0
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc0]
push 0
push eax
push 5
push dword [0x531b90]
call fcn.0049f3f0
add esp, 0x1c
test al, al
je 0x415dc1
mov ecx, 1
cmp dword [ebp - 0xc0], ecx
cmova ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push ecx
addsd xmm0, qword [ecx*8 + 0x5396a0]
mov ecx, 0x6068bc
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.0041e7c0
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push dword [0x606904]
call fcn.00413920
push 0
push 0
push 0x80000000
push 0x606928
push str.editor_command
call fcn.0049f800
push 0x80000040
push 0
push dword [0x531bcc]
call fcn.00485c30
add esp, 0x2c
test al, al
je 0x416114
mov esi, 0x503508
mov dword [ebp - 0x810], esi
nop dword [eax]
nop word [eax + eax]
lea eax, [ebp - 0x94c]
mov dword [ebp - 0x94c], 0
push eax
push 0
mov dword [ebp - 0x948], 0
push 0
push dword [esi]
call fcn.004b5d90
add esp, 0x10
test al, al
je 0x4160fa
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
xorps xmm0, xmm0
mov dword [ebp - 0x198], 0
movq qword [ebp - 0x1a0], xmm0
mov edx, dword [esi + 4]
mov ecx, edx
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0xa88], 0
mov dword [ebp - 0xa78], 0
mov dword [ebp - 0xa74], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415ef1
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa88]
call fcn.00401720
push 1
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0xa88]
mov byte [ebp - 0x74], 0x7c
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004b9330
add esp, 0x10
or edi, 0x80000
lea ecx, [ebp - 0xa88]
mov byte [ebp - 4], 0x22
call fcn.00404db0
mov eax, dword [ebp - 0x19c]
mov esi, dword [ebp - 0x1a0]
mov dword [ebp - 0x808], eax
cmp esi, eax
je 0x415fb8
cmp dword [ebp - 0x1ac], 0
jne 0x415f88
lea ecx, [ebp - 0x1bc]
cmp ecx, esi
je 0x415f88
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x415f73
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x1bc]
push eax
call fcn.00421eb0
mov eax, dword [ebp - 0x808]
cmp dword [ebp - 0x104], 0
jne 0x415fb1
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x415f9b
mov eax, dword [esi]
lea ecx, [ebp - 0x114]
push ecx
push eax
call fcn.004ad030
mov eax, dword [ebp - 0x808]
add esp, 8
add esi, 0x18
cmp esi, eax
jne 0x415f56
cmp dword [ebp - 0x104], 0
jne 0x415fe7
cmp dword [ebp - 0x1a8], 0x10
lea eax, [ebp - 0x1bc]
push dword [ebp - 0x1ac]
cmovae eax, dword [ebp - 0x1bc]
lea ecx, [ebp - 0x114]
push eax
call fcn.00421eb0
mov ecx, dword [ebp - 0x104]
mov byte [ebp - 0x78], 0x20
cmp ecx, 0x7fffffff
je 0x41a9fd
cmp dword [ebp - 0x100], 0x10
lea edx, [ebp - 0x78]
push 1
push edx
push ecx
lea eax, [ebp - 0x114]
cmovae eax, dword [ebp - 0x114]
lea ecx, [ebp - 0xb08]
push eax
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x830]
call fcn.00404270
or edi, 0x4000
mov esi, dword [ebp - 0x810]
mov byte [ebp - 4], 0x23
mov edx, dword [esi + 8]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x3c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416050
sub ecx, dword [ebp - 0x3c]
push ecx
push edx
lea ecx, [ebp - 0xb08]
call fcn.00421d40
push eax
lea ecx, [ebp - 0xa1c]
call fcn.00404100
mov ecx, 0x606928
or edi, 0x8000
call fcn.00404db0
movups xmm0, xmmword [ebp - 0xa1c]
lea ecx, [ebp - 0xa1c]
mov byte [ebp - 0xa1c], 0
movups xmmword [0x606928], xmm0
movq xmm0, qword [ebp - 0xa0c]
movq qword [0x606938], xmm0
mov dword [ebp - 0xa0c], 0
mov dword [ebp - 0xa08], 0xf
call fcn.00404db0
lea ecx, [ebp - 0xb08]
call fcn.00404db0
lea ecx, [ebp - 0x1a0]
call fcn.00421b00
lea ecx, [ebp - 0x1bc]
call fcn.00404db0
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
add esi, 0x10
mov dword [ebp - 0x810], esi
cmp esi, 0x503568
jne 0x415e30
call fcn.0048eca0
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push dword [0x606958]
call fcn.00413920
push 0
push 0
push 0
push 0x60697c
push dword [0x531bd0]
call fcn.0049f800
add esp, 0x18
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push dword [0x6069ac]
call fcn.00413920
push 0
push 0
push 0x80000000
push 0x6069d0
push 0x53892c
call fcn.0049f800
push 0x80000040
push 0
push dword [0x531c34]
call fcn.00485c30
add esp, 0x2c
test al, al
je 0x4166a6
mov esi, 0x503508
mov dword [ebp - 0x810], esi
nop
mov eax, dword [esi + 0xc]
test eax, eax
je 0x41668c
cmp byte [eax], 0
je 0x41668c
lea eax, [ebp - 0x944]
mov dword [ebp - 0x944], 0
push eax
push 0
mov dword [ebp - 0x940], 0
push 0
push dword [esi]
call fcn.004b5d90
add esp, 0x10
test al, al
je 0x41668c
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
movq qword [ebp - 0x194], xmm0
mov edx, dword [esi + 4]
mov ecx, edx
mov byte [ebp - 4], 0x25
mov dword [ebp - 0xa4c], 0
mov dword [ebp - 0xa3c], 0
mov dword [ebp - 0xa38], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416285
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa4c]
call fcn.00401720
push 1
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0xa4c]
mov byte [ebp - 0x7c], 0x7c
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.004b9330
add esp, 0x10
or edi, 0x40000
lea ecx, [ebp - 0xa4c]
mov byte [ebp - 4], 0x28
call fcn.00404db0
mov eax, dword [ebp - 0x190]
mov esi, dword [ebp - 0x194]
mov dword [ebp - 0x808], eax
cmp esi, eax
je 0x416352
nop word [eax + eax]
cmp dword [ebp - 0x160], 0
jne 0x416322
lea ecx, [ebp - 0x170]
cmp ecx, esi
je 0x416322
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41630d
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x170]
push eax
call fcn.00421eb0
mov eax, dword [ebp - 0x808]
cmp dword [ebp - 0x98], 0
jne 0x41634b
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x416335
mov eax, dword [esi]
lea ecx, [ebp - 0xa8]
push ecx
push eax
call fcn.004ad030
mov eax, dword [ebp - 0x808]
add esp, 8
add esi, 0x18
cmp esi, eax
jne 0x4162f0
cmp dword [ebp - 0x98], 0
jne 0x416381
cmp dword [ebp - 0x15c], 0x10
lea eax, [ebp - 0x170]
push dword [ebp - 0x160]
cmovae eax, dword [ebp - 0x170]
lea ecx, [ebp - 0xa8]
push eax
call fcn.00421eb0
mov esi, dword [ebp - 0x810]
mov edx, str.vscode
mov ecx, dword [esi]
nop
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x802], al
mov eax, dword [esi]
jne 0x4163ca
cmp byte [ebp - 0x802], 0
je 0x4163c6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x802], al
mov eax, dword [esi]
jne 0x4163ca
add ecx, 2
add edx, 2
cmp byte [ebp - 0x802], 0
jne 0x416390
xor ecx, ecx
jmp 0x4163cf
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x416492
cmp dword [ebp - 0x94], 0x10
lea eax, [ebp - 0xa8]
push 0x5c
cmovae eax, dword [ebp - 0xa8]
push eax
call fcn.004d5600
add esp, 8
test eax, eax
je 0x416583
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xbf8]
push eax
call fcn.00411610
add esp, 8
push 0xc
push str.bincode.cmd
mov ecx, eax
mov byte [ebp - 4], 0x29
call fcn.00421d40
push eax
lea ecx, [ebp - 0xa34]
call fcn.00404100
lea ecx, [ebp - 0xa8]
or edi, 0x10000
call fcn.00404db0
movups xmm0, xmmword [ebp - 0xa34]
lea ecx, [ebp - 0xa34]
mov byte [ebp - 0xa34], 0
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [ebp - 0xa24]
movq qword [ebp - 0x98], xmm0
mov dword [ebp - 0xa24], 0
mov dword [ebp - 0xa20], 0xf
call fcn.00404db0
lea ecx, [ebp - 0xbf8]
jmp 0x41657a
mov ecx, str.sublime_text
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4164b7
test dl, dl
je 0x4164b3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4164b7
add eax, 2
add ecx, 2
test dl, dl
jne 0x416497
xor eax, eax
jmp 0x4164bc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416583
cmp dword [ebp - 0x94], 0x10
lea eax, [ebp - 0xa8]
push 0x5c
cmovae eax, dword [ebp - 0xa8]
push eax
call fcn.004d5600
add esp, 8
test eax, eax
je 0x416583
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xc10]
push eax
call fcn.00411610
add esp, 8
push 8
push str.subl.exe
mov ecx, eax
mov byte [ebp - 4], 0x2a
call fcn.00421d40
push eax
lea ecx, [ebp - 0x9ec]
call fcn.00404100
lea ecx, [ebp - 0xa8]
or edi, 0x100000
call fcn.00404db0
movups xmm0, xmmword [ebp - 0x9ec]
lea ecx, [ebp - 0x9ec]
mov byte [ebp - 0x9ec], 0
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [ebp - 0x9dc]
movq qword [ebp - 0x98], xmm0
mov dword [ebp - 0x9dc], 0
mov dword [ebp - 0x9d8], 0xf
call fcn.00404db0
lea ecx, [ebp - 0xc10]
mov byte [ebp - 4], 0x28
call fcn.00404db0
mov ecx, dword [ebp - 0x98]
mov byte [ebp - 0x6c], 0x20
cmp ecx, 0x7fffffff
je 0x41a9fd
cmp dword [ebp - 0x94], 0x10
lea edx, [ebp - 0x6c]
push 1
push edx
push ecx
lea eax, [ebp - 0xa8]
cmovae eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0xb20]
push eax
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0x830]
call fcn.00404270
or edi, 0x1000
mov edx, dword [esi + 0xc]
mov ecx, edx
mov byte [ebp - 4], 0x2b
lea eax, [ecx + 1]
mov dword [ebp - 0x3c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4165e2
sub ecx, dword [ebp - 0x3c]
push ecx
push edx
lea ecx, [ebp - 0xb20]
call fcn.00421d40
push eax
lea ecx, [ebp - 0xa04]
call fcn.00404100
mov ecx, 0x6069d0
or edi, 0x2000
call fcn.00404db0
movups xmm0, xmmword [ebp - 0xa04]
lea ecx, [ebp - 0xa04]
mov byte [ebp - 0xa04], 0
movups xmmword [0x6069d0], xmm0
movq xmm0, qword [ebp - 0x9f4]
movq qword [0x6069e0], xmm0
mov dword [ebp - 0x9f4], 0
mov dword [ebp - 0x9f0], 0xf
call fcn.00404db0
lea ecx, [ebp - 0xb20]
call fcn.00404db0
lea ecx, [ebp - 0x194]
call fcn.00421b00
lea ecx, [ebp - 0x170]
call fcn.00404db0
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
add esi, 0x10
mov dword [ebp - 0x810], esi
cmp esi, 0x503568
jne 0x4161b0
call fcn.0048eca0
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push dword [0x606a00]
call fcn.00413920
cmp dword [0x6066f0], 0x10
lea ecx, [ebp - 0x84]
push ecx
mov eax, 0x6066dc
mov dword [ebp - 0x84], 0
cmovae eax, dword [0x6066dc]
push 0x536c30
push eax
call fcn.00422cc0
fld dword [ebp - 0x84]
add esp, 0x14
fstp dword [esp]
call fcn.004e07fe
add esp, 4
cmp ax, 0xffff
je 0x416723
movss xmm0, dword [ebp - 0x83c]
movss dword [ebp - 0x84], xmm0
jmp 0x41672b
movss xmm0, dword [ebp - 0x84]
call fcn.004d3c70
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x416746
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebp - 0x88], eax
push 0x20
push 0
push 0
push 0
lea eax, [ebp - 0x88]
push eax
push 5
push dword [0x531b8c]
call fcn.0049f3f0
add esp, 0x1c
test al, al
je 0x4167ac
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x416784
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x4167ac
mov eax, dword [ebp - 0x88]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
mov ecx, 0x6066c4
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.0041e7c0
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push dword [0x60670c]
call fcn.00413920
mov eax, dword fs:[0x2c]
add esp, 0xc
mov ecx, dword [0x612594]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x601d34]
cmp eax, dword [ecx + 0x206c]
jg 0x41aa99
cmp byte [0x601d38], 0
mov byte [ebp - 0x801], 0
je 0x41686a
push str.pressanykey
push dword [0x531c90]
lea eax, [ebp - 0x2b4]
mov byte [ebp - 0x6d], 0
push str._s_s
push eax
call fcn.004b96e0
cmp dword [ebp - 0x2a0], 0x10
lea ecx, [ebp - 0x6d]
push 0
push 0
push 0
push 1
push ecx
lea eax, [ebp - 0x2b4]
mov dword [ebp - 4], 0x2d
cmovae eax, dword [ebp - 0x2b4]
push str.Press_any_key
push eax
call fcn.004a34b0
add esp, 0x2c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b4]
call fcn.00404db0
jmp 0x41689f
push 0
push 0
push 0
push 0x606784
push dword [0x531c90]
call fcn.0049f800
add esp, 0x14
call fcn.004a3680
test al, al
je 0x41689f
call fcn.0048bad0
mov byte [0x601d38], 1
mov byte [ebp - 0x801], 1
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push dword [0x6067b4]
call fcn.00413920
add esp, 0xc
cmp byte [0x601d38], 0
je 0x416ac9
cmp byte [ebp - 0x801], 0
jne 0x416922
push 0
push 0
call fcn.004a3a70
add esp, 8
test al, al
je 0x416922
push dword [0x601d30]
lea eax, [ebp - 0xc28]
push dword [0x601d2c]
push eax
call fcn.004976d0
add esp, 0xc
mov ecx, 0x606784
push eax
call fcn.00405710
lea ecx, [ebp - 0xc28]
call fcn.00404db0
mov byte [0x601d38], 0
mov esi, 0x200
push 1
push esi
call fcn.004a3990
add esp, 8
test al, al
je 0x416abc
cmp esi, 0x211
je 0x41695e
cmp esi, 0x210
je 0x41695e
cmp esi, 0x20f
je 0x41695e
cmp esi, 0x212
je 0x41695e
xor cl, cl
jmp 0x416960
mov cl, 1
cmp esi, 0x215
je 0x416984
cmp esi, 0x214
je 0x416984
cmp esi, 0x213
je 0x416984
cmp esi, 0x216
je 0x416984
xor al, al
jmp 0x416986
mov al, 1
test cl, cl
jne 0x416abc
test al, al
jne 0x416abc
mov edi, dword [ebp - 0x858]
xor eax, eax
mov dword [0x601d30], eax
mov edx, 4
mov dword [0x601d2c], esi
mov cl, byte [edi + 0xd86]
test cl, cl
cmovne eax, edx
mov dword [0x601d30], eax
xor eax, eax
test cl, cl
cmove edx, eax
mov al, byte [edi + 0xd85]
mov byte [ebp - 0x802], al
mov dword [0x601d30], edx
test al, al
je 0x4169eb
mov eax, edx
or eax, 2
mov dword [0x601d30], eax
mov al, byte [ebp - 0x802]
mov ecx, edx
or ecx, 2
test al, al
cmove ecx, edx
mov dl, byte [edi + 0xd84]
mov dword [0x601d30], ecx
test dl, dl
je 0x416a0f
mov eax, ecx
or eax, 1
mov dword [0x601d30], eax
mov eax, ecx
or eax, 1
test dl, dl
cmove eax, ecx
cmp byte [edi + 0xd87], 0
je 0x416a2a
or eax, 8
mov dword [0x601d30], eax
push esi
call fcn.004977d0
push dword [0x601d30]
push dword [0x601d2c]
call fcn.0042df00
add esp, 0xc
test al, al
jne 0x416a53
xorps xmm0, xmm0
movlpd qword [0x601d2c], xmm0
push dword [0x601d30]
lea eax, [ebp - 0xc40]
push dword [0x601d2c]
push eax
call fcn.004976d0
mov edi, eax
add esp, 0xc
cmp edi, 0x606784
je 0x416aaa
mov ecx, 0x606784
call fcn.00404db0
movups xmm0, xmmword [edi]
movups xmmword [0x606784], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [0x606794], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea ecx, [ebp - 0xc40]
call fcn.00404db0
mov byte [0x601d38], 0
inc esi
cmp esi, 0x268
jle 0x416927
push str.fontsettings
call fcn.004b06e0
xor edi, edi
mov dword [ebp - 4], 0x2e
push edi
push edi
push 0x80000020
push 0x606a78
push str.font_name_inputtext
mov dword [ebp - 0x84c], str.Ubuntu_Mono
mov dword [ebp - 0x848], str.Proggy_Clean
mov byte [ebp - 0x803], 0
call fcn.0049f800
add esp, 0x18
test al, al
je 0x416b3b
push 0xffffffffffffffff
call fcn.004b72c0
add esp, 4
mov ecx, 0x606acc
mov edi, 2
push 0
push 0x503500
call fcn.00421eb0
mov byte [ebp - 0x803], 1
push 0x80000040
push 0
push dword [0x531b80]
call fcn.00485c30
add esp, 0xc
test al, al
je 0x416ba6
xor esi, esi
nop word [eax + eax]
lea eax, [ebp - 0x93c]
mov dword [ebp - 0x93c], 0
push eax
push 0
push 0
push dword [ebp + esi*4 - 0x84c]
mov dword [ebp - 0x938], 0
call fcn.004b5d90
add esp, 0x10
test al, al
je 0x416b9b
mov edi, esi
mov byte [ebp - 0x803], 1
inc esi
cmp esi, 2
jb 0x416b60
call fcn.0048eca0
cmp byte [ebp - 0x803], 0
je 0x416c60
cmp edi, 2
je 0x416c54
test edi, edi
jne 0x416be6
cmp dword [0x606b4c], 0x10
mov eax, 0x606b38
push dword [0x606b48]
cmovae eax, dword [0x606b38]
mov ecx, 0x606b20
push eax
call fcn.00421eb0
jmp 0x416bfd
cmp edi, 1
jne 0x416bfd
push ecx
mov ecx, 0x606b08
mov dword [esp], 0x419c0000
call fcn.0041e7c0
mov edx, dword [ebp + edi*4 - 0x84c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416c10
sub ecx, esi
push ecx
push edx
mov ecx, 0x606a78
call fcn.00421eb0
sub esp, 0x18
mov ecx, esp
push 0
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
push 0x503500
mov dword [ecx + 0x14], 0
call fcn.00401720
mov ecx, 0x606b5c
call fcn.0041f5d0
mov eax, dword [0x5d0178]
mov byte [eax + 0x7b2], 1
cmp dword [0x606b34], 0x10
lea ecx, [ebp - 0x8c]
push ecx
mov eax, 0x606b20
mov dword [ebp - 0x8c], 0
cmovae eax, dword [0x606b20]
push 0x536c30
push eax
call fcn.00422cc0
fld dword [ebp - 0x8c]
add esp, 8
fstp dword [esp]
call fcn.004e07fe
add esp, 4
cmp ax, 0xffff
je 0x416cbb
movss xmm0, dword [ebp - 0x83c]
movss dword [ebp - 0x8c], xmm0
jmp 0x416cc3
movss xmm0, dword [ebp - 0x8c]
cvttss2si eax, xmm0
mov dword [ebp - 0xbc], eax
mov eax, dword [0x5d0178]
cmp byte [eax + 0x7cc], 0
je 0x416da2
cmp dword [0x606b34], 0x10
lea ecx, [ebp - 0x90]
push ecx
mov eax, 0x606b20
mov dword [ebp - 0x90], 0
cmovae eax, dword [0x606b20]
push 0x536c30
push eax
call fcn.00422cc0
fld dword [ebp - 0x90]
add esp, 8
fstp dword [esp]
call fcn.004e07fe
add esp, 4
cmp ax, 0xffff
je 0x416d3a
movss xmm0, dword [ebp - 0x83c]
movss dword [ebp - 0x90], xmm0
jmp 0x416d42
movss xmm0, dword [ebp - 0x90]
divss xmm0, dword [0x538d38]
push ecx
movss dword [esp], xmm0
call fcn.004e04bd
fstp dword [ebp - 0x3c]
cvttss2si eax, dword [ebp - 0x3c]
push 0
push 0x64
push 1
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xe8]
push eax
push dword [0x531b84]
call fcn.0049f380
add esp, 0x18
test al, al
je 0x416dfc
mov ecx, dword [ebp - 0xe8]
lea eax, [ecx - 1]
cmp eax, 2
ja 0x416dfc
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
push ecx
mulss xmm0, dword [0x538d38]
jmp 0x416de1
push 0x20
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
push dword [0x531b88]
call fcn.0049f380
add esp, 0x14
test al, al
je 0x416dfc
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff8
cmp eax, 0x40
ja 0x416dfc
push 0xffffffffffffffff
call fcn.004b72c0
movd xmm0, dword [ebp - 0xbc]
cvtdq2ps xmm0, xmm0
mov ecx, 0x606b08
movss dword [esp], xmm0
call fcn.0041e7c0
mov eax, dword [0x5d0178]
mov byte [eax + 0x7b2], 1
mov dword [ebp - 4], 0x2f
call fcn.004b0050
lea eax, [ebp - 0x934]
mov dword [ebp - 4], 0xffffffff
push eax
push dword [0x531b7c]
mov dword [ebp - 0x934], 0
mov dword [ebp - 0x930], 0
call fcn.004899e0
add esp, 8
test al, al
je 0x416e45
mov byte [0x5d0683], 1
jmp 0x416e52
cmp byte [0x5d0683], 0
je 0x41707f
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 4], 0x30
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
lea eax, [ebp - 0x29]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc4], 0
push eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 0x29], 0
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0042d7a0
add esp, 0x10
test al, al
je 0x417062
cmp dword [ebp - 0x174], 0x10
lea eax, [ebp - 0x188]
push 0
cmovae eax, dword [ebp - 0x188]
push 0x503500
push dword [ebp - 0x178]
mov byte [0x5d0683], 0
push eax
call fcn.00403c50
add esp, 0x10
test al, al
jne 0x417062
cmp dword [ebp - 0xc4], 0
jle 0x417062
cmp dword [ebp - 0x1c0], 0x10
lea eax, [ebp - 0x1d4]
push 0
cmovae eax, dword [ebp - 0x1d4]
push 0x503500
push dword [ebp - 0x1c4]
push eax
call fcn.00403c50
add esp, 0x10
test al, al
je 0x416f5c
cmp byte [ebp - 0x29], 0
jne 0x417062
mov eax, dword [0x5d0178]
push ecx
mov ecx, 0x606b08
mov byte [eax + 0x7b2], 1
movd xmm0, dword [ebp - 0xc4]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x538d3c]
movss dword [esp], xmm0
call fcn.0041e7c0
sub esp, 0x18
cmp byte [ebp - 0x29], 0
mov ecx, esp
je 0x416fee
mov dword [ecx], 0
push 0
mov dword [ecx + 0x10], 0
push 0x503500
mov dword [ecx + 0x14], 0
call fcn.00401720
mov ecx, 0x606b5c
call fcn.0041f5d0
sub esp, 0x18
lea eax, [ebp - 0x188]
mov ecx, esp
push eax
call fcn.00404150
mov ecx, 0x606a60
call fcn.0041f5d0
sub esp, 0x18
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00404150
jmp 0x417058
lea eax, [ebp - 0x188]
push eax
call fcn.00404150
mov ecx, 0x606b5c
call fcn.0041f5d0
sub esp, 0x18
mov ecx, esp
push 0
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
push 0x503500
mov dword [ecx + 0x14], 0
call fcn.00401720
mov ecx, 0x606a60
call fcn.0041f5d0
sub esp, 0x18
mov ecx, esp
push 0
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
push 0x503500
mov dword [ecx + 0x14], 0
call fcn.00401720
mov ecx, 0x606ab4
call fcn.0041f5d0
lea ecx, [ebp - 0x1d4]
call fcn.00404db0
lea ecx, [ebp - 0x188]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
lea eax, [ebp - 0x92c]
mov dword [ebp - 0x92c], 0
push eax
push dword [0x531c24]
mov dword [ebp - 0x928], 0
call fcn.004899e0
add esp, 8
test al, al
je 0x41721b
mov eax, dword [0x5d0178]
add eax, 0x718
cmp dword [eax + 0x14], 0x10
jb 0x4170c2
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xdd0]
push eax
call fcn.004ad530
add esp, 8
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [eax + 0x20]
mov eax, dword [eax]
movups xmmword [ebp - 0x48], xmm0
test al, al
jne 0x4170f9
call fcn.0041d110
mov eax, dword [0x5d0178]
mov byte [eax + 0x6cc], 1
mov eax, dword [0x5d0178]
sub esp, 0x18
add eax, 0x718
mov ecx, esp
push eax
call fcn.00404150
lea eax, [ebp - 0x2fc]
push 2
push eax
call fcn.0042b080
mov eax, dword [0x5d0178]
add eax, 0x718
mov dword [ebp - 4], 0x32
push eax
lea eax, [ebp - 0x3a4]
push eax
call fcn.00411610
mov eax, dword [0x5d0178]
add esp, 0x10
add eax, 0x718
mov dword [ebp - 0x3c], esp
mov ecx, esp
mov byte [ebp - 4], 0x33
push eax
call fcn.00404150
sub esp, 0x18
mov byte [ebp - 4], 0x34
mov ecx, esp
push 9
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
push str._filepath
mov dword [ecx + 0x14], 0
call fcn.00401720
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0x33
push eax
call fcn.004b4cc0
add esp, 0x1c
lea eax, [ebp - 0x3a4]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.00404150
sub esp, 0x18
mov byte [ebp - 4], 0x35
mov ecx, esp
push 8
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
push str._filedir
mov dword [ecx + 0x14], 0
call fcn.00401720
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0x33
push eax
call fcn.004b4cc0
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x1a4], 0
push eax
lea eax, [ebp - 0x2fc]
push 0
push eax
call fcn.004ae8e0
add esp, 0x40
lea ecx, [ebp - 0x3a4]
call fcn.00404db0
lea ecx, [ebp - 0x2fc]
mov dword [ebp - 4], 0xffffffff
call fcn.00404db0
cmp dword [0x606890], 0
je 0x417251
cmp dword [0x606894], 0x10
mov eax, 0x606880
cmovae eax, dword [0x606880]
movsx eax, byte [eax]
push eax
call fcn.004e070c
add esp, 4
cmp eax, 0x66
je 0x41724d
cmp eax, 0x30
jne 0x417251
xor al, al
jmp 0x417253
mov al, 1
mov byte [ebp - 0xc8], al
lea eax, [ebp - 0xc8]
push eax
push dword [0x531c30]
call fcn.0048b260
add esp, 8
mov esi, 0x537d90
mov edi, 0x537d9c
test al, al
je 0x4172b8
cmp byte [ebp - 0xc8], 0
mov edx, esi
cmove edx, edi
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417290
sub ecx, edi
push ecx
push edx
mov ecx, 0x606880
call fcn.00421eb0
push dword [ebp - 0xc8]
call fcn.004090b0
add esp, 4
mov edi, 0x537d9c
cmp dword [0x606e78], 0
je 0x4172ee
cmp dword [0x606e7c], 0x10
mov eax, 0x606e68
cmovae eax, dword [0x606e68]
movsx eax, byte [eax]
push eax
call fcn.004e070c
add esp, 4
cmp eax, 0x66
je 0x4172ea
cmp eax, 0x30
jne 0x4172ee
xor al, al
jmp 0x4172f0
mov al, 1
mov byte [ebp - 0x2d], al
lea eax, [ebp - 0x2d]
push eax
push dword [0x531b98]
call fcn.0048b260
add esp, 8
test al, al
je 0x41736d
cmp byte [ebp - 0x2d], 0
mov edx, esi
cmove edx, edi
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417317
sub ecx, edi
push ecx
push edx
mov ecx, 0x606e68
call fcn.00421eb0
cmp dword [0x606e78], 0
je 0x417362
cmp dword [0x606ecc], 0
je 0x4173a3
cmp dword [0x606ed0], 0x10
mov eax, 0x606ebc
cmovae eax, dword [0x606ebc]
movsx eax, byte [eax]
push eax
call fcn.004e070c
add esp, 4
cmp eax, 0x66
je 0x41739f
mov al, 1
mov byte [ebp - 0x2e], al
lea eax, [ebp - 0x2e]
push eax
push dword [0x531b9c]
call fcn.0048b260
add esp, 8
test al, al
je 0x4173e6
cmp byte [ebp - 0x814], 0
je 0x417af2
push 0
push dword [0x531bc8]
call fcn.004af200
lea eax, [ebp - 0x904]
mov dword [ebp - 0x904], 0x44160000
push 4
push eax
mov dword [ebp - 0x900], 0x43960000
call fcn.004b7500
add esp, 0x10
mov byte [0x5d0688], 1
push 0xc00
push 0x5d0688
push dword [0x531bc8]
call fcn.00487640
add esp, 0xc
test al, al
je 0x417ba6
call fcn.00486a20
test al, al
je 0x417b53
cmp dword [0x5d06a8], 0
setne al
movzx eax, al
push eax
push dword [0x531b3c]
call fcn.0049cc30
add esp, 8
test al, al
je 0x417b4e
push dword [0x5d06a8]
push 0x5d06ac
call fcn.00430c40
add esp, 8
call fcn.0048f490
mov eax, dword [0x5d0178]
add eax, 0x638
push eax
call fcn.004abc40
mov eax, dword [0x5d06a8]
mov dword [ebp - 4], 0x36
lea eax, [eax + 0x5d06ac]
push eax
push 0x5d06ac
call fcn.004c0d10
call fcn.0048eca0
mov eax, dword [0x5d0178]
add eax, 0x638
mov dword [ebp - 4], 0x37
push eax
call fcn.004ae2e0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
call fcn.00493080
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xf8], eax
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0x824]
push ecx
mov dword [ebp - 0xfc], ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0xf8], xmm0
call fcn.004b7490
lea eax, [ebp - 0xfc]
push 0
push eax
call fcn.004b7500
movss xmm0, dword [ebp - 0x824]
lea eax, [ebp - 0x8f4]
push eax
lea eax, [ebp - 0x8e4]
mov dword [ebp - 0x8e4], 0
push 0
push eax
movss dword [ebp - 0x8e0], xmm0
mov dword [ebp - 0x8f4], 0
mov dword [ebp - 0x8f0], 0
call fcn.004b74b0
push 0x202b
push 0
push 0x5389bc
call fcn.00483580
push 3
mov dword [ebp - 4], 0x38
call fcn.004a3d20
add esp, 0x28
test al, al
je 0x417dce
xor esi, esi
push esi
push 3
call fcn.004a3a70
test al, al
mov eax, 1
push 0
push 4
cmovne esi, eax
call fcn.004a3a70
mov edi, dword [ebp - 0x858]
or ecx, 0xffffffff
add esp, 0x10
test al, al
cmovne esi, ecx
cmp byte [edi + 0xa9], 0
jne 0x417cca
cmp byte [edi + 0xd86], 0
je 0x417cca
push 1
push 0x201
call fcn.004a3990
test al, al
mov eax, 1
push eax
push 0x202
cmovne esi, eax
call fcn.004a3990
add esp, 0x10
test al, al
je 0x417cca
or esi, 0xffffffff
jmp 0x417cd2
test esi, esi
je 0x417dd4
mov ecx, dword [0x5d0178]
mov eax, dword [ecx + 0x604]
add eax, esi
cmp eax, dword [ecx + 0x6b4]
ja 0x417dd4
test eax, eax
je 0x417dd4
mov dword [ecx + 0x604], eax
mov edx, dword [0x5d0178]
mov eax, dword [edx + 0x6b4]
mov ecx, eax
sub ecx, dword [edx + 0x604]
cmp ecx, eax
jae 0x417dd4
mov eax, dword [edx + 0x6bc]
lea ecx, [ecx + ecx*4]
movups xmm1, xmmword [eax + ecx*4]
push dword [eax + ecx*4 + 0x10]
mov ecx, dword [0x607140]
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movups xmmword [ebp - 0x854], xmm1
push eax
sub esp, 0x18
movd eax, xmm0
mov esi, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.00421fb0
push eax
mov ecx, esi
call fcn.00404150
movups xmm0, xmmword [ebp - 0x854]
mov ecx, dword [0x607194]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x834], esp
psrldq xmm0, 4
movd eax, xmm0
mov byte [ebp - 4], 0x39
push eax
call fcn.00421fb0
push eax
mov ecx, esi
call fcn.00404150
mov eax, dword [ebp - 0x854]
sub esp, 0x18
mov ecx, dword [0x6071e8]
mov esi, esp
mov byte [ebp - 4], 0x3a
push eax
call fcn.00421fb0
push eax
mov ecx, esi
call fcn.00404150
mov byte [ebp - 4], 0x38
call fcn.0041ea00
add esp, 0x50
mov byte [ebp - 0x809], 1
jmp 0x417dd4
mov edi, dword [ebp - 0x858]
movsd xmm0, qword [0x601d40]
ucomisd xmm0, qword [0x538cf8]
lahf
test ah, 0x44
jp 0x417e0b
call fcn.00493e60
push 0
push str.Demo
fstp qword [0x601d40]
mov byte [0x5d0641], 0
call fcn.004af200
add esp, 8
call fcn.00493e60
fsub qword [0x601d40]
movsd xmm0, qword [0x538d20]
fstp qword [ebp - 0x84c]
comisd xmm0, xmmword [ebp - 0x84c]
jb 0x417e5d
push 0x47
push 0
push str.Demo
call fcn.00487640
add esp, 0xc
test al, al
je 0x417e74
push 0
push 0xb
push 0
push str._____________________________________n________MightyGrep__d._d._d_Demo_____n_____________________________________n
call fcn.004c0500
add esp, 0x10
call fcn.0048eca0
jmp 0x417e74
cmp byte [0x5d0157], 0
je 0x417e74
mov byte [0x5d0641], 1
mov byte [0x5d0157], 0
push 1
push 0x20b
mov esi, 0x80000220
call fcn.004a3990
add esp, 8
test al, al
jne 0x418133
push 1
push 0x20a
call fcn.004a3990
add esp, 8
test al, al
jne 0x418133
mov ecx, dword [0x60752c]
cmp byte [0x5d0185], 0
je 0x417ec2
or dword [ecx + 0x3ed0], 1
mov esi, 0x80000260
push 0
call fcn.004a3d20
add esp, 4
test al, al
je 0x417ef6
push 1
push 0x22d
call fcn.004a3990
add esp, 8
test al, al
je 0x417ef6
cmp byte [edi + 0xd84], 0
je 0x417ef6
push 0
call fcn.004b72c0
add esp, 4
mov eax, dword fs:[0x2c]
mov edi, dword [0x612594]
mov byte [ebp - 0x801], 0
mov ecx, dword [eax + edi*4]
mov eax, dword [0x601d4c]
cmp eax, dword [ecx + 0x206c]
jg 0x41aaf7
push 0x5d0158
push 0x401310
push esi
push 0x5d0188
push str.dir_input
call fcn.0049f800
add esp, 0x14
test al, al
je 0x417f4f
push 0xffffffffffffffff
call fcn.004b72c0
add esp, 4
mov byte [ebp - 0x801], 1
call fcn.004a37c0
test al, al
jne 0x417f60
cmp byte [ebp - 0x801], al
je 0x417f80
push 1
sub esp, 0x18
mov ecx, esp
push 0x5d0188
call fcn.00404150
call fcn.0041f4b0
add esp, 0x1c
mov byte [0x5d0185], 0
lea eax, [ebp - 0x8dc]
mov dword [ebp - 0x8dc], 0
push eax
push 2
mov dword [ebp - 0x8d8], 0
call fcn.004b0910
push 0x80000040
push 0x503500
push dword [0x531c2c]
call fcn.00485c30
add esp, 0x14
test al, al
je 0x418227
call fcn.00493e40
fstp dword [ebp - 0x828]
call fcn.004938b0
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x828]
fld qword [ebp - 0x84c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
fld qword [ebp - 0x84c]
call fcn.004e07e0
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
push ecx
fstp dword [esp]
call fcn.004b6e50
mov eax, dword [0x6071e8]
xor ecx, ecx
mov esi, dword [0x5d0178]
add esp, 4
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x810], ecx
lea edx, [eax + 4]
mov dword [ebp - 0x820], edx
cmp dword [esi + 0x7ec], ecx
jbe 0x4181de
nop dword [eax]
mov eax, dword [esi + 0x7f4]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x814]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x41aa02
mov edx, dword [ebp - 0x814]
lea eax, [edi + edi*2]
mov ecx, dword [edx]
lea edi, [ecx + eax*8]
cmp dword [edi + 0x10], 0
lea eax, [edi + 0x10]
mov dword [ebp - 0x808], edi
mov dword [ebp - 0x3c], eax
je 0x4181b9
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x4180aa
mov eax, dword [edi]
lea ecx, [ebp - 0x8d4]
mov dword [ebp - 0x8d4], 0
push ecx
push 0
push 0
push eax
mov dword [ebp - 0x8d0], 0
call fcn.004b5d90
add esp, 0x10
test al, al
je 0x4181b3
push 1
sub esp, 0x18
mov esi, esp
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [edi + 0x14], 0x10
jb 0x418103
mov edi, dword [edi]
mov dword [ebp - 0x808], edi
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
cmp eax, 0x7fffffff
ja 0x41a9fd
cmp eax, 0x10
jae 0x41815e
push 0x10
push edi
mov dword [esi + 0x10], eax
push esi
mov dword [esi + 0x14], 0xf
call fcn.004d6030
jmp 0x4181a8
push str.dir_input
call fcn.00492e20
mov ecx, dword [0x60752c]
add esp, 4
cmp dword [ecx + 0x3e88], eax
jne 0x417ead
mov byte [0x5d0185], 1
jmp 0x417eb6
mov edi, eax
mov dword [esi + 0x14], 0xf
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x418179
mov edi, 0x7fffffff
jmp 0x418184
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.00421c20
mov ecx, dword [ebp - 0x3c]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x808]
mov dword [esi + 0x14], edi
push eax
call fcn.004d6030
add esp, 0xc
call fcn.0041f4b0
add esp, 0x1c
mov esi, dword [0x5d0178]
mov ecx, dword [ebp - 0x810]
mov edx, dword [ebp - 0x820]
inc ecx
mov dword [ebp - 0x810], ecx
cmp ecx, dword [esi + 0x7ec]
jb 0x418050
mov eax, dword [ebp - 0x814]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
push ecx
sar edx, 2
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x828]
movss dword [esp], xmm0
call fcn.004b6e50
add esp, 4
call fcn.0048eca0
push 1
call fcn.004b00c0
mov dword [esp], 0xbf800000
push ecx
mov dword [esp], 0
call fcn.004b5150
lea eax, [ebp - 0x924]
mov dword [ebp - 0x924], 0
push eax
push str....openfolder
mov dword [ebp - 0x920], 0
call fcn.004899e0
add esp, 0x10
test al, al
je 0x418283
mov byte [0x5d0674], 1
mov byte [0x5d067f], 1
mov byte [0x5d0681], 1
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push 0x5d0184
push dword [0x531c04]
call fcn.0048b260
movzx ecx, byte [0x5d0186]
add esp, 0x10
test al, al
mov esi, 1
cmovne ecx, esi
xor al, al
mov byte [0x5d0186], cl
mov dword [ebp - 0x81c], eax
mov byte [ebp - 0x824], al
cmp byte [0x5d01c0], al
je 0x4182f3
cmp byte [0x5d0641], al
je 0x4182f3
push 0
call fcn.004b72c0
add esp, 4
mov byte [0x5d0641], 0
mov eax, dword [0x5d0178]
cmp byte [eax + 0x6cc], 0
jne 0x41832c
cmp byte [0x5d0638], 0
jne 0x41832c
push 0
push 0
push 0x80000020
push 0x5d01a0
push str..txt_.xml
push str.Filters
call fcn.004a34f0
add esp, 0x18
jmp 0x418347
push 0
push 0
push 0x80000020
push 0x5d01a0
push str.Filters
call fcn.0049f800
add esp, 0x14
test al, al
je 0x418363
push 0xffffffffffffffff
call fcn.004b72c0
mov eax, esi
add esp, 4
mov dword [ebp - 0x81c], eax
mov byte [ebp - 0x824], al
cmp byte [0x5d01c0], 0
jne 0x41839b
call fcn.004a37c0
test al, al
je 0x41839b
push 0
push 0
call fcn.004a3a70
mov ecx, dword [ebp - 0x81c]
add esp, 8
test al, al
movzx ecx, cl
cmove ecx, esi
mov dword [ebp - 0x81c], ecx
mov byte [ebp - 0x824], cl
lea eax, [ebp - 0x91c]
mov dword [ebp - 0x91c], 0
push eax
push 2
mov dword [ebp - 0x918], 0
call fcn.004b0910
push 0x80000040
push 0x503500
push dword [0x531c38]
call fcn.00485c30
add esp, 0x14
test al, al
je 0x418586
call fcn.00493e40
fstp dword [ebp - 0x808]
call fcn.004938b0
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x808]
fld qword [ebp - 0x84c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
fld qword [ebp - 0x84c]
call fcn.004e07e0
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
push ecx
fstp dword [esp]
call fcn.004b6e50
mov edi, dword [0x607194]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x3c], edi
add esp, 4
mov dword [ebp - 0x814], 0
mov esi, dword [edi + 4]
mov ecx, esi
mov edi, dword [edi]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41853a
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [0x5d0178]
sub esi, edi
mov eax, dword [eax + 0x800]
mov ecx, dword [eax + ecx*4]
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x41aa02
lea eax, [ecx + ecx*2]
lea esi, [edi + eax*8]
cmp dword [esi + 0x10], 0
lea edi, [esi + 0x10]
je 0x418509
mov dword [ebp - 0x914], 0
mov eax, esi
mov dword [ebp - 0x910], 0
cmp dword [esi + 0x14], 0x10
jb 0x4184c6
mov eax, dword [esi]
lea ecx, [ebp - 0x914]
push ecx
push 0
push 0
push eax
call fcn.004b5d90
add esp, 0x10
test al, al
je 0x418509
mov al, 1
mov dword [ebp - 0x81c], eax
mov byte [ebp - 0x824], al
cmp esi, 0x5d01a0
je 0x418509
cmp dword [esi + 0x14], 0x10
jb 0x4184fc
mov esi, dword [esi]
push dword [edi]
mov ecx, 0x5d01a0
push esi
call fcn.00421eb0
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x814]
mov esi, dword [eax + 4]
mov ecx, esi
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x814]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x418470
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
push ecx
sar edx, 2
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x808]
movss dword [esp], xmm0
call fcn.004b6e50
add esp, 4
call fcn.0048eca0
mov esi, 1
push 1
call fcn.004b00c0
mov dword [esp], 0xbf800000
push ecx
mov byte [ebp - 0x802], 0
mov dword [esp], 0
call fcn.004b5150
push 0x5d0638
push str.Regexfilter
call fcn.0048b260
add esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push 0x5d063a
push str.Aafilter
call fcn.0048b260
movzx ecx, byte [ebp - 0x802]
test al, al
mov dword [esp + 0xc], 0xbf800000
cmovne ecx, esi
mov dword [esp + 8], 0
add esp, 8
mov dword [ebp - 0x3c], ecx
call fcn.004b5150
push 0x5d0639
push dword [0x531b4c]
call fcn.0048b260
mov ecx, dword [ebp - 0x3c]
test al, al
movzx eax, byte [0x5d01c0]
movzx ecx, cl
cmovne ecx, esi
push eax
mov dword [ebp - 0x828], ecx
call fcn.00486610
add esp, 0x14
cmp byte [0x5d0641], 0
mov byte [ebp - 4], 0x3b
je 0x418653
push 0
call fcn.004b72c0
add esp, 4
mov byte [0x5d0641], 0
push 0
push 0
push 0x80000000
push 0x5d0608
push str.pattern_input_text
mov byte [ebp - 0x803], 0
call fcn.0049f800
add esp, 0x14
mov byte [ebp - 0x802], al
call fcn.004a3780
test al, al
je 0x41869b
push 1
push 0x20d
call fcn.004a3990
add esp, 8
test al, al
je 0x41869b
mov al, 1
jmp 0x41869d
xor al, al
cmp byte [ebp - 0x802], 0
mov byte [ebp - 0x801], al
jne 0x4186b0
test al, al
je 0x418710
push 0xffffffffffffffff
call fcn.004b72c0
add esp, 4
cmp byte [0x5d063d], 0
jne 0x4186cc
cmp byte [ebp - 0x801], 0
je 0x418710
cmp dword [0x5d061c], 0x10
mov eax, 0x5d0608
push 0
cmovae eax, dword [0x5d0608]
push 0x503500
push dword [0x5d0618]
mov byte [ebp - 0x803], 1
push eax
call fcn.00403c50
add esp, 0x10
test al, al
jne 0x418710
call fcn.004ad9a0
mov dword [0x601d50], eax
mov dword [0x601d54], edx
lea eax, [ebp - 0x90c]
mov byte [ebp - 0x801], 0
push eax
push 2
mov dword [ebp - 0x90c], 0
mov dword [ebp - 0x908], 0
call fcn.004b0910
push 0x80000040
push 0x503500
push dword [0x531c3c]
call fcn.00485c30
add esp, 0x14
test al, al
je 0x418907
call fcn.00493e40
fstp dword [ebp - 0x820]
call fcn.004938b0
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x820]
fld qword [ebp - 0x84c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
fld qword [ebp - 0x84c]
call fcn.004e07e0
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
push ecx
fstp dword [esp]
call fcn.004b6e50
mov eax, dword [0x607140]
xor ecx, ecx
mov edi, dword [0x5d0178]
add esp, 4
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x808], ecx
lea edx, [eax + 4]
mov dword [ebp - 0x810], edx
cmp dword [edi + 0x804], ecx
jbe 0x4188be
mov eax, dword [edi + 0x80c]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x814]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x41aa02
mov edx, dword [ebp - 0x814]
lea eax, [esi + esi*2]
mov ecx, dword [edx]
lea esi, [ecx + eax*8]
cmp dword [esi + 0x10], 0
lea eax, [esi + 0x10]
mov dword [ebp - 0x3c], eax
je 0x418894
mov dword [ebp - 0x8ac], 0
mov eax, esi
mov dword [ebp - 0x8a8], 0
cmp dword [esi + 0x14], 0x10
jb 0x418844
mov eax, dword [esi]
lea ecx, [ebp - 0x8ac]
push ecx
push 0
push 0
push eax
call fcn.004b5d90
add esp, 0x10
test al, al
je 0x41888e
mov byte [ebp - 0x801], 1
cmp esi, 0x5d0608
je 0x418883
cmp dword [esi + 0x14], 0x10
jb 0x418873
mov esi, dword [esi]
mov eax, dword [ebp - 0x3c]
mov ecx, 0x5d0608
push dword [eax]
push esi
call fcn.00421eb0
xorps xmm0, xmm0
movlpd qword [0x601d50], xmm0
mov edi, dword [0x5d0178]
mov ecx, dword [ebp - 0x808]
mov edx, dword [ebp - 0x810]
inc ecx
mov dword [ebp - 0x808], ecx
cmp ecx, dword [edi + 0x804]
jb 0x4187e0
mov eax, dword [ebp - 0x814]
mov esi, 1
mov ecx, dword [edx]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
push ecx
sar edx, 2
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x820]
movss dword [esp], xmm0
call fcn.004b6e50
add esp, 4
call fcn.0048eca0
push 1
call fcn.004b00c0
add esp, 4
cmp byte [ebp - 0x801], 0
jne 0x418923
cmp byte [ebp - 0x803], 0
je 0x41894e
cmp dword [0x5d061c], 0x10
mov eax, 0x5d0608
push dword [0x5d0618]
cmovae eax, dword [0x5d0608]
mov ecx, 0x5d0620
push eax
mov byte [ebp - 0x828], 1
call fcn.00421eb0
mov byte [ebp - 4], 0x3c
call fcn.0048ecf0
sub esp, 8
mov byte [ebp - 4], 0x38
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push 0x5d063b
push str.Regexpattern
call fcn.0048b260
add esp, 0x10
test al, al
je 0x418996
call fcn.0048bad0
mov word [0x5d063d], 0
lea eax, [ebp - 0xae0]
push eax
call fcn.00493040
lea eax, [ebp - 0xae8]
push eax
call fcn.00493020
movss xmm0, dword [eax]
lea eax, [ebp - 0xaf0]
addss xmm0, dword [ebp - 0x83c]
push eax
movss dword [ebp - 0x814], xmm0
call fcn.00494a40
movss xmm0, dword [ebp - 0x814]
add esp, 0xc
cmp byte [0x5d063b], 0
subss xmm0, dword [eax]
movss dword [ebp - 0x814], xmm0
jne 0x418a24
cmp dword [0x606cd4], 0
je 0x418a20
cmp dword [0x606cd8], 0x10
mov eax, 0x606cc4
cmovae eax, dword [0x606cc4]
movsx eax, byte [eax]
push eax
call fcn.004e070c
add esp, 4
cmp eax, 0x66
je 0x418a24
cmp eax, 0x30
je 0x418a24
mov al, 1
jmp 0x418a26
xor al, al
push eax
call fcn.00486610
mov dword [esp], 0xbf800000
push ecx
mov dword [esp], 0
call fcn.004b5150
push 0x5d063c
push str.Aapattern
call fcn.0048b260
mov ecx, dword [ebp - 0x828]
test al, al
movzx ecx, cl
cmovne ecx, esi
mov dword [ebp - 0x3c], ecx
call fcn.0048ecf0
movzx eax, byte [0x5d063b]
push eax
call fcn.00486610
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
push 0x5d063e
push dword [0x531ba4]
call fcn.0048b260
mov ecx, dword [ebp - 0x3c]
test al, al
movzx ecx, cl
cmovne ecx, esi
mov dword [ebp - 0x834], ecx
call fcn.0048ecf0
lea eax, [ebp - 0x88c]
mov dword [ebp - 0x88c], 0
push eax
push dword [0x531b58]
mov dword [ebp - 0x888], 0
call fcn.004899e0
movzx ecx, byte [0x5d0186]
test al, al
mov dword [esp + 0x14], 0xbf800000
cmovne ecx, esi
mov dword [esp + 0x10], 0
add esp, 0x10
mov byte [0x5d0186], cl
call fcn.004b5150
mov eax, dword [0x5d0178]
mov al, byte [eax + 0x7e8]
mov byte [ebp - 0x3c], al
nop
push dword [ebp - 0x3c]
call fcn.00486610
cmp byte [0x5d063f], 0
lea ecx, [ebp - 0x9cc]
mov eax, dword [str.Pause]
cmovne eax, dword [str.Resume]
push ecx
push eax
mov dword [ebp - 0x9cc], 0
mov dword [ebp - 0x9c8], 0
call fcn.004899e0
add esp, 0x14
mov byte [ebp - 0x802], al
call fcn.0048ecf0
cmp byte [ebp - 0x802], 0
je 0x418bc9
mov al, byte [0x5d063f]
xor ecx, ecx
test al, al
setne cl
add ecx, 2
test al, al
mov eax, dword [0x5d0178]
sete byte [0x5d063f]
mov dword [ebp - 0x3c], ecx
add eax, 0x678
push eax
call fcn.004abc40
mov eax, dword [0x5d0178]
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x3d
mov dword [eax + 0x6a0], ecx
mov eax, dword [0x5d0178]
add eax, 0x698
push eax
call fcn.004af120
mov eax, dword [0x5d0178]
add eax, 0x678
mov byte [ebp - 4], 0x3e
push eax
call fcn.004ae2e0
add esp, 0xc
mov byte [ebp - 4], 0x38
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
mov ecx, dword [0x5d0178]
add esp, 8
cmp byte [ecx + 0x508], 0
je 0x418c40
mov ecx, dword [ecx + 0x510]
nop
mov eax, dword [0x5d0178]
mov eax, dword [eax + 0x50c]
nop
cmp eax, ecx
jne 0x418c3a
mov eax, dword [0x5d0178]
mov edx, dword [eax + 0x510]
nop
mov eax, dword [0x5d0178]
mov eax, dword [eax + 0x510]
nop
cmp eax, 1
mov ecx, 0x503500
mov esi, 0x538ae4
cmovne ecx, esi
push ecx
push edx
push str._zu_File_s_Searched
jmp 0x418c81
mov ecx, dword [0x5d0178]
mov ecx, dword [ecx + 0x50c]
nop
mov eax, dword [0x5d0178]
mov eax, dword [eax + 0x514]
nop
cmp eax, ecx
mov ecx, dword [0x5d0178]
jae 0x418c65
add ecx, 0x50c
jmp 0x418c6b
add ecx, 0x514
mov ecx, dword [ecx]
nop
mov eax, dword [0x5d0178]
mov eax, dword [eax + 0x510]
nop
push ecx
push eax
push str.Searched__zu_of__zu_Files...
call fcn.004c0500
mov eax, dword [0x5d0178]
add esp, 0xc
mov al, byte [eax + 0x7e8]
nop
test al, al
je 0x418cd9
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004b5150
movaps xmm0, xmmword [0x539630]
lea eax, [ebp - 0xac8]
push str.MEMORY_ALLOCATION_FAIL
push eax
movups xmmword [ebp - 0xcb0], xmm0
movups xmmword [ebp - 0xac8], xmm0
call fcn.004c0520
add esp, 0x10
movss xmm0, dword [ebp - 0x814]
sub esp, 8
mov dword [esp + 4], 0xbf800000
movss dword [esp], xmm0
call fcn.004b5150
movzx eax, byte [0x5d063b]
push eax
call fcn.00486610
push 0x5d063d
push dword [0x531bc4]
call fcn.0048b260
call fcn.0048ecf0
push 0
mov byte [ebp - 0x802], 0
call fcn.004b03b0
lea eax, [ebp - 0xd5]
mov dword [ebp - 0x8ec], 0x41a00000
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x8ec]
push eax
push 0x11
mov dword [ebp - 0x8e8], 0x40000000
call fcn.004b0910
add esp, 0x1c
lea eax, [ebp - 0xb28]
mov byte [ebp - 4], 0x3f
mov dword [esp], 0xbf800000
push 0
push 0
push 0x538714
push eax
call fcn.0048a700
add esp, 0x10
movss xmm0, dword [eax]
lea eax, [ebp - 0x96c]
mov dword [esp], 0x42480000
mulss xmm0, dword [0x538d30]
push eax
push 0x2000
push 3
push str.advanced_table
movss dword [ebp - 0x808], xmm0
mov dword [ebp - 0x96c], 0
mov dword [ebp - 0x968], 0
call fcn.00487c20
add esp, 0x14
mov edi, 2
test al, al
je 0x419190
push ecx
mov dword [esp], 0
push 0
call fcn.004bde70
call fcn.004bdde0
push 0x5d01c2
push dword [0x531bf8]
call fcn.0048b260
call fcn.004bdde0
movss xmm0, dword [ebp - 0x808]
add esp, 0xc
movss dword [esp], xmm0
call fcn.004b7470
movzx eax, byte [0x5d01c1]
push eax
call fcn.00486610
push 0
push 0
push 0x20
push 0x5d05d8
push dword [0x531bd8]
xorps xmm0, xmm0
movlpd qword [ebp - 0x84c], xmm0
call fcn.0049f800
add esp, 0x1c
test al, al
jne 0x418e57
call fcn.004a37c0
test al, al
jne 0x418e57
call fcn.0048ecf0
jmp 0x418eef
call fcn.0048ecf0
lea eax, [ebp - 0x84c]
push eax
push 0x5d05d8
call fcn.0040e030
add esp, 8
test al, al
je 0x418e8d
mov eax, dword [ebp - 0x84c]
mov ecx, dword [ebp - 0x848]
mov dword [0x5d05c8], eax
mov dword [0x5d05cc], ecx
jmp 0x418eef
push dword [0x5d05cc]
lea eax, [ebp - 0xc58]
push dword [0x5d05c8]
push eax
call fcn.00410470
mov esi, eax
add esp, 0xc
cmp esi, 0x5d05d8
je 0x418ee4
mov ecx, 0x5d05d8
call fcn.00404db0
movups xmm0, xmmword [esi]
movups xmmword [0x5d05d8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x5d05e8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xc58]
call fcn.00404db0
call fcn.004bdde0
push 0
lea ecx, [ebp - 0xb8]
call fcn.00405cc0
push ecx
mov dword [esp], 0
push 0
call fcn.004bde70
call fcn.004bdde0
movzx eax, byte [0x5d01c0]
push eax
call fcn.00486610
push 0x5d01c3
push dword [0x531bf4]
call fcn.0048b260
call fcn.0048ecf0
call fcn.004bdde0
movss xmm0, dword [ebp - 0x808]
add esp, 0x10
movss dword [esp], xmm0
call fcn.004b7470
movzx eax, byte [0x5d01c1]
push eax
call fcn.00486610
push 0
push 0
push 0x20
push 0x5d05f0
push dword [0x531bd4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x84c], xmm0
call fcn.0049f800
add esp, 0x1c
test al, al
jne 0x418f99
call fcn.004a37c0
test al, al
jne 0x418f99
call fcn.0048ecf0
jmp 0x419031
call fcn.0048ecf0
lea eax, [ebp - 0x84c]
push eax
push 0x5d05f0
call fcn.0040e030
add esp, 8
test al, al
je 0x418fcf
mov eax, dword [ebp - 0x84c]
mov ecx, dword [ebp - 0x848]
mov dword [0x5d05d0], eax
mov dword [0x5d05d4], ecx
jmp 0x419031
push dword [0x5d05d4]
lea eax, [ebp - 0xc70]
push dword [0x5d05d0]
push eax
call fcn.00410470
mov esi, eax
add esp, 0xc
cmp esi, 0x5d05f0
je 0x419026
mov ecx, 0x5d05f0
call fcn.00404db0
movups xmm0, xmmword [esi]
movups xmmword [0x5d05f0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x5d0600], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xc70]
call fcn.00404db0
call fcn.004bdde0
push 1
lea ecx, [ebp - 0xb8]
call fcn.00405cc0
push ecx
mov dword [esp], 0
push 0
call fcn.004bde70
call fcn.004bdde0
mov eax, dword [str.Name]
add esp, 4
mov ecx, dword [str.Relative_path]
mov dword [ebp - 0x28], eax
mov eax, dword [str.Full_path]
mov dword [esp], 0xbf800000
push 0
push 0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0xb30]
push ecx
push eax
mov dword [ebp - 0x24], ecx
call fcn.0048a700
add esp, 0x10
movss xmm0, dword [eax]
addss xmm0, dword [0x538d54]
movss dword [esp], xmm0
call fcn.004b7470
push 0xffffffffffffffff
push 3
lea eax, [ebp - 0x28]
push eax
push 0x5d01b8
push 0x538b28
call fcn.0048cb00
mov ecx, dword [0x5d01bc]
add esp, 0x18
test al, al
cmovne ecx, edi
mov dword [0x5d01bc], ecx
call fcn.004bdde0
cmp byte [0x5d01c1], 0
mov eax, dword [str.Contents]
mov dword [ebp - 0x1c], eax
mov eax, dword [str.Filename]
mov dword [ebp - 0x18], eax
mov eax, dword [str.Foldername]
mov dword [ebp - 0x14], eax
je 0x4190f9
mov eax, edi
jmp 0x419104
xor eax, eax
cmp byte [0x5d01c0], al
setne al
push 0xffffffffffffffff
mov dword [ebp - 0x808], eax
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x1c]
push 3
push eax
lea eax, [ebp - 0xec]
push eax
push str.search_for_filename
call fcn.0048cb00
add esp, 0x14
test al, al
je 0x419179
mov eax, dword [ebp - 0xec]
cmp dword [ebp - 0x808], eax
je 0x419179
cmp eax, 2
jne 0x419150
mov word [0x5d01c0], 0x101
mov al, 1
jmp 0x41916a
cmp eax, 1
jne 0x41915f
mov word [0x5d01c0], ax
mov al, al
jmp 0x41916a
mov word [0x5d01c0], 0
xor al, al
xor al, 1
mov byte [0x5d01c4], 1
mov byte [ebp - 0x802], al
call fcn.004bdde0
push 2
lea ecx, [ebp - 0xb8]
call fcn.00405cc0
call fcn.0048f750
push 1
mov byte [ebp - 4], 0x40
call fcn.004b00c0
add esp, 4
mov byte [ebp - 4], 0x38
call fcn.004afe00
cmp byte [ebp - 0x81c], 0
mov byte [ebp - 0x803], 0
jne 0x4191c4
cmp byte [0x5d0186], 0
jne 0x4191c4
xor al, al
jmp 0x4191c6
mov al, 1
cmp byte [0x5d01c0], 0
jne 0x4191df
xor ecx, ecx
movzx eax, al
cmp dword [0x5d0618], ecx
cmovne ecx, eax
mov al, cl
cmp byte [0x5d01c4], 0
jne 0x4191f5
cmp byte [ebp - 0x834], 0
jne 0x4191f5
test al, al
je 0x419244
cmp byte [0x5d0182], 0
jne 0x419207
cmp byte [0x5d0183], 0
je 0x41923d
push dword [ebp - 0x824]
lea eax, [ebp - 0x803]
push eax
call fcn.0040e2e0
add esp, 8
cmp byte [ebp - 0x803], 0
je 0x41923d
cmp byte [ebp - 0x809], 0
jne 0x41923d
mov eax, dword [0x5d0178]
mov dword [eax + 0x604], 1
mov byte [0x5d0183], 0
cmp byte [0x5d063d], 0
mov byte [ebp - 4], 0x41
mov byte [ebp - 0x801], 0
je 0x4192bb
cmp byte [0x5d0640], 0
je 0x4192bb
push dword [0x601d54]
push dword [0x601d50]
call fcn.004938c0
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
add esp, 8
comiss xmm0, dword [0x538d18]
jb 0x4192bb
cmp dword [0x5d0618], 0
je 0x4192ad
mov eax, dword [0x5d0178]
push 0x5d0608
add eax, 0x804
push eax
push dword [0x607140]
call fcn.0041b610
add esp, 0xc
mov byte [0x5d0640], 0
mov byte [ebp - 0x801], 1
cmp byte [ebp - 0x809], 0
je 0x4192d2
mov byte [ebp - 0x801], 0
mov byte [ebp - 0x803], 0
mov esi, dword [0x5d0178]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x6a8]
sub ecx, dword [esi + 0x6a4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x419596
cmp byte [ebp - 0x803], al
je 0x41930b
cmp byte [0x5d063d], al
je 0x419318
cmp byte [ebp - 0x801], 0
jne 0x419318
xor dh, dh
jmp 0x41931a
mov dh, 1
cmp dword [esi + 0x804], 0
setne dl
cmp dword [esi + 0x7f8], 0
setne al
xor ecx, ecx
and dl, al
cmp dword [esi + 0x7ec], ecx
movzx eax, dl
cmovne ecx, eax
test cl, dh
je 0x419596
mov eax, dword [esi + 0x7f4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x140], xmm0
mov dword [ebp - 0x138], 0
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 0x800]
mov eax, dword [eax]
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x13c], eax
mov eax, dword [esi + 0x80c]
mov eax, dword [eax]
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x138], eax
call fcn.00412490
push 0x60
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x37c]
push 0
push eax
call fcn.004d65b0
mov eax, dword [0x5d05c8]
add esp, 0xc
mov ecx, dword [0x5d05cc]
mov dword [ebp - 0x31c], eax
mov eax, dword [0x5d05d0]
mov dword [ebp - 0x318], ecx
mov ecx, dword [0x5d05d4]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0xcc8]
push 0x5d03cc
mov dword [ebp - 0x310], ecx
lea ecx, [ebp - 0x801]
push eax
call fcn.00405fc0
push 0x5d04c8
lea ecx, [ebp - 0x801]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x34c], xmm0
movq xmm0, qword [eax + 0x10]
lea eax, [ebp - 0xce0]
push eax
movq qword [ebp - 0x33c], xmm0
call fcn.00405fc0
push 0x5d01d4
lea ecx, [ebp - 0x801]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x334], xmm0
movq xmm0, qword [eax + 0x10]
lea eax, [ebp - 0xcf8]
push eax
movq qword [ebp - 0x324], xmm0
call fcn.00405fc0
push 0x5d02d0
lea ecx, [ebp - 0x801]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x364], xmm0
movq xmm0, qword [eax + 0x10]
lea eax, [ebp - 0xd10]
push eax
movq qword [ebp - 0x354], xmm0
call fcn.00405fc0
xor edi, edi
mov dword [ebp - 0x130], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x37c], xmm0
movq xmm0, qword [eax + 0x10]
mov eax, dword [0x5d0178]
add eax, 0x6c0
movq qword [ebp - 0x36c], xmm0
mov dword [ebp - 0x810], eax
cmp dword [eax], edi
jbe 0x419507
mov eax, dword [eax + 8]
mov dword [ebp - 0x808], eax
lea ecx, [ebp - 0x37c]
mov edx, eax
mov esi, 0x6c
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4194eb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4194d0
mov edx, edi
mov dword [ebp - 0x130], edx
jmp 0x419530
mov ecx, dword [ebp - 0x810]
inc edi
mov eax, dword [ebp - 0x808]
add eax, 0x70
mov dword [ebp - 0x808], eax
cmp edi, dword [ecx]
jb 0x4194c1
mov eax, ecx
lea ecx, [ebp - 0x37c]
push ecx
mov ecx, eax
call fcn.00422560
test al, al
je 0x41952e
mov ecx, dword [0x5d0178]
mov edx, dword [ecx + 0x6c0]
dec edx
mov dword [ebp - 0x130], edx
jmp 0x419536
xor edx, edx
mov ecx, dword [0x5d0178]
mov eax, dword [ecx + 0x6b4]
lea esi, [ecx + 0x6b4]
test eax, eax
je 0x419582
mov ecx, dword [ecx + 0x6bc]
lea eax, [eax + eax*4]
mov edi, dword [ebp - 0x3c]
cmp dword [ecx + eax*4 - 0x14], edi
jne 0x419582
mov edi, dword [ebp - 0x834]
cmp dword [ecx + eax*4 - 0x10], edi
jne 0x419582
mov edi, dword [ebp - 0x82c]
cmp dword [ecx + eax*4 - 0xc], edi
jne 0x419582
movups xmm0, xmmword [ebp - 0x140]
movups xmmword [ecx + eax*4 - 0x14], xmm0
mov dword [ecx + eax*4 - 4], edx
jmp 0x419590
lea eax, [ebp - 0x140]
mov ecx, esi
push eax
call fcn.004224d0
mov esi, dword [0x5d0178]
cmp byte [esi + 0x7d8], 0
je 0x4195bb
push 3
call fcn.00493c70
add esp, 4
movups xmm0, xmmword [eax]
lea eax, [ebp - 0xab8]
movups xmmword [ebp - 0xab8], xmm0
jmp 0x4195cf
movaps xmm0, xmmword [0x539690]
lea eax, [ebp - 0xad8]
movups xmmword [ebp - 0xad8], xmm0
push eax
push 3
call fcn.004b08c0
add esp, 8
mov byte [ebp - 4], 0x42
call fcn.004b6520
mov esi, dword [0x5d0178]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x6a8]
sub ecx, dword [esi + 0x6a4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x419679
push 0
push 0
lea eax, [ebp - 0x9b4]
mov dword [ebp - 0x9b4], 0
push eax
push str.Search_Results
mov dword [ebp - 0x9b0], 0
call fcn.004859d0
mov eax, dword [0x5d0178]
add esp, 0x10
mov edi, dword [eax + 0x6a8]
mov esi, dword [eax + 0x6a4]
cmp esi, edi
je 0x41966f
nop dword [eax]
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x41965a
mov eax, dword [esi]
push eax
push 0x5378d0
call fcn.004c0500
add esi, 0x18
add esp, 8
cmp esi, edi
jne 0x419650
call fcn.0048e660
jmp 0x419e6c
lea eax, [esi + 0x658]
push eax
call fcn.004abc40
add esp, 4
mov eax, dword [0x5d0178]
mov byte [ebp - 4], 0x43
mov al, byte [eax + 0x7e8]
nop
test al, al
je 0x41970a
mov eax, dword [0x5d0178]
cmp byte [eax + 0x7e9], 0
jne 0x41970a
mov byte [eax + 0x7e9], 1
mov eax, dword [0x5d0178]
add eax, 0x678
push eax
call fcn.004abc40
mov eax, dword [0x5d0178]
mov byte [ebp - 4], 0x44
mov dword [eax + 0x6a0], 2
mov eax, dword [0x5d0178]
add eax, 0x698
push eax
call fcn.004af120
mov eax, dword [0x5d0178]
add eax, 0x678
mov byte [ebp - 4], 0x45
push eax
call fcn.004ae2e0
add esp, 0xc
mov byte [ebp - 4], 0x43
mov byte [0x5d063f], 1
lea eax, [ebp - 0x800]
push eax
call fcn.004924b0
mov eax, dword [0x5d0178]
add esp, 4
mov ecx, dword [eax + 0x528]
sub ecx, dword [eax + 0x524]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41976f
movss xmm1, dword [ebp - 0x7fc]
lea ecx, [ebp - 0x9bc]
mulss xmm1, dword [0x538d10]
movss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x9bc], xmm0
movss dword [ebp - 0x9b8], xmm1
jmp 0x419789
mov dword [ebp - 0x9c4], 0
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 0x9c0], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
push 0
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], ecx
call fcn.004a3d20
push 0
mov byte [ebp - 0x801], al
lea eax, [ebp - 0x21c]
push 0
push eax
push str.Search_Results
call fcn.004859d0
add esp, 0x14
cmp byte [ebp - 0x803], 0
je 0x4197d8
push ecx
mov dword [esp], 0
call fcn.004b76e0
add esp, 4
cmp byte [ebp - 0x801], 0
je 0x419846
push 0x203
call fcn.004a3960
add esp, 4
test al, al
jne 0x419825
push 0x204
call fcn.004a3960
add esp, 4
test al, al
jne 0x419825
push 0x205
call fcn.004a3960
add esp, 4
test al, al
jne 0x419825
push 0x206
call fcn.004a3960
add esp, 4
test al, al
je 0x419846
mov ecx, dword [0x60752c]
mov eax, dword [ecx + 0x3e50]
mov byte [eax + 0x90], 1
push dword [ecx + 0x3e50]
call fcn.00491c00
add esp, 4
mov byte [ebp - 0x809], 0
call fcn.00493e40
push ecx
mov dword [esp], 0xbf800000
lea eax, [ebp - 0xb38]
push 0
push 0
push 0x538714
push eax
fstp dword [ebp - 0x81c]
call fcn.0048a700
add esp, 0x14
mov esi, 3
cmp byte [0x5d01c0], 0
movss xmm0, dword [eax]
mov eax, 0x2281
movss dword [ebp - 0x808], xmm0
je 0x4198a1
mov esi, 1
mov eax, 0x280
cmp byte [ebp - 0x803], 0
je 0x4198b7
cmp byte [ebp - 0x802], 0
jne 0x419e50
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x894]
push ecx
push eax
push esi
push str.match_results
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
call fcn.00487c20
add esp, 0x14
test al, al
je 0x419e50
cmp esi, 3
jne 0x419961
movss xmm0, dword [ebp - 0x808]
mulss xmm0, dword [0x538d4c]
push 0
push ecx
movss dword [esp], xmm0
push 0x10
push 0x503500
call fcn.004bebd0
movss xmm0, dword [ebp - 0x808]
add esp, 0x10
mulss xmm0, dword [0x538d30]
push 0
push ecx
movss dword [esp], xmm0
push 0x10
push 0x503500
call fcn.004bebd0
add esp, 0x10
push 0
push ecx
mov dword [esp], 0
push 8
push 0x503500
call fcn.004bebd0
add esp, 0x10
mov eax, dword [0x5d0178]
cmp dword [eax + 0x5e4], 0
jbe 0x419993
mov eax, dword [0x5d01bc]
test eax, eax
jle 0x419993
dec eax
mov dword [0x5d01bc], eax
mov eax, dword [0x60752c]
push 0
push dword [eax + 0x4218]
call fcn.004be380
add esp, 8
call fcn.004938b0
fdiv dword [ebp - 0x81c]
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
call fcn.004d3c70
mov edx, dword [0x60752c]
mov esi, eax
mov dword [ebp - 0x814], esi
mov ecx, dword [edx + 0x3e50]
mov byte [ecx + 0x90], 1
mov ecx, dword [edx + 0x3e50]
movss xmm0, dword [ecx + 0x1c]
divss xmm0, dword [ebp - 0x81c]
call fcn.004d3c70
lea edi, [eax + 1]
add edi, esi
mov dword [ebp - 0x844], edi
call fcn.00492580
fstp dword [ebp - 0x834]
call fcn.004938b0
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x81c]
fld qword [ebp - 0x84c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
fld qword [ebp - 0x84c]
call fcn.004e07e0
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
fstp qword [ebp - 0x84c]
addsd xmm0, qword [eax*8 + 0x5396a0]
movsd xmm1, qword [ebp - 0x84c]
mov eax, dword [0x60752c]
cvtpd2ps xmm1, xmm1
mov esi, dword [eax + 0x4218]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x81c]
addss xmm0, dword [ebp - 0x834]
addss xmm1, xmm0
movss xmm0, dword [esi + 0xa8]
movss dword [ebp - 0x3c], xmm0
mov dword [esi + 0xa8], 0
movss dword [esp], xmm1
push 0
call fcn.004bde70
movss xmm0, dword [ebp - 0x3c]
add esp, 8
movss dword [esi + 0xa8], xmm0
xor esi, esi
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x1dc], esi
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
mov edx, dword [0x5d0178]
mov byte [ebp - 4], 0x46
mov eax, dword [edx + 0x5fc]
cmp eax, dword [edx + 0x5d8]
jae 0x419be5
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [edx + 0x5fc]
mov eax, dword [edx + 0x5e0]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 0x14], 0
je 0x419bdd
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 8]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x874], eax
movq xmm0, qword [ebp - 0x874]
movq qword [ebp - 0x850], xmm0
mov edi, dword [ebp - 0x850]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x808], edi
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x820], eax
cmp eax, dword [edx + 0x5e4]
jae 0x419bbf
cmp ecx, esi
jae 0x419bbf
mov eax, dword [edx + 0x5f0]
lea edi, [edx + 0x5f0]
inc eax
mov ecx, edi
push eax
call fcn.00422a90
test al, al
je 0x419b97
mov ecx, dword [edi]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x820]
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebp - 0x808]
mov edx, dword [0x5d0178]
lea ecx, [eax + eax*8]
mov eax, dword [edx + 0x5ec]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0x810]
mov dword [ebp - 0x808], eax
inc ecx
jmp 0x419b57
inc dword [edx + 0x5fc]
mov edx, dword [0x5d0178]
mov eax, dword [edx + 0x5fc]
cmp eax, dword [edx + 0x5d8]
jb 0x419b00
mov edi, dword [ebp - 0x844]
xor esi, esi
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x83c], 0
cmp eax, dword [edx + 0x5f0]
jae 0x419c60
mov esi, eax
nop
mov eax, dword [edx + 0x5f0]
mov ecx, edi
cmp eax, edi
cmovb ecx, eax
cmp esi, ecx
jae 0x419c52
mov eax, dword [edx + 0x5f8]
mov eax, dword [eax + esi*4]
lea ecx, [eax + eax*8]
mov eax, dword [edx + 0x5ec]
lea eax, [eax + ecx*8]
mov ecx, 0x601d58
push eax
push dword [eax + 8]
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.00406090
mov edx, dword [0x5d0178]
inc esi
mov byte [ebp - 0x809], 1
jmp 0x419c00
mov eax, dword [edx + 0x5fc]
mov dword [ebp - 0x83c], eax
jmp 0x419c62
xor eax, eax
mov ecx, dword [ebp - 0x844]
cmp esi, ecx
jae 0x419daf
cmp eax, dword [edx + 0x5d8]
jae 0x419daf
nop dword [eax]
mov eax, dword [edx + 0x5e0]
mov edi, dword [ebp - 0x83c]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x834], eax
cmp dword [eax + 4], 0
je 0x419d96
mov edi, dword [eax + 0x10]
xorps xmm0, xmm0
mov eax, dword [eax + 8]
movlpd qword [ebp - 0xa54], xmm0
mov dword [ebp - 0xa58], eax
movq xmm0, qword [ebp - 0xa58]
mov dword [ebp - 0x3c], edi
movq qword [ebp - 0x874], xmm0
test edi, edi
je 0x419d96
cmp byte [ebp - 0x809], 0
movzx eax, byte [ebp - 0x809]
cmove eax, dword [ebp - 0x830]
add edi, esi
mov byte [ebp - 0x809], al
mov eax, dword [ebp - 0x814]
cmp esi, eax
ja 0x419d00
cmp edi, ecx
jae 0x419d14
cmp esi, eax
jb 0x419d04
cmp esi, ecx
jb 0x419d14
cmp edi, eax
jb 0x419d90
cmp edi, ecx
ja 0x419d90
mov edi, dword [ebp - 0x870]
mov eax, dword [ebp - 0x874]
mov dword [ebp - 0x808], edi
cmp eax, dword [edx + 0x5e4]
jae 0x419d96
cmp edi, dword [ebp - 0x3c]
jae 0x419d96
lea edi, [eax + eax*8]
mov eax, dword [edx + 0x5ec]
shl edi, 3
add eax, edi
cmp esi, dword [ebp - 0x814]
jb 0x419d78
cmp esi, ecx
jae 0x419d78
push eax
push dword [ebp - 0x834]
lea eax, [ebp - 0x828]
mov ecx, 0x601d58
push eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.00406090
mov edx, dword [0x5d0178]
mov ecx, dword [ebp - 0x844]
inc esi
cmp esi, ecx
ja 0x419d96
mov eax, dword [edx + 0x5ec]
mov eax, dword [eax + edi + 0xc]
mov edi, dword [ebp - 0x808]
inc edi
jmp 0x419d20
mov esi, edi
cmp esi, ecx
ja 0x419daf
mov eax, dword [ebp - 0x83c]
inc eax
mov dword [ebp - 0x83c], eax
cmp eax, dword [edx + 0x5d8]
jb 0x419c80
call fcn.0048f750
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x43
cmp ecx, 0x10
jb 0x419df2
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x419de8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ab5e
push ecx
push edx
call fcn.004d36cd
add esp, 8
cmp byte [ebp - 0x809], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
je 0x419e50
mov eax, dword [0x5d0178]
push ecx
mov eax, dword [eax + 0x5e4]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x81c]
movss dword [esp], xmm0
call fcn.004b6e50
add esp, 4
call fcn.0048e660
mov eax, dword [0x5d0178]
add eax, 0x658
mov byte [ebp - 4], 0x47
push eax
call fcn.004ae2e0
add esp, 4
mov esi, dword [0x5d0178]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x6a8]
sub ecx, dword [esi + 0x6a4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x41a9b3
mov ecx, dword [esi + 0x528]
mov eax, 0x88888889
sub ecx, dword [esi + 0x524]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41a9b3
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
push 2
push dword [0x531c28]
mov byte [ebp - 4], 0x48
call fcn.00487780
add esp, 8
test al, al
je 0x41a94e
mov edi, dword [0x5d0178]
mov eax, 0x88888889
mov dword [ebp - 0x81c], edi
mov ecx, dword [edi + 0x528]
sub ecx, dword [edi + 0x524]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x85c], eax
je 0x41a949
mov edi, dword [edi + 0x524]
mov esi, eax
shl esi, 4
sub esi, eax
mov dword [ebp - 0x818], edi
shl esi, 2
mov dword [ebp - 0x838], esi
lea ecx, [esi - 0x3c]
add ecx, edi
cmp dword [edi + esi - 0x28], 0x10
mov dword [ebp - 0x83c], ecx
mov edx, ecx
mov dword [ebp - 0x814], ecx
jb 0x419f70
mov edx, dword [ecx]
mov dword [ebp - 0x814], edx
mov eax, dword [edi + esi - 0x2c]
dec eax
add eax, edx
cmp eax, edx
jb 0x419f93
nop dword [eax + eax]
cmp byte [eax], 0x5c
je 0x419f8c
dec eax
cmp eax, edx
jae 0x419f80
jmp 0x419f93
inc eax
mov dword [ebp - 0x814], eax
sub ecx, edi
mov eax, 0x88888889
imul ecx
add edx, ecx
xor ecx, ecx
sar edx, 5
mov eax, edx
mov dword [ebp - 0x808], ecx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x830], eax
mov eax, dword [ebp - 0x81c]
cmp byte [eax + 0x538], cl
je 0x419fde
mov edx, dword [ebp - 0x830]
cmp edx, dword [eax + 0x530]
mov eax, 2
cmove ecx, eax
mov dword [ebp - 0x808], ecx
call fcn.00493c60
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x89c]
push eax
push 2
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x89c], 0
mov dword [ebp - 0x898], 0
call fcn.004b0910
mov byte [ebp - 0x2c], 1
lea eax, [ebp - 0x158]
push dword [edi + esi - 4]
push dword [ebp - 0x814]
push str._s_d
push eax
call fcn.004b9880
cmp dword [ebp - 0x144], 0x10
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x808]
lea eax, [ebp - 0x158]
cmovae eax, dword [ebp - 0x158]
push ecx
push eax
call fcn.00487bb0
add esp, 0x24
test al, al
je 0x41a7b1
push 0x800
push 1
lea eax, [ebp - 0x8a4]
mov dword [ebp - 0x8a4], 0
push eax
push 0x538b84
mov dword [ebp - 0x8a0], 0
call fcn.004859d0
call fcn.00493e40
mov ecx, dword [0x60752c]
add esp, 8
fstp dword [ebp - 0x81c]
mov eax, dword [ecx + 0x3e50]
mov byte [eax + 0x90], 1
mov eax, dword [ecx + 0x3e50]
movss xmm0, dword [eax + 0x1c]
divss xmm0, dword [ebp - 0x81c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
fld qword [ebp - 0x84c]
fstp qword [esp]
call fcn.004e0810
fstp qword [ebp - 0x84c]
movsd xmm0, qword [ebp - 0x84c]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.004d3c70
mov dword [ebp - 0x814], eax
call fcn.004938b0
fdiv dword [ebp - 0x81c]
fstp dword [ebp - 0x830]
movss xmm0, dword [ebp - 0x830]
call fcn.004d3c70
mov edi, eax
mov dword [ebp - 0x824], edi
call fcn.00492580
fstp dword [ebp - 0x3c]
call fcn.004938b0
fstp dword [ebp - 0x830]
movss xmm0, dword [ebp - 0x830]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
movss xmm0, dword [ebp - 0x81c]
fld qword [ebp - 0x84c]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x84c], xmm0
fld qword [ebp - 0x84c]
call fcn.004e07e0
movd xmm0, edi
mov eax, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
fstp qword [ebp - 0x84c]
addsd xmm0, qword [eax*8 + 0x5396a0]
movsd xmm1, qword [ebp - 0x84c]
cvtpd2ps xmm1, xmm1
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x81c]
addss xmm0, dword [ebp - 0x3c]
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.004b6e50
mov ecx, dword [ebp - 0x818]
add esp, 4
mov eax, dword [ecx + esi - 0xc]
cmp eax, 0xffffffff
je 0x41a1f3
mov edx, dword [ecx + esi - 0x18]
mov edi, eax
mov dword [ebp - 0x824], edi
cmp edx, dword [ebp - 0x814]
jb 0x41a1f3
mov edi, edx
sub edi, dword [ebp - 0x814]
cmp eax, edi
cmovb edi, eax
mov dword [ebp - 0x824], edi
mov dword [ecx + esi - 0xc], edi
mov eax, dword [ebp - 0x814]
mov edx, dword [ecx + esi - 0x18]
add eax, edi
cmp eax, edx
cmovb edx, eax
mov dword [ebp - 0x82c], edx
cmp edi, edx
jae 0x41a71f
lea eax, [ecx - 0x10]
add eax, esi
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x828], eax
lea edx, [edi*4]
test edi, edi
jne 0x41a240
mov edi, dword [ebp - 0x808]
xor eax, eax
mov edi, dword [edi]
mov dword [ebp - 0x810], edi
jmp 0x41a25f
mov eax, dword [eax]
mov esi, dword [ebp - 0x828]
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x808], esi
mov eax, dword [eax + edx - 4]
mov esi, dword [ebp - 0x838]
inc eax
mov edi, dword [ebp - 0x810]
mov dword [ebp - 0x814], eax
mov edx, dword [edi + edx]
mov edi, dword [ebp - 0x824]
cmp eax, edx
ja 0x41a706
cmp edx, dword [ecx + esi - 0x24]
ja 0x41a706
add eax, 0x10000
cmp eax, edx
push 1
cmovb edx, eax
mov eax, dword [ecx + esi - 0x1c]
mov ecx, dword [ebp - 0x814]
add ecx, eax
mov dword [ebp - 0x3c], edx
add eax, edx
mov dword [ebp - 0x834], ecx
push eax
push ecx
call fcn.004c0680
xor esi, esi
push esi
call fcn.004a3820
add esp, 0x10
test al, al
je 0x41a316
call fcn.0049cbe0
test al, al
je 0x41a316
lea eax, [ebp - 0xaa8]
push eax
call fcn.004932c0
movss xmm0, dword [eax + 4]
lea eax, [ebp - 0xa90]
push eax
movss dword [ebp - 0x830], xmm0
call fcn.004932c0
movss xmm0, dword [ebp - 0x830]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax]
movss dword [esp], xmm0
push 1
push dword [ebp - 0x83c]
call fcn.0042e100
add esp, 0x10
mov esi, eax
mov eax, dword [0x5d0178]
cmp dword [eax + 0x7d0], edi
jne 0x41a45d
cmp dword [eax + 0x7d4], 0xffffffff
jne 0x41a45d
lea eax, [ebp - 0x214]
push eax
push 2
call fcn.004b0910
push 0
push 0
push str.match_right_click
call fcn.00497380
add esp, 0x14
test al, al
je 0x41a435
lea eax, [ebp - 0x8b4]
mov dword [ebp - 0x8b4], 0
push eax
push 0
push 0
push dword [0x531c58]
mov dword [ebp - 0x8b0], 0
call fcn.004b5d90
test al, al
mov dword [ebp - 0x8bc], 0
mov eax, 0x7d0
mov dword [ebp - 0x8b8], 0
cmovne esi, eax
lea eax, [ebp - 0x8bc]
push eax
push 0
push 0
push dword [0x531c7c]
call fcn.004b5d90
test al, al
mov dword [ebp - 0x8c4], 0
mov eax, 0x7d3
mov dword [ebp - 0x8c0], 0
cmovne esi, eax
lea eax, [ebp - 0x8c4]
push eax
push 0
push 0
push dword [0x531c78]
call fcn.004b5d90
test al, al
mov dword [ebp - 0x8cc], 0
mov eax, 0x7d2
mov dword [ebp - 0x8c8], 0
cmovne esi, eax
lea eax, [ebp - 0x8cc]
push eax
push 0
push 0
push dword [0x531c80]
call fcn.004b5d90
add esp, 0x40
test al, al
mov eax, 0x7d4
cmovne esi, eax
call fcn.0048eca0
jmp 0x41a453
mov eax, dword [0x5d0178]
mov dword [eax + 0x7d0], 0
mov eax, dword [0x5d0178]
mov dword [eax + 0x7d4], 0
push 1
call fcn.004b00c0
add esp, 4
push 0
call fcn.004a36b0
add esp, 4
test al, al
je 0x41a4c4
mov ecx, dword [ebp - 0x858]
cmp byte [ecx + 0xd84], 0
jne 0x41a4ac
cmp dword [0x606a34], 0
je 0x41a4ac
cmp dword [0x606a38], 0x10
mov eax, 0x606a24
cmovae eax, dword [0x606a24]
movsx eax, byte [eax]
push eax
call fcn.004e070c
add esp, 4
cmp eax, 0x66
je 0x41a4b1
cmp eax, 0x30
je 0x41a4b1
mov esi, 0x7d0
mov eax, dword [ebp - 0x858]
cmp byte [eax + 0xd85], 0
jne case.0x41a4d3.2004
add esi, 0xfffff830
cmp esi, 4
ja case.0x41a4d3.2001
jmp dword [esi*4 + 0x41ab64]
mov esi, dword [ebp - 0x838]
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x83c]
push 0
push edi
sub esp, 0x18
mov dword [ebp - 0x814], edx
mov ecx, esp
mov dword [ebp - 0x830], ecx
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [eax + esi - 0x28], 0x10
jb 0x41a525
mov edx, dword [edx]
mov dword [ebp - 0x814], edx
jmp 0x41a52b
mov edx, dword [ebp - 0x814]
mov eax, dword [eax + esi - 0x2c]
mov dword [ebp - 0x820], eax
cmp eax, 0x7fffffff
ja 0x41a9fd
cmp eax, 0x10
jae 0x41a56a
push 0x10
push edx
mov dword [ecx + 0x10], eax
push ecx
mov dword [ecx + 0x14], 0xf
call fcn.004d6030
add esp, 0xc
push 1
call fcn.004107d0
add esp, 0x24
jmp 0x41a700
or eax, 0xf
mov dword [ecx + 0x14], 0xf
cmp eax, 0x7fffffff
jbe 0x41a582
mov eax, 0x7fffffff
jmp 0x41a58d
cmp eax, 0x16
mov edx, 0x16
cmovb eax, edx
mov dword [ebp - 0x810], eax
inc eax
push eax
call fcn.00421c20
mov ecx, dword [ebp - 0x830]
mov edx, dword [ebp - 0x820]
mov dword [ecx], eax
mov dword [ecx + 0x10], edx
mov edx, dword [ebp - 0x810]
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp - 0x820]
inc ecx
push ecx
push dword [ebp - 0x814]
push eax
call fcn.004d6030
add esp, 0xc
push 1
call fcn.004107d0
add esp, 0x24
jmp 0x41a700
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x814]
push eax
push dword [ebp - 0x834]
call fcn.00430c40
add esp, 8
jmp case.0x41a4d3.2001
mov esi, dword [ebp - 0x838]
mov eax, dword [ebp - 0x818]
mov ecx, dword [ebp - 0x83c]
mov edx, ecx
cmp dword [eax + esi - 0x28], 0x10
jb 0x41a614
mov edx, dword [ecx]
push dword [eax + esi - 0x2c]
push edx
call fcn.00430c40
add esp, 8
jmp 0x41a700
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x818]
mov edx, dword [ebp - 0x83c]
push 0
push edi
sub esp, 0x18
mov dword [ebp - 0x810], edx
mov esi, esp
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ecx + eax - 0x28], 0x10
jb 0x41a66b
mov edx, dword [ecx + eax - 0x3c]
mov dword [ebp - 0x810], edx
mov eax, dword [ecx + eax - 0x2c]
mov dword [ebp - 0x830], eax
cmp eax, 0x7fffffff
ja 0x41a9fd
cmp eax, 0x10
jae 0x41a69a
push 0x10
push edx
mov dword [esi + 0x10], eax
push esi
mov dword [esi + 0x14], 0xf
call fcn.004d6030
jmp 0x41a6ed
mov edi, eax
mov dword [esi + 0x14], 0xf
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x41a6b5
mov edi, 0x7fffffff
jmp 0x41a6c0
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.00421c20
mov ecx, dword [ebp - 0x830]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
inc ecx
push ecx
push dword [ebp - 0x810]
mov dword [esi + 0x14], edi
push eax
call fcn.004d6030
mov edi, dword [ebp - 0x824]
add esp, 0xc
push 2
call fcn.004107d0
add esp, 0x24
mov esi, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x818]
mov eax, dword [ebp - 0x828]
inc edi
mov dword [ebp - 0x824], edi
cmp edi, dword [ebp - 0x82c]
jb 0x41a223
mov eax, dword [ecx + esi - 0x18]
inc eax
push ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x81c]
movss dword [esp], xmm0
call fcn.004b6e50
mov edi, dword [ebp - 0x818]
movss xmm0, dword [edi + esi - 8]
movss dword [esp], xmm0
call fcn.004b6e00
mov eax, dword [edi + esi - 0xc]
add esp, 4
cmp eax, 0xffffffff
je 0x41a7a7
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
addsd xmm0, qword [eax*8 + 0x5396a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x81c]
movss dword [esp], xmm0
call fcn.004b76e0
add esp, 4
mov dword [edi + esi - 0xc], 0xffffffff
call fcn.0048e660
call fcn.0048f710
push 1
call fcn.004b00c0
mov edi, dword [0x5d0178]
add esp, 4
cmp byte [ebp - 0x2c], 0
mov dword [ebp - 0x81c], edi
jne 0x41a934
add esi, dword [edi + 0x524]
lea ecx, [esi - 0x3c]
mov dword [ebp - 0x844], ecx
cmp ecx, esi
je 0x41a934
mov eax, dword [edi + 0x528]
mov dword [ebp - 0x834], eax
cmp esi, eax
je 0x41a8f4
lea edi, [ecx + 0x20]
add esi, 0x2c
lea eax, [esi - 0x2c]
cmp ecx, eax
je 0x41a81d
cmp dword [esi - 0x18], 0x10
lea eax, [esi - 0x2c]
jb 0x41a814
mov eax, dword [eax]
push dword [esi - 0x1c]
push eax
call fcn.00421eb0
mov edx, dword [esi - 0x14]
mov ecx, dword [edi - 4]
mov dword [ebp - 0x3c], edx
cmp edx, ecx
jbe 0x41a879
test ecx, ecx
je 0x41a839
lea eax, [ecx + ecx]
mov dword [ebp - 0x814], eax
jmp 0x41a843
mov dword [ebp - 0x814], 8
cmp dword [ebp - 0x814], edx
mov eax, edx
cmova eax, dword [ebp - 0x814]
mov dword [ebp - 0x830], eax
cmp eax, ecx
jbe 0x41a879
push eax
push dword [edi]
call fcn.004e009e
add esp, 8
test eax, eax
je 0x41a891
mov edx, dword [ebp - 0x3c]
mov dword [edi], eax
mov eax, dword [ebp - 0x830]
mov dword [edi - 4], eax
mov dword [edi - 8], edx
mov eax, dword [esi - 0x14]
test eax, eax
je 0x41a891
push eax
push dword [esi - 0xc]
push dword [edi]
call fcn.004d6030
add esp, 0xc
push dword [esi - 8]
lea ecx, [edi + 4]
call fcn.00422a90
test al, al
je 0x41a8b8
mov eax, dword [esi - 8]
test eax, eax
je 0x41a8b8
shl eax, 2
push eax
push dword [esi]
push dword [esi - 0x3c]
call fcn.004d6030
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x844]
mov dword [edi + 0x10], eax
add ecx, 0x3c
mov eax, dword [esi + 8]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0xc]
add esi, 0x3c
mov dword [edi + 0x18], eax
add edi, 0x3c
mov dword [ebp - 0x844], ecx
lea eax, [esi - 0x2c]
cmp eax, dword [ebp - 0x834]
jne 0x41a802
mov edi, dword [ebp - 0x81c]
mov eax, dword [edi + 0x528]
mov esi, ecx
mov dword [ebp - 0x830], eax
cmp ecx, eax
je 0x41a922
mov edi, eax
mov ecx, esi
call fcn.00405080
add esi, 0x3c
cmp esi, edi
jne 0x41a908
mov ecx, dword [ebp - 0x844]
mov edi, dword [ebp - 0x81c]
mov dword [edi + 0x528], ecx
mov edi, dword [0x5d0178]
mov dword [ebp - 0x81c], edi
mov eax, dword [ebp - 0x85c]
sub eax, 1
mov dword [ebp - 0x85c], eax
jne 0x419f32
call fcn.0048f600
mov eax, dword [0x5d0178]
mov byte [ebp - 4], 0x42
mov byte [eax + 0x538], 0
mov ecx, dword [ebp - 0x144]
cmp ecx, 0x10
jb 0x41a998
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a98e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ab5e
push ecx
push edx
call fcn.004d36cd
add esp, 8
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
mov byte [0x5d0182], 1
push 1
mov byte [ebp - 4], 0x49
call fcn.004b0070
add esp, 4
mov byte [0x5d0186], 0
mov byte [0x5d01c4], 0
mov dword [ebp - 4], 0x4a
call fcn.0048e430
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
call fcn.00421be0
call fcn.00421c10
push 0x601d20
call fcn.004d3a5f
add esp, 4
cmp dword [0x601d20], 0xffffffff
jne 0x4156fd
mov edx, dword [str.PCRE2_REGULAR_EXPRESSION_SYNTAX_SUMMARY_nVersion_10.42__2022_12_11_n_nQUOTING_n__x_________where_x_is_non_alphanumeric_is_a_literal_x_n__Q...E____treat_enclosed_characters_as_literal_n_nESCAPED_CHARACTERS_nThis_table_applies_to_ASCII_and_Unicode_environments._An_unrecognized_escape_sequence_causes_an_error._n_n___a_________alarm__that_is__the_BEL_character__hex_07__n__cx_________control_x___where_x_is_any_ASCII_printing_character_n__e_________escape__hex_1B__n___f_________form_feed__hex_0C__n___n_________newline__hex_0A__n___r_________carriage_return__hex_0D__n___t_________tab__hex_09__n__0dd_______character_with_octal_code_0dd_n__ddd_______character_with_octal_code_ddd__or_backreference_n__oddd..__character_with_octal_code_ddd.._n__NUhh.._character_with_Unicode_code_point_hh..__Unicode_mode_only__n__xhh_______character_with_hex_code_hh_n__xhh..___character_with_hex_code_hh.._nIf_PCRE2_ALT_BSUX_or_PCRE2_EXTRA_ALT_BSUX_is_set___ALT_BSUX_mode____the_following_are_also_recognized:_n__U_________the_character__U__n__uhhhh_____character_with_hex_code_hhhh_n__uhh..___character_with_hex_code_hh.._but_only_for_EXTRA_ALT_BSUX_n_nWhen_x_is_not_followed_by___from_zero_to_two_hexadecimal_digits_are_read__but_nin_ALT_BSUX_mode_x_must_be_followed_by_two_hexadecimal_digits_to_be_recognized_nas_a_hexadecimal_escape__otherwise_it_matches_a_literal__x_._Likewise__if_u__in_nALT_BSUX_mode__is_not_followed_by_four_hexadecimal_digits_or__in_EXTRA_ALT_BSUX_nmode__a_sequence_of_hex_digits_in_curly_brackets__it_matches_a_literal__u_._n_nNote_that_0dd_is_always_an_octal_code._The_treatment_of_backslash_followed_by_a_nnon_zero_digit_is_complicated__for_details_see_the_section__Non_printing_ncharacters__in_the_pcre2pattern_documentation__where_details_of_escape_nprocessing_in_EBCDIC_environments_are_also_given._NUhh.._is_synonymous_with_nxhh.._in_PCRE2_but_is_not_supported_in_EBCDIC_environments._Note_that_N_not_nfollowed_by_an_opening_curly_bracket_has_a_different_meaning__see_below_._n_n_nCHARACTER_TYPES_n__.__________any_character_except_newline__n_______________in_dotall_mode__any_character_whatsoever_n__C_________one_code_unit__even_in_UTF_mode__best_avoided__n__d_________a_decimal_digit_n__D_________a_character_that_is_not_a_decimal_digit_n__h_________a_horizontal_white_space_character_n__H_________a_character_that_is_not_a_horizontal_white_space_character_n__N_________a_character_that_is_not_a_newline_n__pxx_____a_character_with_the_xx_property_n__Pxx_____a_character_without_the_xx_property_n__R_________a_newline_sequence_n___s_________a_white_space_character_n__S_________a_character_that_is_not_a_white_space_character_n___v_________a_vertical_white_space_character_n__V_________a_character_that_is_not_a_vertical_white_space_character_n__w_________a__word__character_n__W_________a__non_word__character_n__X_________a_Unicode_extended_grapheme_cluster_nC_is_dangerous_because_it_may_leave_the_current_matching_point_in_the_middle_of_na_UTF_8_or_UTF_16_character._The_application_can_lock_out_the_use_of_C_by_nsetting_the_PCRE2_NEVER_BACKSLASH_C_option._It_is_also_possible_to_build_PCRE2_nwith_the_use_of_C_permanently_disabled._n_nBy_default__d___s__and_w_match_only_ASCII_characters__even_in_UTF_8_mode_or_in_nthe_16_bit_and_32_bit_libraries._However__if_locale_specific_matching_is_nhappening___s_and_w_may_also_match_characters_with_code_points_in_the_range_n128_255._If_the_PCRE2_UCP_option_is_set__the_behaviour_of_these_escape_sequences_nis_changed_to_use_Unicode_properties_and_they_match_many_more_characters._n_n_nGENERAL_CATEGORY_PROPERTIES_FOR_p_and_P_n__C__________Other_n__Cc_________Control_n__Cf_________Format_n__Cn_________Unassigned_n__Co_________Private_use_n__Cs_________Surrogate_n_n__L__________Letter_n__Ll_________Lower_case_letter_n__Lm_________Modifier_letter_n__Lo_________Other_letter_n__Lt_________Title_case_letter_n__Lu_________Upper_case_letter_n__L_________Ll__Lu__or_Lt_n_n__M__________Mark_n__Mc_________Spacing_mark_n]
mov ecx, edx
lea esi, [ecx + 1]
jmp 0x4156f0
sub ecx, esi
push 0x601d20
lea eax, [edx + ecx]
mov dword [0x601d1c], eax
call fcn.004d3a15
mov esi, dword [0x612594]
add esp, 4
jmp 0x4156fd
push 0x601d28
call fcn.004d3a5f
add esp, 4
cmp dword [0x601d28], 0xffffffff
jne 0x41572d
mov edx, dword [str._nANCHORS_AND_SIMPLE_ASSERTIONS_n___b__________word_boundary_n__B__________not_a_word_boundary_n_____________start_of_subject_n________________also_after_an_internal_newline_in_multiline_mode_n_________________after_any_newline_if_PCRE2_ALT_CIRCUMFLEX_is_set__n__A__________start_of_subject_n______________end_of_subject_n________________also_before_newline_at_end_of_subject_n________________also_before_internal_newline_in_multiline_mode_n__Z__________end_of_subject_n________________also_before_newline_at_end_of_subject_n__z__________end_of_subject_n__G__________first_matching_position_in_subject_n_nREPORTED_MATCH_POINT_SETTING_n__K__________set_reported_start_of_match_nFrom_release_10.38_K_is_not_permitted_by_default_in_lookaround_assertions__for_ncompatibility_with_Perl._However__if_the_PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK_option_nis_set__the_previous_behaviour_is_re_enabled._When_this_option_is_set__K_is_nhonoured_in_positive_assertions__but_ignored_in_negative_ones._n_nALTERNATION_n__exprexprexpr..._n_nCAPTURING_n___...____________capture_group_n_____name_..._____named_capture_group__Perl__n____name..._____named_capture_group__Perl__n____P_name_...____named_capture_group__Python__n____:...__________non_capture_group_n____...__________non_capture_group__reset_group_numbers_for_n___________________capture_groups_in_each_alternative_nIn_non_UTF_modes__names_may_contain_underscores_and_ASCII_letters_and_digits__in_nUTF_modes__any_Unicode_letters_and_Unicode_decimal_digits_are_permitted._In_both_ncases__a_name_must_not_start_with_a_digit._n_nATOMIC_GROUPS_n_____...__________atomic_non_capture_group_n___atomic:...____atomic_non_capture_group_n_nCOMMENT_n____...._________comment__not_nestable__n_nOPTION_SETTING_nChanges_of_these_options_within_a_group_are_automatically_cancelled_at_the_end_of_the_group._n_n____i_____________caseless_n____J_____________allow_duplicate_named_groups_n____m_____________multiline_n____n_____________no_auto_capture_n____s_____________single_line__dotall__n____U_____________default_ungreedy__lazy__n____x_____________extended:_ignore_white_space_except_in_classes_n____xx____________as___x__but_also_ignore_space_and_tab_in_classes_n_____...__________unset_option_s__n_________________unset_imnsx_options_nUnsetting_x_or_xx_unsets_both._Several_options_may_be_set_at_once__and_a_mixture_nof_setting_and_unsetting_such_as___i_x__is_allowed__but_there_may_be_only_one_nhyphen._Setting__but_no_unsetting__is_allowed_after____for_example___in_._An_noption_setting_may_appear_at_the_start_of_a_non_capture_group__for_example___i:..._._n_n_nThe_following_are_recognized_only_at_the_very_start_of_a_pattern_or_after_one_of_nthe_newline_or_R_options_with_similar_syntax._More_than_one_of_them_may_appear._nFor_the_first_three__d_is_a_decimal_number._n_n___LIMIT_DEPTHd__set_the_backtracking_limit_to_d_n___LIMIT_HEAPd___set_the_heap_size_limit_to_d__1024_bytes_n___LIMIT_MATCHd__set_the_match_limit_to_d_n___NOTEMPTY_______set_PCRE2_NOTEMPTY_when_matching_n___NOTEMPTY_ATSTART__set_PCRE2_NOTEMPTY_ATSTART_when_matching_n___NO_AUTO_POSSESS__no_auto_possessification__PCRE2_NO_AUTO_POSSESS__n___NO_DOTSTAR_ANCHOR__no_._anchoring__PCRE2_NO_DOTSTAR_ANCHOR__n___NO_JIT________disable_JIT_optimization_n___NO_START_OPT__no_start_match_optimization__PCRE2_NO_START_OPTIMIZE__n___UTF___________set_appropriate_UTF_mode_for_the_library_in_use_n___UCP___________set_PCRE2_UCP__use_Unicode_properties_for_d_etc__n_nNote_that_LIMIT_DEPTH__LIMIT_HEAP__and_LIMIT_MATCH_can_only_reduce_the_value_of_nthe_limits_set_by_the_caller_of_pcre2_match___or_pcre2_dfa_match____not_increase_nthem._LIMIT_RECURSION_is_an_obsolete_synonym_for_LIMIT_DEPTH._The_application_ncan_lock_out_the_use_of__UTF__and__UCP__by_setting_the_PCRE2_NEVER_UTF_or_nPCRE2_NEVER_UCP_options__respectively__at_compile_time._n_nNEWLINE_CONVENTION_nThese_are_recognized_only_at_the_very_start_of_the_pattern_or_after_option_nsettings_with_a_similar_syntax._n_n___CR____________carriage_return_only_n___LF____________linefeed_only_n___CRLF_]
mov ecx, edx
lea esi, [ecx + 1]
jmp 0x415720
sub ecx, esi
push 0x601d28
lea eax, [edx + ecx]
mov dword [0x601d24], eax
call fcn.004d3a15
add esp, 4
jmp 0x41572d
push 0x601d34
call fcn.004d3a5f
add esp, 4
cmp dword [0x601d34], 0xffffffff
jne 0x4167f1
cmp dword [0x606798], 0x10
mov eax, 0x606784
mov dword [ebp - 4], 0x2c
cmovae eax, dword [0x606784]
push eax
call fcn.0049cd30
push 0x601d34
mov dword [0x601d2c], eax
mov dword [0x601d30], edx
mov dword [ebp - 4], 0xffffffff
call fcn.004d3a15
add esp, 8
jmp 0x4167f1
push 0x601d4c
call fcn.004d3a5f
add esp, 4
cmp dword [0x601d4c], 0xffffffff
jne 0x417f1d
mov eax, dword fs:[0x2c]
push 0x502c70
mov eax, dword [eax + edi*4]
add eax, 8
mov dword [0x5d0160], 0
mov dword [0x5d015c], eax
mov dword [0x5d0170], 0
mov dword [0x5d0174], 0xf
call fcn.004d3917
push 0x601d4c
call fcn.004d3a15
add esp, 8
jmp 0x417f1d
call fcn.004d826f
nop
fisub dword [ecx + eax*2 + 0x41a6fa00]
add bh, dh
movsd dword es:[edi], dword [esi]
inc ecx
add dl, bl
movsd dword es:[edi], dword [esi]
inc ecx
add byte [esi], ah
cmpsb byte [esi], byte es:[edi]
inc ecx
add ah, cl
int3