Function at 0x100549a0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b46c5
mov eax, dword fs:[0]
push eax
mov eax, 0x1898
call fcn.100ae5c0
mov eax, dword [0x100d99c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd4], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x294], 0x69746e61
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x290], 0x6d69612d
mov byte [ebp - 0x28c], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x894], xmm0
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x880], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054a20
sub ecx, edx
lea eax, [ebp - 0x294]
push ecx
push eax
lea ecx, [ebp - 0x894]
call fcn.1001d5b0
lea eax, [ebp - 0x894]
mov dword [ebp - 4], 0
cmp dword [ebp - 0xd4], eax
je 0x10054a71
cmp dword [ebp - 0x880], 0x10
push dword [ebp - 0x884]
cmovae eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0xd4]
push eax
call fcn.10025620
mov ecx, dword [ebp - 0x880]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x10054ab2
mov edx, dword [ebp - 0x894]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054aa8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055175
push ecx
push edx
call fcn.100ae001
add esp, 8
mov esi, dword [ebp - 0xd4]
lea ecx, [ebp - 0x178]
xorps xmm0, xmm0
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x880], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x894], 0
add esi, 0x30
mov dword [ebp - 0x178], 0x62616e65
mov word [ebp - 0x174], 0x656c
mov byte [ebp - 0x172], 0
movups xmmword [ebp - 0x84c], xmm0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x838], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054b17
sub ecx, edx
lea eax, [ebp - 0x178]
push ecx
push eax
lea ecx, [ebp - 0x84c]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x180], 0x62616e65
mov word [ebp - 0x17c], 0x656c
lea edx, [ecx + 1]
mov byte [ebp - 0x17a], 0
movups xmmword [ebp - 0x8ac], xmm0
mov dword [ebp - 0x89c], 0
mov dword [ebp - 0x898], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054b80
sub ecx, edx
lea eax, [ebp - 0x180]
push ecx
push eax
lea ecx, [ebp - 0x8ac]
call fcn.1001d5b0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0x84c]
mov byte [ebp - 4], 2
lea ecx, [eax + 0x68]
cmp ecx, edx
je 0x10054bd5
cmp dword [ebp - 0x838], 0x10
mov eax, edx
push dword [ebp - 0x83c]
cmovae eax, dword [ebp - 0x84c]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0xa0]
mov byte [eax + 0x99], 1
lea edx, [ebp - 0x8ac]
cmp ecx, edx
je 0x10054c0e
cmp dword [ebp - 0x898], 0x10
mov eax, edx
push dword [ebp - 0x89c]
cmovae eax, dword [ebp - 0x8ac]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x9c], 0
mov ecx, dword [ebp - 0x898]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x10054c53
mov edx, dword [ebp - 0x8ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054c49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055175
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x838]
mov dword [ebp - 0x89c], 0
mov dword [ebp - 0x898], 0xf
mov byte [ebp - 0x8ac], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x10054caf
mov edx, dword [ebp - 0x84c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054ca5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055175
push ecx
push edx
call fcn.100ae001
add esp, 8
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x40], esi
mov esi, dword [ebp - 0xd4]
mov edi, esi
mov dword [ebp - 0x83c], 0
add edi, 0x18
mov dword [ebp - 0x838], 0xf
mov byte [ebp - 0x84c], 0
mov dword [eax + 0x48], 0
imul eax, dword [eax + 0x48], 0xeb
add eax, 0x14
mov dword [esi + 0x34], eax
mov eax, esi
mov dword [eax + 0x3c], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x4c], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10054d14
mov eax, dword [ebp - 0x40]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10054d20
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
add esi, 0x2274
mov dword [ebp - 0x164], 0xd8dfc5c8
mov dword [ebp - 0x160], 0xc5d8dec3
xor eax, eax
mov word [ebp - 0x15c], 0xc2c3
mov byte [ebp - 0x15a], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x164], 0xac
inc eax
cmp eax, 0xb
jb 0x10054d50
xorps xmm0, xmm0
mov dword [ebp - 0x86c], 0
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x868], 0
movups xmmword [ebp - 0x87c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054d85
sub ecx, edx
lea eax, [ebp - 0x164]
push ecx
push eax
lea ecx, [ebp - 0x87c]
call fcn.1001d5b0
mov dword [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x158], 0xd8dfc5c8
mov dword [ebp - 0x154], 0xc5d8dec3
mov word [ebp - 0x150], 0xc2c3
mov byte [ebp - 0x14e], 0xac
nop
xor byte [ebp + eax - 0x158], 0xac
inc eax
cmp eax, 0xb
jb 0x10054dd0
xorps xmm0, xmm0
mov dword [ebp - 0x824], 0
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x820], 0
movups xmmword [ebp - 0x834], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054e05
sub ecx, edx
lea eax, [ebp - 0x158]
push ecx
push eax
lea ecx, [ebp - 0x834]
call fcn.1001d5b0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0x87c]
mov byte [ebp - 4], 4
lea ecx, [eax + 0x22ac]
cmp ecx, edx
je 0x10054e5d
cmp dword [ebp - 0x868], 0x10
mov eax, edx
push dword [ebp - 0x86c]
cmovae eax, dword [ebp - 0x87c]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0x22e4]
mov byte [eax + 0x22dd], 1
lea edx, [ebp - 0x834]
cmp ecx, edx
je 0x10054e96
cmp dword [ebp - 0x820], 0x10
mov eax, edx
push dword [ebp - 0x824]
cmovae eax, dword [ebp - 0x834]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x22e0], 0
mov ecx, dword [ebp - 0x820]
mov byte [ebp - 4], 3
cmp ecx, 0x10
jb 0x10054edb
mov edx, dword [ebp - 0x834]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054ed1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055175
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x868]
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x820], 0xf
mov byte [ebp - 0x834], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x10054f37
mov edx, dword [ebp - 0x87c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054f2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055175
push ecx
push edx
call fcn.100ae001
add esp, 8
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0x86c], 0
mov dword [ebp - 0x868], 0xf
mov byte [ebp - 0x87c], 0
mov dword [eax + 0x228c], 0
imul eax, dword [eax + 0x228c], 0xeb
add eax, 0x14
mov dword [esi + 0x2278], eax
mov eax, esi
mov dword [eax + 0x2280], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x2290], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x10054fa6
mov eax, dword [ebp - 0x50]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10054fb2
lea eax, [ebp - 0x50]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
movaps xmm0, xmmword [0x100bcaf0]
lea ecx, [ebp - 0xf5c]
pxor xmm0, xmmword [0x100bb620]
lea edx, [ecx + 1]
movups xmmword [ebp - 0xf5c], xmm0
mov dword [ebp - 0x80c], 0
add esi, 0x2384
xorps xmm0, xmm0
mov dword [ebp - 0x808], 0
movups xmmword [ebp - 0x81c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054ff5
sub ecx, edx
lea eax, [ebp - 0xf5c]
push ecx
push eax
lea ecx, [ebp - 0x81c]
call fcn.1001d5b0
movaps xmm0, xmmword [0x100bcae0]
lea ecx, [ebp - 0xf6c]
pxor xmm0, xmmword [0x100bb620]
lea edx, [ecx + 1]
movups xmmword [ebp - 0xf6c], xmm0
mov dword [ebp - 4], 5
xorps xmm0, xmm0
mov dword [ebp - 0x854], 0
movups xmmword [ebp - 0x864], xmm0
mov dword [ebp - 0x850], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055055
sub ecx, edx
lea eax, [ebp - 0xf6c]
push ecx
push eax
lea ecx, [ebp - 0x864]
call fcn.1001d5b0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0x81c]
mov byte [ebp - 4], 6
lea ecx, [eax + 0x23bc]
cmp ecx, edx
je 0x100550ad
cmp dword [ebp - 0x808], 0x10
mov eax, edx
push dword [ebp - 0x80c]
cmovae eax, dword [ebp - 0x81c]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0x23f4]
mov byte [eax + 0x23ed], 1
lea edx, [ebp - 0x864]
cmp ecx, edx
je 0x100550e6
cmp dword [ebp - 0x850], 0x10
mov eax, edx
push dword [ebp - 0x854]
cmovae eax, dword [ebp - 0x864]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x23f0], 0
mov ecx, dword [ebp - 0x850]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x10055127
mov edx, dword [ebp - 0x864]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005511d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055175
push ecx
push edx
call fcn.100ae001
add esp, 8
mov ecx, dword [ebp - 0x808]
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x850], 0xf
mov byte [ebp - 0x864], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x10055185
mov edx, dword [ebp - 0x81c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005517b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005517b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100ae001
add esp, 8
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0x23dc]
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x808], 0xf
mov byte [ebp - 0x81c], 0
mov dword [ebp - 0x90], 0x100295a0
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x100551ca
mov dword [edx], 0x100295a0
add dword [ecx + 4], 4
jmp 0x100551dd
lea eax, [ebp - 0x90]
push eax
push edx
call fcn.1001d660
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0xd4]
mov dword [eax + 0x239c], 0
imul eax, dword [eax + 0x239c], 0xeb
add eax, 0x14
mov dword [esi + 0x2388], eax
mov eax, esi
mov dword [eax + 0x2390], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x23a0], eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x1005522b
mov eax, dword [ebp - 0x4c]
mov dword [ecx], eax
add dword [edi + 4], 4
jmp 0x10055237
lea eax, [ebp - 0x4c]
push eax
push ecx
mov ecx, edi
call fcn.1001d660
add esi, 0x240c
mov dword [ebp - 0x214], 0xd8dfc5c8
mov dword [ebp - 0x210], 0xdec3caf3
xor eax, eax
mov dword [ebp - 0x20c], 0xd9d8c9cf
mov word [ebp - 0x208], 0xc2de
mov byte [ebp - 0x206], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x214], 0xac
inc eax
cmp eax, 0xf
jb 0x10055270
xorps xmm0, xmm0
mov dword [ebp - 0x92c], 0
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x928], 0
movups xmmword [ebp - 0x93c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100552a5
sub ecx, edx
lea eax, [ebp - 0x214]
push ecx
push eax
lea ecx, [ebp - 0x93c]
call fcn.1001d5b0
mov dword [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x140], 0xcfdec3ca
mov dword [ebp - 0x13c], 0xd9d88cc9
mov word [ebp - 0x138], 0xc2de
mov byte [ebp - 0x136], 0xac
nop
xor byte [ebp + eax - 0x140], 0xac
inc eax
cmp eax, 0xb
jb 0x100552f0
xorps xmm0, xmm0
mov dword [ebp - 0x914], 0
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x910], 0
movups xmmword [ebp - 0x924], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055325
sub ecx, edx
lea eax, [ebp - 0x140]
push ecx
push eax
lea ecx, [ebp - 0x924]
call fcn.1001d5b0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0x93c]
mov byte [ebp - 4], 8
lea ecx, [eax + 0x2444]
cmp ecx, edx
je 0x1005537d
cmp dword [ebp - 0x928], 0x10
mov eax, edx
push dword [ebp - 0x92c]
cmovae eax, dword [ebp - 0x93c]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0x247c]
mov byte [eax + 0x2475], 1
lea edx, [ebp - 0x924]
cmp ecx, edx
je 0x100553b6
cmp dword [ebp - 0x910], 0x10
mov eax, edx
push dword [ebp - 0x914]
cmovae eax, dword [ebp - 0x924]
push eax
call fcn.10025620
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x924]
mov byte [eax + 0x2478], 0
call fcn.1001f960
lea ecx, [ebp - 0x93c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + 0x2464]
mov dword [ebp - 0x6c], 0x100295a0
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x10055401
mov dword [edx], 0x100295a0
add dword [ecx + 4], 4
jmp 0x10055411
lea eax, [ebp - 0x6c]
push eax
push edx
call fcn.1001d660
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0xd4]
mov edi, esi
mov dword [eax + 0x2424], 0
imul eax, dword [eax + 0x2424], 0xeb
add eax, 0x14
mov dword [esi + 0x2410], eax
mov eax, esi
lea esi, [edi + 0x18]
mov dword [eax + 0x2418], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x2428], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10055464
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10055470
lea eax, [ebp - 0x30]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x7a4], 0x25
lea ecx, [ebp - 0x7a4]
mov dword [ebp - 0x95c], 0
movups xmmword [ebp - 0x96c], xmm0
mov dword [ebp - 0x958], 0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100554a1
sub ecx, edx
lea eax, [ebp - 0x7a4]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x96c]
call fcn.1003d410
movaps xmm0, xmmword [0x100bcf80]
lea ecx, [ebp - 0xe44]
pxor xmm0, xmmword [0x100bb620]
lea edx, [ecx + 1]
movups xmmword [ebp - 0xe44], xmm0
mov dword [ebp - 4], 9
xorps xmm0, xmm0
mov byte [ebp - 0xe34], 0
movups xmmword [ebp - 0x954], xmm0
mov dword [ebp - 0x944], 0
mov dword [ebp - 0x940], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055510
sub ecx, edx
lea eax, [ebp - 0xe44]
push ecx
push eax
lea ecx, [ebp - 0x954]
call fcn.1001d5b0
push 5
xorps xmm0, xmm0
mov byte [ebp - 4], 0xa
push str.speed
lea ecx, [ebp - 0xf34]
mov dword [ebp - 0xf24], 0
movups xmmword [ebp - 0xf34], xmm0
mov dword [ebp - 0xf20], 0
call fcn.1001d5b0
lea ecx, [edi + 0x24cc]
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x954]
cmp ecx, eax
je 0x1005558e
cmp dword [ebp - 0x940], 0x10
push dword [ebp - 0x944]
cmovae eax, dword [ebp - 0x954]
push eax
call fcn.10025620
mov byte [edi + 0x24fd], 0
lea ecx, [edi + 0x2534]
mov dword [edi + 0x254c], 0
lea eax, [ebp - 0x96c]
mov dword [edi + 0x24a4], 8
mov dword [edi + 0x24a8], 8
mov dword [edi + 0x2508], 0
mov dword [edi + 0x250c], 0x42c80000
mov dword [edi + 0x2504], 0
mov dword [edi + 0x2518], 0
mov dword [edi + 0x2510], 0x3f800000
cmp ecx, eax
je 0x1005560f
cmp dword [ebp - 0x958], 8
push dword [ebp - 0x95c]
cmovae eax, dword [ebp - 0x96c]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xf34]
call fcn.1001f960
lea ecx, [ebp - 0x954]
call fcn.1001f960
lea ecx, [ebp - 0x96c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea ecx, [edi + 0x24ec]
mov dword [ebp - 0x70], 0x100295a0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10055658
mov dword [eax], 0x100295a0
add dword [ecx + 4], 4
jmp 0x10055662
lea edx, [ebp - 0x70]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x2494]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x24ac], 0
imul eax, dword [edi + 0x24ac], 0xeb
add eax, 0x14
mov dword [edi + 0x2498], eax
mov dword [edi + 0x24a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x24b0], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100556ae
mov eax, dword [ebp - 0x1c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100556ba
lea eax, [ebp - 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x79c], 0xb0
lea ecx, [ebp - 0x79c]
mov dword [ebp - 0x98c], 0
movups xmmword [ebp - 0x99c], xmm0
mov dword [ebp - 0x988], 0
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100556f0
sub ecx, edx
lea eax, [ebp - 0x79c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x99c]
call fcn.1003d410
movaps xmm0, xmmword [0x100bce10]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0xc
mov word [ebp - 0xa2c], 0xacd8
movups xmmword [ebp - 0xa3c], xmm0
nop dword [eax]
xor byte [ebp + eax - 0xa3c], 0xac
inc eax
cmp eax, 0x12
jb 0x10055740
xorps xmm0, xmm0
mov dword [ebp - 0x974], 0
lea ecx, [ebp - 0xa3c]
mov dword [ebp - 0x970], 0
movups xmmword [ebp - 0x984], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055775
sub ecx, edx
lea eax, [ebp - 0xa3c]
push ecx
push eax
lea ecx, [ebp - 0x984]
call fcn.1001d5b0
push 6
xorps xmm0, xmm0
mov byte [ebp - 4], 0xd
push str.amount
lea ecx, [ebp - 0xf4c]
mov dword [ebp - 0xf3c], 0
movups xmmword [ebp - 0xf4c], xmm0
mov dword [ebp - 0xf38], 0
call fcn.1001d5b0
lea ecx, [edi + 0x2644]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x984]
cmp ecx, eax
je 0x100557f3
cmp dword [ebp - 0x970], 0x10
push dword [ebp - 0x974]
cmovae eax, dword [ebp - 0x984]
push eax
call fcn.10025620
mov byte [edi + 0x2675], 0
lea ecx, [edi + 0x26ac]
mov dword [edi + 0x26c4], 0
lea eax, [ebp - 0x99c]
mov dword [edi + 0x261c], 8
mov dword [edi + 0x2620], 8
mov dword [edi + 0x2680], 0
mov dword [edi + 0x2684], 0x43960000
mov dword [edi + 0x267c], 0
mov dword [edi + 0x2690], 0
mov dword [edi + 0x2688], 0x3f800000
cmp ecx, eax
je 0x10055874
cmp dword [ebp - 0x988], 8
push dword [ebp - 0x98c]
cmovae eax, dword [ebp - 0x99c]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xf4c]
call fcn.1001f960
lea ecx, [ebp - 0x984]
call fcn.1001f960
lea ecx, [ebp - 0x99c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea ecx, [edi + 0x2664]
mov dword [ebp - 0x94], 0x100295a0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x100558c0
mov dword [eax], 0x100295a0
add dword [ecx + 4], 4
jmp 0x100558cd
lea edx, [ebp - 0x94]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x260c]
mov dword [ebp - 0x48], eax
mov dword [edi + 0x2624], 0
imul eax, dword [edi + 0x2624], 0xeb
add eax, 0x14
mov dword [edi + 0x2610], eax
mov dword [edi + 0x2618], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2628], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10055919
mov eax, dword [ebp - 0x48]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10055925
lea eax, [ebp - 0x48]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
movaps xmm0, xmmword [0x100bca70]
lea ecx, [ebp - 0xf7c]
pxor xmm0, xmmword [0x100bb620]
lea edx, [ecx + 1]
movups xmmword [ebp - 0xf7c], xmm0
mov dword [ebp - 0x8fc], 0
xorps xmm0, xmm0
mov dword [ebp - 0x8f8], 0
movups xmmword [ebp - 0x90c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055962
sub ecx, edx
lea eax, [ebp - 0xf7c]
push ecx
push eax
lea ecx, [ebp - 0x90c]
call fcn.1001d5b0
movaps xmm0, xmmword [0x100bcdc0]
lea ecx, [ebp - 0xe30]
pxor xmm0, xmmword [0x100bb620]
lea edx, [ecx + 1]
movups xmmword [ebp - 0xe30], xmm0
mov dword [ebp - 4], 0xf
xorps xmm0, xmm0
mov byte [ebp - 0xe20], 0
movups xmmword [ebp - 0x9b4], xmm0
mov dword [ebp - 0x9a4], 0
mov dword [ebp - 0x9a0], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100559d0
sub ecx, edx
lea eax, [ebp - 0xe30]
push ecx
push eax
lea ecx, [ebp - 0x9b4]
call fcn.1001d5b0
lea ecx, [edi + 0x2334]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x90c]
cmp ecx, eax
je 0x10055a1a
cmp dword [ebp - 0x8f8], 0x10
push dword [ebp - 0x8fc]
cmovae eax, dword [ebp - 0x90c]
push eax
call fcn.10025620
lea ecx, [edi + 0x236c]
mov byte [edi + 0x2365], 1
lea eax, [ebp - 0x9b4]
cmp ecx, eax
je 0x10055a4b
cmp dword [ebp - 0x9a0], 0x10
push dword [ebp - 0x9a4]
cmovae eax, dword [ebp - 0x9b4]
push eax
call fcn.10025620
lea ecx, [ebp - 0x9b4]
mov byte [edi + 0x2368], 0
call fcn.1001f960
lea ecx, [ebp - 0x90c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea ecx, [edi + 0x2354]
mov dword [ebp - 0x74], 0x100295a0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10055a90
mov dword [eax], 0x100295a0
add dword [ecx + 4], 4
jmp 0x10055a9a
lea edx, [ebp - 0x74]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x22fc]
mov dword [ebp - 0x44], eax
mov dword [edi + 0x2314], 0
imul eax, dword [edi + 0x2314], 0xeb
add eax, 0x14
mov dword [edi + 0x2300], eax
mov dword [edi + 0x2308], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2318], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10055ae6
mov eax, dword [ebp - 0x44]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10055af2
lea eax, [ebp - 0x44]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x7c4]
mov dword [ebp - 0x7c4], 0x78
push eax
lea ecx, [ebp - 0xce4]
call fcn.1004c860
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x14c], 0xd8dfc5c8
mov dword [ebp - 0x148], 0xcddbcdf3
mov word [ebp - 0x144], 0xd8c5
mov byte [ebp - 0x142], 0xac
nop dword [eax + eax]
xor byte [ebp + eax - 0x14c], 0xac
inc eax
cmp eax, 0xb
jb 0x10055b40
xorps xmm0, xmm0
mov dword [ebp - 0x9bc], 0
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x9b8], 0
movups xmmword [ebp - 0x9cc], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055b75
sub ecx, edx
lea eax, [ebp - 0x14c]
push ecx
push eax
lea ecx, [ebp - 0x9cc]
call fcn.1001d5b0
push 5
xorps xmm0, xmm0
mov byte [ebp - 4], 0x12
push str.await
lea ecx, [ebp - 0xe5c]
mov dword [ebp - 0xe4c], 0
movups xmmword [ebp - 0xe5c], xmm0
mov dword [ebp - 0xe48], 0
call fcn.1001d5b0
lea ecx, [edi + 0x2700]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x9cc]
cmp ecx, eax
je 0x10055bf3
cmp dword [ebp - 0x9b8], 0x10
push dword [ebp - 0x9bc]
cmovae eax, dword [ebp - 0x9cc]
push eax
call fcn.10025620
mov byte [edi + 0x2731], 0
lea ecx, [edi + 0x2768]
mov dword [edi + 0x2780], 0
lea eax, [ebp - 0xce4]
mov dword [edi + 0x26d8], 8
mov dword [edi + 0x26dc], 8
mov dword [edi + 0x273c], 0
mov dword [edi + 0x2740], 0x40a00000
mov dword [edi + 0x2738], 0
mov dword [edi + 0x274c], 0
mov dword [edi + 0x2744], 0x3f800000
cmp ecx, eax
je 0x10055c74
cmp dword [ebp - 0xcd0], 8
push dword [ebp - 0xcd4]
cmovae eax, dword [ebp - 0xce4]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xe5c]
call fcn.1001f960
lea ecx, [ebp - 0x9cc]
call fcn.1001f960
lea ecx, [ebp - 0xce4]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x2720]
mov dword [ebp - 0x78], 0x100295a0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10055cbd
mov dword [ecx], 0x100295a0
add dword [eax + 4], 4
jmp 0x10055ccf
lea edx, [ebp - 0x78]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x2720]
mov dword [ebp - 0x7c], 0x100295b0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10055cea
mov dword [ecx], 0x100295b0
add dword [eax + 4], 4
jmp 0x10055cf6
lea edx, [ebp - 0x7c]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x26c8]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x26e0], 0
imul eax, dword [edi + 0x26e0], 0xeb
add eax, 0x14
mov dword [edi + 0x26cc], eax
mov dword [edi + 0x26d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x26e4], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10055d42
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10055d4e
lea eax, [ebp - 0x2c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x7c0]
mov dword [ebp - 0x7c0], 0x25
push eax
lea ecx, [ebp - 0xcfc]
call fcn.1004c860
movaps xmm0, xmmword [0x100bcb00]
lea ecx, [ebp - 0xf8c]
pxor xmm0, xmmword [0x100bb620]
lea edx, [ecx + 1]
movups xmmword [ebp - 0xf8c], xmm0
mov dword [ebp - 4], 0x14
xorps xmm0, xmm0
mov dword [ebp - 0x9d4], 0
movups xmmword [ebp - 0x9e4], xmm0
mov dword [ebp - 0x9d0], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055db0
sub ecx, edx
lea eax, [ebp - 0xf8c]
push ecx
push eax
lea ecx, [ebp - 0x9e4]
call fcn.1001d5b0
push 0xb
xorps xmm0, xmm0
mov byte [ebp - 4], 0x15
push str.shift_range
lea ecx, [ebp - 0xea4]
mov dword [ebp - 0xe94], 0
movups xmmword [ebp - 0xea4], xmm0
mov dword [ebp - 0xe90], 0
call fcn.1001d5b0
lea ecx, [edi + 0x2588]
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x9e4]
cmp ecx, eax
je 0x10055e2e
cmp dword [ebp - 0x9d0], 0x10
push dword [ebp - 0x9d4]
cmovae eax, dword [ebp - 0x9e4]
push eax
call fcn.10025620
mov byte [edi + 0x25b9], 0
lea ecx, [edi + 0x25f0]
mov dword [edi + 0x2608], 0
lea eax, [ebp - 0xcfc]
mov dword [edi + 0x2560], 8
mov dword [edi + 0x2564], 8
mov dword [edi + 0x25c4], 0
mov dword [edi + 0x25c8], 0x42c80000
mov dword [edi + 0x25c0], 0
mov dword [edi + 0x25d4], 0
mov dword [edi + 0x25cc], 0x3f800000
cmp ecx, eax
je 0x10055eaf
cmp dword [ebp - 0xce8], 8
push dword [ebp - 0xcec]
cmovae eax, dword [ebp - 0xcfc]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xea4]
call fcn.1001f960
lea ecx, [ebp - 0x9e4]
call fcn.1001f960
lea ecx, [ebp - 0xcfc]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x25a8]
mov dword [ebp - 0x80], 0x100295a0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10055ef8
mov dword [ecx], 0x100295a0
add dword [eax + 4], 4
jmp 0x10055f0a
lea edx, [ebp - 0x80]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x25a8]
mov dword [ebp - 0x84], 0x100295b0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10055f28
mov dword [ecx], 0x100295b0
add dword [eax + 4], 4
jmp 0x10055f37
lea edx, [ebp - 0x84]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x2550]
mov dword [ebp - 0x24], eax
mov dword [edi + 0x2568], 0
imul eax, dword [edi + 0x2568], 0xeb
add eax, 0x14
mov dword [edi + 0x2554], eax
mov dword [edi + 0x255c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x256c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10055f83
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10055f8f
lea eax, [ebp - 0x24]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0x65676465
lea ecx, [ebp - 0x12c]
mov byte [ebp - 0x128], 0
movups xmmword [ebp - 0xa14], xmm0
mov dword [ebp - 0xa04], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xa00], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055fc7
sub ecx, edx
lea eax, [ebp - 0x12c]
push ecx
push eax
lea ecx, [ebp - 0xa14]
call fcn.1001d5b0
xorps xmm0, xmm0
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x134], 0x65676465
mov byte [ebp - 0x130], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x9ec], 0
mov dword [ebp - 0x9e8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10056022
sub ecx, edx
lea eax, [ebp - 0x134]
push ecx
push eax
lea ecx, [ebp - 0x9fc]
call fcn.1001d5b0
lea ecx, [edi + 0xf0]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xa14]
cmp ecx, eax
je 0x1005606c
cmp dword [ebp - 0xa00], 0x10
push dword [ebp - 0xa04]
cmovae eax, dword [ebp - 0xa14]
push eax
call fcn.10025620
lea ecx, [edi + 0x128]
mov byte [edi + 0x121], 1
lea eax, [ebp - 0x9fc]
cmp ecx, eax
je 0x1005609d
cmp dword [ebp - 0x9e8], 0x10
push dword [ebp - 0x9ec]
cmovae eax, dword [ebp - 0x9fc]
push eax
call fcn.10025620
lea ecx, [ebp - 0x9fc]
mov byte [edi + 0x124], 0
call fcn.1001f960
lea ecx, [ebp - 0xa14]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f960
lea eax, [edi + 0xb8]
mov dword [ebp - 0x64], eax
mov dword [edi + 0xd0], 0
imul eax, dword [edi + 0xd0], 0xeb
add eax, 0x14
mov dword [edi + 0xbc], eax
mov dword [edi + 0xc4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd4], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005610d
mov eax, dword [ebp - 0x64]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10056119
lea eax, [ebp - 0x64]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x4bc], 0x6e617473
push eax
lea ecx, [ebp - 0x10ac]
mov word [ebp - 0x4b8], 0x64
call fcn.10034dd0
lea eax, [ebp - 0x38c]
mov dword [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x1094]
mov dword [ebp - 0x38c], 0x6b6c6177
mov byte [ebp - 0x388], 0
call fcn.10034dd0
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x107c]
mov dword [ebp - 0x244], 0x726961
call fcn.10034dd0
lea eax, [ebp - 0x795]
mov dword [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x1064]
push ecx
lea edx, [ebp - 0x10ac]
push edx
lea ecx, [ebp - 0xa5c]
call fcn.1004c8f0
lea eax, [ebp - 0x394]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0xd14]
mov dword [ebp - 0x394], 0x65646f6d
mov byte [ebp - 0x390], 0
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1d
push 0x100bbcd7
lea ecx, [ebp - 0xed4]
mov dword [ebp - 0xec4], 0
movups xmmword [ebp - 0xed4], xmm0
mov dword [ebp - 0xec0], 0
call fcn.1001d5b0
lea ecx, [edi + 0x178]
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0xd14]
cmp ecx, eax
je 0x10056238
cmp dword [ebp - 0xd00], 0x10
push dword [ebp - 0xd04]
cmovae eax, dword [ebp - 0xd14]
push eax
call fcn.10025620
mov byte [edi + 0x1a9], 0
mov dword [edi + 0x1dc], 0
mov dword [edi + 0x150], 0x14
mov dword [edi + 0x154], 0x14
mov ecx, dword [ebp - 0xa58]
mov eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x100562b6
lea ecx, [edi + 0x1c8]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0x1cc]
push esi
cmp eax, dword [edi + 0x1d0]
je 0x1005629f
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x1cc], 0x18
jmp 0x100562a5
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x1c8]
cmp esi, dword [ebp - 0x18]
jne 0x10056280
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x1cc]
lea eax, [edi + 0x1c8]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100562e1
mov dword [edi + 0x1d8], 0
lea ecx, [ebp - 0xed4]
call fcn.1001f960
lea ecx, [ebp - 0xd14]
call fcn.1001f960
lea ecx, [ebp - 0xa5c]
call fcn.1003fb10
push fcn.1001f960
push 3
push 0x18
lea eax, [ebp - 0x10ac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [edi + 0x140]
mov dword [ebp - 0x60], eax
mov dword [edi + 0x158], 0
imul eax, dword [edi + 0x158], 0xeb
add eax, 0x14
mov dword [edi + 0x144], eax
mov dword [edi + 0x14c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x15c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005636a
mov eax, dword [ebp - 0x60]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10056376
lea eax, [ebp - 0x60]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x66666f
push eax
lea ecx, [ebp - 0x1304]
call fcn.10034dd0
lea eax, [ebp - 0x39c]
mov dword [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x12ec]
mov dword [ebp - 0x39c], 0x6e776f64
mov byte [ebp - 0x398], 0
call fcn.10034dd0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x12d4]
mov word [ebp - 0x170], 0x7075
mov byte [ebp - 0x16e], 0
call fcn.10034dd0
lea eax, [ebp - 0x574]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x12bc]
mov dword [ebp - 0x574], 0x646e6172
mov word [ebp - 0x570], 0x6d6f
mov byte [ebp - 0x56e], 0
call fcn.10034dd0
lea eax, [ebp - 0x4e4]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x12a4]
mov dword [ebp - 0x4e4], 0x61656469
mov word [ebp - 0x4e0], 0x6c
call fcn.10034dd0
lea eax, [ebp - 0x79d]
mov dword [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x128c]
push ecx
lea edx, [ebp - 0x1304]
push edx
lea ecx, [ebp - 0xa68]
call fcn.1004c8f0
mov byte [ebp - 4], 0x24
xor eax, eax
mov dword [ebp - 0x1d4], 0xcfd8c5dc
mov dword [ebp - 0x1d0], 0xd8dff3c4
mov word [ebp - 0x1cc], 0xc8c2
mov byte [ebp - 0x1ca], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x1d4], 0xac
inc eax
cmp eax, 0xb
jb 0x10056490
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xd44]
call fcn.10034dd0
lea eax, [ebp - 0x4ec]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [ebp - 0xd2c]
mov dword [ebp - 0x4ec], 0x63746970
mov word [ebp - 0x4e8], 0x68
call fcn.10034dd0
lea ecx, [edi + 0x218]
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0xd44]
cmp ecx, eax
je 0x10056507
cmp dword [ebp - 0xd30], 0x10
push dword [ebp - 0xd34]
cmovae eax, dword [ebp - 0xd44]
push eax
call fcn.10025620
lea ecx, [edi + 0x250]
mov byte [edi + 0x249], 1
lea eax, [ebp - 0xd2c]
cmp ecx, eax
je 0x10056538
cmp dword [ebp - 0xd18], 0x10
push dword [ebp - 0xd1c]
cmovae eax, dword [ebp - 0xd2c]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x249], al
cmovne eax, ecx
mov dword [edi + 0x27c], eax
add eax, 0x14
mov dword [edi + 0x1f0], eax
mov dword [edi + 0x1f4], eax
mov ecx, dword [ebp - 0xa64]
mov eax, dword [ebp - 0xa68]
mov dword [ebp - 0xd8], ecx
cmp eax, ecx
je 0x100565b9
lea ecx, [edi + 0x268]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0x26c]
push esi
cmp eax, dword [edi + 0x270]
je 0x1005659f
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x26c], 0x18
jmp 0x100565a5
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x268]
cmp esi, dword [ebp - 0xd8]
jne 0x10056580
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x26c]
lea eax, [edi + 0x268]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100565e4
mov dword [edi + 0x278], 0
lea ecx, [ebp - 0xd2c]
call fcn.1001f960
lea ecx, [ebp - 0xd44]
call fcn.1001f960
lea ecx, [ebp - 0xa68]
call fcn.1003fb10
push fcn.1001f960
push 5
push 0x18
lea eax, [ebp - 0x1304]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea ecx, [edi + 0x238]
mov dword [ebp - 0x88], 0x100297e0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10056645
mov dword [eax], 0x100297e0
add dword [ecx + 4], 4
jmp 0x10056652
lea edx, [ebp - 0x88]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x1e0]
mov dword [ebp - 0x3c], eax
mov dword [edi + 0x1f8], 0
imul eax, dword [edi + 0x1f8], 0xeb
add eax, 0x14
mov dword [edi + 0x1e4], eax
mov dword [edi + 0x1ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1fc], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005669e
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100566aa
lea eax, [ebp - 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x258]
mov dword [ebp - 0x258], 0x66666f
push eax
lea ecx, [ebp - 0x16dc]
call fcn.10034dd0
lea eax, [ebp - 0x758]
mov dword [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x16c4]
mov dword [ebp - 0x758], 0x65726964
mov dword [ebp - 0x754], 0x6f697463
mov word [ebp - 0x750], 0x6e
call fcn.10034dd0
lea eax, [ebp - 0x5c4]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x16ac]
mov dword [ebp - 0x5c4], 0x7474696a
mov word [ebp - 0x5c0], 0x7265
mov byte [ebp - 0x5be], 0
call fcn.10034dd0
lea eax, [ebp - 0x5cc]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x1694]
mov dword [ebp - 0x5cc], 0x61746f72
mov word [ebp - 0x5c8], 0x6574
mov byte [ebp - 0x5c6], 0
call fcn.10034dd0
lea eax, [ebp - 0x5d4]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x167c]
mov dword [ebp - 0x5d4], 0x646e6172
mov word [ebp - 0x5d0], 0x6d6f
mov byte [ebp - 0x5ce], 0
call fcn.10034dd0
lea eax, [ebp - 0x62c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x1664]
mov dword [ebp - 0x62c], 0x696f7661
mov dword [ebp - 0x628], 0x6d6c64
call fcn.10034dd0
lea eax, [ebp - 0x7b3]
mov dword [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x164c]
push ecx
lea edx, [ebp - 0x16dc]
push edx
lea ecx, [ebp - 0xa74]
call fcn.1004c8f0
lea eax, [ebp - 0x6a4]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0xd74]
mov dword [ebp - 0x6a4], 0x5f776179
mov dword [ebp - 0x6a0], 0x646e7473
mov byte [ebp - 0x69c], 0
call fcn.10034dd0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0xd5c]
mov dword [ebp - 0x234], 0x776179
call fcn.10034dd0
lea ecx, [edi + 0x2b8]
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0xd74]
cmp ecx, eax
je 0x1005685c
cmp dword [ebp - 0xd60], 0x10
push dword [ebp - 0xd64]
cmovae eax, dword [ebp - 0xd74]
push eax
call fcn.10025620
lea ecx, [edi + 0x2f0]
mov byte [edi + 0x2e9], 1
lea eax, [ebp - 0xd5c]
cmp ecx, eax
je 0x1005688d
cmp dword [ebp - 0xd48], 0x10
push dword [ebp - 0xd4c]
cmovae eax, dword [ebp - 0xd5c]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2e9], al
cmovne eax, ecx
mov dword [edi + 0x31c], eax
add eax, 0x14
mov dword [edi + 0x290], eax
mov dword [edi + 0x294], eax
mov ecx, dword [ebp - 0xa70]
mov eax, dword [ebp - 0xa74]
mov dword [ebp - 0xd8], ecx
cmp eax, ecx
je 0x10056909
lea ecx, [edi + 0x308]
mov esi, eax
mov eax, dword [edi + 0x30c]
push esi
cmp eax, dword [edi + 0x310]
je 0x100568ef
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x30c], 0x18
jmp 0x100568f5
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x308]
cmp esi, dword [ebp - 0xd8]
jne 0x100568d0
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x30c]
lea eax, [edi + 0x308]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10056934
mov dword [edi + 0x318], 0
lea ecx, [ebp - 0xd5c]
call fcn.1001f960
lea ecx, [ebp - 0xd74]
call fcn.1001f960
lea ecx, [ebp - 0xa74]
call fcn.1003fb10
push fcn.1001f960
push 6
push 0x18
lea eax, [ebp - 0x16dc]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea ecx, [edi + 0x2d8]
mov dword [ebp - 0xbc], 0x100297e0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10056995
mov dword [eax], 0x100297e0
add dword [ecx + 4], 4
jmp 0x100569a2
lea edx, [ebp - 0xbc]
push edx
push eax
call fcn.1001d660
lea eax, [edi + 0x280]
mov dword [ebp - 0x5c], eax
mov dword [edi + 0x298], 0
imul eax, dword [edi + 0x298], 0xeb
add eax, 0x14
mov dword [edi + 0x284], eax
mov dword [edi + 0x28c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x29c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100569ee
mov eax, dword [ebp - 0x5c]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100569fa
lea eax, [ebp - 0x5c]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x7bc]
mov dword [ebp - 0x7bc], 0xb0
push eax
lea ecx, [ebp - 0xda4]
call fcn.1004c860
movaps xmm0, xmmword [0x100bce00]
mov eax, 0x10
pxor xmm0, xmmword [0x100bb620]
mov dword [ebp - 4], 0x30
mov word [ebp - 0xb2c], 0xacc8
movups xmmword [ebp - 0xb3c], xmm0
xor byte [ebp + eax - 0xb3c], 0xac
inc eax
cmp eax, 0x12
jb 0x10056a41
lea eax, [ebp - 0xb3c]
push eax
lea ecx, [ebp - 0xd8c]
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x31
push 0x100bbcd7
lea ecx, [ebp - 0xeec]
mov dword [ebp - 0xedc], 0
movups xmmword [ebp - 0xeec], xmm0
mov dword [ebp - 0xed8], 0
call fcn.1001d5b0
lea ecx, [edi + 0x358]
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0xd8c]
cmp ecx, eax
je 0x10056ac3
cmp dword [ebp - 0xd78], 0x10
push dword [ebp - 0xd7c]
cmovae eax, dword [ebp - 0xd8c]
push eax
call fcn.10025620
mov byte [edi + 0x389], 0
lea ecx, [edi + 0x3c0]
mov dword [edi + 0x3d8], 0
lea eax, [ebp - 0xda4]
mov dword [edi + 0x330], 8
mov dword [edi + 0x334], 8
mov dword [edi + 0x394], 0x3f800000
mov dword [edi + 0x398], 0x43340000
mov dword [edi + 0x390], 0x42340000
mov dword [edi + 0x3a4], 0
mov dword [edi + 0x39c], 0x40a00000
cmp ecx, eax
je 0x10056b44
cmp dword [ebp - 0xd90], 8
push dword [ebp - 0xd94]
cmovae eax, dword [ebp - 0xda4]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xeec]
call fcn.1001f960
lea ecx, [ebp - 0xd8c]
call fcn.1001f960
lea ecx, [ebp - 0xda4]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x378]
mov dword [ebp - 0x68], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10056b8d
mov dword [ecx], 0x100297e0
add dword [eax + 4], 4
jmp 0x10056b9f
lea edx, [ebp - 0x68]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x378]
mov dword [ebp - 0xd0], 0x10029a10
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10056bbd
mov dword [ecx], 0x10029a10
add dword [eax + 4], 4
jmp 0x10056bcc
lea edx, [ebp - 0xd0]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x320]
mov dword [ebp - 0x58], eax
mov dword [edi + 0x338], 0
imul eax, dword [edi + 0x338], 0xeb
add eax, 0x14
mov dword [edi + 0x324], eax
mov dword [edi + 0x32c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x33c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10056c18
mov eax, dword [ebp - 0x58]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10056c24
lea eax, [ebp - 0x58]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x7b8]
mov dword [ebp - 0x7b8], 0xb0
push eax
lea ecx, [ebp - 0xdd4]
call fcn.1004c860
mov dword [ebp - 4], 0x33
xor eax, eax
mov dword [ebp - 0x364], 0xf3d8c3de
mov dword [ebp - 0x360], 0xcbc2cdde
mov dword [ebp - 0x35c], 0xd8dff3c9
mov word [ebp - 0x358], 0xc8c2
mov byte [ebp - 0x356], 0xac
nop word [eax + eax]
xor byte [ebp + eax - 0x364], 0xac
inc eax
cmp eax, 0xf
jb 0x10056c80
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0xdbc]
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x34
push 0x100bbcd7
lea ecx, [ebp - 0xf04]
mov dword [ebp - 0xef4], 0
movups xmmword [ebp - 0xf04], xmm0
mov dword [ebp - 0xef0], 0
call fcn.1001d5b0
lea ecx, [edi + 0x414]
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0xdbc]
cmp ecx, eax
je 0x10056d02
cmp dword [ebp - 0xda8], 0x10
push dword [ebp - 0xdac]
cmovae eax, dword [ebp - 0xdbc]
push eax
call fcn.10025620
mov byte [edi + 0x445], 0
lea ecx, [edi + 0x47c]
mov dword [edi + 0x494], 0
lea eax, [ebp - 0xdd4]
mov dword [edi + 0x3ec], 8
mov dword [edi + 0x3f0], 8
mov dword [edi + 0x450], 0
mov dword [edi + 0x454], 0x43b40000
mov dword [edi + 0x44c], 0x43b40000
mov dword [edi + 0x460], 0
mov dword [edi + 0x458], 0x40a00000
cmp ecx, eax
je 0x10056d83
cmp dword [ebp - 0xdc0], 8
push dword [ebp - 0xdc4]
cmovae eax, dword [ebp - 0xdd4]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xf04]
call fcn.1001f960
lea ecx, [ebp - 0xdbc]
call fcn.1001f960
lea ecx, [ebp - 0xdd4]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x434]
mov dword [ebp - 0xcc], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10056dcf
mov dword [ecx], 0x100297e0
add dword [eax + 4], 4
jmp 0x10056de4
lea edx, [ebp - 0xcc]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x434]
mov dword [ebp - 0xc8], 0x10029a30
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10056e02
mov dword [ecx], 0x10029a30
add dword [eax + 4], 4
jmp 0x10056e11
lea edx, [ebp - 0xc8]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x3dc]
mov dword [ebp - 0x54], eax
mov dword [edi + 0x3f4], 0
imul eax, dword [edi + 0x3f4], 0xeb
add eax, 0x14
mov dword [edi + 0x3e0], eax
mov dword [edi + 0x3e8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3f8], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10056e5d
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x10056e69
lea eax, [ebp - 0x54]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x804]
mov dword [ebp - 0x804], 0x25
push eax
lea ecx, [ebp - 0xe04]
call fcn.1004c860
mov dword [ebp - 4], 0x36
xor eax, eax
mov dword [ebp - 0x374], 0xf3d8c3de
mov dword [ebp - 0x370], 0xc9c9dcdf
mov dword [ebp - 0x36c], 0xd8dff3c8
mov word [ebp - 0x368], 0xc8c2
mov byte [ebp - 0x366], 0xac
nop dword [eax]
xor byte [ebp + eax - 0x374], 0xac
inc eax
cmp eax, 0xf
jb 0x10056ec0
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0xdec]
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x37
push 0x100bbcd7
lea ecx, [ebp - 0xf1c]
mov dword [ebp - 0xf0c], 0
movups xmmword [ebp - 0xf1c], xmm0
mov dword [ebp - 0xf08], 0
call fcn.1001d5b0
lea ecx, [edi + 0x4d0]
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0xdec]
cmp ecx, eax
je 0x10056f42
cmp dword [ebp - 0xdd8], 0x10
push dword [ebp - 0xddc]
cmovae eax, dword [ebp - 0xdec]
push eax
call fcn.10025620
mov byte [edi + 0x501], 0
lea ecx, [edi + 0x538]
mov dword [edi + 0x550], 0
lea eax, [ebp - 0xe04]
mov dword [edi + 0x4a8], 8
mov dword [edi + 0x4ac], 8
mov dword [edi + 0x50c], 0x3f800000
mov dword [edi + 0x510], 0x42c80000
mov dword [edi + 0x508], 0x41200000
mov dword [edi + 0x51c], 0
mov dword [edi + 0x514], 0x3f800000
cmp ecx, eax
je 0x10056fc3
cmp dword [ebp - 0xdf0], 8
push dword [ebp - 0xdf4]
cmovae eax, dword [ebp - 0xe04]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xf1c]
call fcn.1001f960
lea ecx, [ebp - 0xdec]
call fcn.1001f960
lea ecx, [ebp - 0xe04]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x4f0]
mov dword [ebp - 0xc4], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1005700f
mov dword [ecx], 0x100297e0
add dword [eax + 4], 4
jmp 0x10057024
lea edx, [ebp - 0xc4]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x4f0]
mov dword [ebp - 0xc0], 0x10029a30
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10057042
mov dword [ecx], 0x10029a30
add dword [eax + 4], 4
jmp 0x10057051
lea edx, [ebp - 0xc0]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x498]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x4b0], 0
imul eax, dword [edi + 0x4b0], 0xeb
add eax, 0x14
mov dword [edi + 0x49c], eax
mov dword [edi + 0x4a4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4b4], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x1005709d
mov eax, dword [ebp - 0x38]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100570a9
lea eax, [ebp - 0x38]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
push 0x100bc5bc
lea ecx, [ebp - 0xe1c]
call fcn.1004c860
movaps xmm0, xmmword [0x100bcf60]
lea eax, [ebp - 0x1004]
pxor xmm0, xmmword [0x100bb620]
lea ecx, [ebp - 0xccc]
push eax
mov dword [ebp - 4], 0x39
movups xmmword [ebp - 0x1004], xmm0
mov byte [ebp - 0xff4], 0
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x3a
push 0x100bbcd7
lea ecx, [ebp - 0xe74]
mov dword [ebp - 0xe64], 0
movups xmmword [ebp - 0xe74], xmm0
mov dword [ebp - 0xe60], 0
call fcn.1001d5b0
lea ecx, [edi + 0x58c]
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0xccc]
cmp ecx, eax
je 0x10057151
cmp dword [ebp - 0xcb8], 0x10
push dword [ebp - 0xcbc]
cmovae eax, dword [ebp - 0xccc]
push eax
call fcn.10025620
mov byte [edi + 0x5bd], 0
lea ecx, [edi + 0x5f4]
mov dword [edi + 0x60c], 0
lea eax, [ebp - 0xe1c]
mov dword [edi + 0x564], 8
mov dword [edi + 0x568], 8
mov dword [edi + 0x5c8], 0
mov dword [edi + 0x5cc], 0x3f800000
mov dword [edi + 0x5c4], 0
mov dword [edi + 0x5d8], 1
mov dword [edi + 0x5d0], 0x3dcccccd
cmp ecx, eax
je 0x100571d2
cmp dword [ebp - 0xe08], 8
push dword [ebp - 0xe0c]
cmovae eax, dword [ebp - 0xe1c]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xe74]
call fcn.1001f960
lea ecx, [ebp - 0xccc]
call fcn.1001f960
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x5ac]
mov dword [ebp - 0xb8], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1005721e
mov dword [ecx], 0x100297e0
add dword [eax + 4], 4
jmp 0x10057233
lea edx, [ebp - 0xb8]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x5ac]
mov dword [ebp - 0xb4], 0x10029a20
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10057251
mov dword [ecx], 0x10029a20
add dword [eax + 4], 4
jmp 0x10057260
lea edx, [ebp - 0xb4]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x554]
mov dword [ebp - 0x34], eax
mov dword [edi + 0x56c], 0
imul eax, dword [edi + 0x56c], 0xeb
add eax, 0x14
mov dword [edi + 0x558], eax
mov dword [edi + 0x560], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x570], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x100572ac
mov eax, dword [ebp - 0x34]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x100572b8
lea eax, [ebp - 0x34]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x3a4]
mov dword [ebp - 0x3a4], 0x6f747561
push eax
lea ecx, [ebp - 0x137c]
mov byte [ebp - 0x3a0], 0
call fcn.10034dd0
lea eax, [ebp - 0x770]
mov dword [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x1364]
mov dword [ebp - 0x770], 0x6b636162
mov dword [ebp - 0x76c], 0x64726177
mov word [ebp - 0x768], 0x73
call fcn.10034dd0
lea eax, [ebp - 0x3ac]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp - 0x134c]
mov dword [ebp - 0x3ac], 0x7466656c
mov byte [ebp - 0x3a8], 0
call fcn.10034dd0
lea eax, [ebp - 0x4fc]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [ebp - 0x1334]
mov dword [ebp - 0x4fc], 0x68676972
mov word [ebp - 0x4f8], 0x74
call fcn.10034dd0
lea eax, [ebp - 0x5dc]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp - 0x131c]
mov dword [ebp - 0x5dc], 0x74737563
mov word [ebp - 0x5d8], 0x6d6f
mov byte [ebp - 0x5d6], 0
call fcn.10034dd0
lea eax, [ebp - 0x7b2]
mov dword [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0x1304]
push ecx
lea edx, [ebp - 0x137c]
push edx
lea ecx, [ebp - 0xa80]
call fcn.1004c8f0
lea eax, [ebp - 0x6b0]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0xb94]
mov dword [ebp - 0x6b0], 0x5f726964
mov dword [ebp - 0x6ac], 0x646e7473
mov byte [ebp - 0x6a8], 0
call fcn.10034dd0
lea eax, [ebp - 0x74c]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0xb7c]
mov dword [ebp - 0x74c], 0x65726964
mov dword [ebp - 0x748], 0x6f697463
mov word [ebp - 0x744], 0x6e
call fcn.10034dd0
lea ecx, [edi + 0x648]
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0xb94]
cmp ecx, eax
je 0x1005744a
cmp dword [ebp - 0xb80], 0x10
push dword [ebp - 0xb84]
cmovae eax, dword [ebp - 0xb94]
push eax
call fcn.10025620
lea ecx, [edi + 0x680]
mov byte [edi + 0x679], 1
lea eax, [ebp - 0xb7c]
cmp ecx, eax
je 0x1005747b
cmp dword [ebp - 0xb68], 0x10
push dword [ebp - 0xb6c]
cmovae eax, dword [ebp - 0xb7c]
push eax
call fcn.10025620
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x679], al
cmovne eax, ecx
mov dword [edi + 0x6ac], eax
add eax, 0x14
mov dword [edi + 0x620], eax
mov dword [edi + 0x624], eax
mov ecx, dword [ebp - 0xa7c]
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0xd8], ecx
cmp eax, ecx
je 0x100574f9
lea ecx, [edi + 0x698]
mov esi, eax
nop
mov eax, dword [edi + 0x69c]
push esi
cmp eax, dword [edi + 0x6a0]
je 0x100574df
mov ecx, eax
call fcn.10027ea0
add dword [edi + 0x69c], 0x18
jmp 0x100574e5
push eax
call fcn.1003d860
add esi, 0x18
lea ecx, [edi + 0x698]
cmp esi, dword [ebp - 0xd8]
jne 0x100574c0
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x69c]
lea eax, [edi + 0x698]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10057524
mov dword [edi + 0x6a8], 0
lea ecx, [ebp - 0xb7c]
call fcn.1001f960
lea ecx, [ebp - 0xb94]
call fcn.1001f960
lea ecx, [ebp - 0xa80]
call fcn.1003fb10
push fcn.1001f960
push 5
push 0x18
lea eax, [ebp - 0x137c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100adebc
lea eax, [edi + 0x668]
mov dword [ebp - 0xb0], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10057585
mov dword [ecx], 0x100297e0
add dword [eax + 4], 4
jmp 0x1005759a
lea edx, [ebp - 0xb0]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x668]
mov dword [ebp - 0x8c], 0x10029710
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x100575b8
mov dword [ecx], 0x10029710
add dword [eax + 4], 4
jmp 0x100575c7
lea edx, [ebp - 0x8c]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x610]
mov dword [ebp - 0x20], eax
mov dword [edi + 0x628], 0
imul eax, dword [edi + 0x628], 0xeb
add eax, 0x14
mov dword [edi + 0x614], eax
mov dword [edi + 0x61c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x62c], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10057613
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1005761f
lea eax, [ebp - 0x20]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x7fc]
mov dword [ebp - 0x7fc], 0x73
push eax
lea ecx, [ebp - 0xbc4]
call fcn.1004c860
mov dword [ebp - 4], 0x44
xor eax, eax
mov dword [ebp - 0x2f4], 0xf3dec5c8
mov dword [ebp - 0x2f0], 0xc9c1c5d8
mov dword [ebp - 0x2ec], 0xc2d8dff3
mov word [ebp - 0x2e8], 0xacc8
nop dword [eax + eax]
xor byte [ebp + eax - 0x2f4], 0xac
inc eax
cmp eax, 0xe
jb 0x10057670
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0xbac]
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x45
push 0x100bbcd7
lea ecx, [ebp - 0xebc]
mov dword [ebp - 0xeac], 0
movups xmmword [ebp - 0xebc], xmm0
mov dword [ebp - 0xea8], 0
call fcn.1001d5b0
lea ecx, [edi + 0x6e8]
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0xbac]
cmp ecx, eax
je 0x100576f2
cmp dword [ebp - 0xb98], 0x10
push dword [ebp - 0xb9c]
cmovae eax, dword [ebp - 0xbac]
push eax
call fcn.10025620
mov byte [edi + 0x719], 0
lea ecx, [edi + 0x750]
mov dword [edi + 0x768], 0
lea eax, [ebp - 0xbc4]
mov dword [edi + 0x6c0], 8
mov dword [edi + 0x6c4], 8
mov dword [edi + 0x724], 0
mov dword [edi + 0x728], 0x41200000
mov dword [edi + 0x720], 0
mov dword [edi + 0x734], 0
mov dword [edi + 0x72c], 0x3f800000
cmp ecx, eax
je 0x10057773
cmp dword [ebp - 0xbb0], 8
push dword [ebp - 0xbb4]
cmovae eax, dword [ebp - 0xbc4]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xebc]
call fcn.1001f960
lea ecx, [ebp - 0xbac]
call fcn.1001f960
lea ecx, [ebp - 0xbc4]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x708]
mov dword [ebp - 0xac], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x100577bf
mov dword [ecx], 0x100297e0
add dword [eax + 4], 4
jmp 0x100577d4
lea edx, [ebp - 0xac]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x708]
mov dword [ebp - 0xa8], 0x10029710
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x100577f2
mov dword [ecx], 0x10029710
add dword [eax + 4], 4
jmp 0x10057807
lea edx, [ebp - 0xa8]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x708]
mov dword [ebp - 0xa4], 0x100299f0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10057825
mov dword [ecx], 0x100299f0
add dword [eax + 4], 4
jmp 0x10057834
lea edx, [ebp - 0xa4]
push edx
push ecx
mov ecx, eax
call fcn.1001d660
lea eax, [edi + 0x6b0]
mov dword [ebp - 0x28], eax
mov dword [edi + 0x6c8], 0
imul eax, dword [edi + 0x6c8], 0xeb
add eax, 0x14
mov dword [edi + 0x6b4], eax
mov dword [edi + 0x6bc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6cc], eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x10057880
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
add dword [esi + 4], 4
jmp 0x1005788c
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, esi
call fcn.1001d660
lea eax, [ebp - 0x7f8]
mov dword [ebp - 0x7f8], 0xb0
push eax
lea ecx, [ebp - 0xbf4]
call fcn.1004c860
movaps xmm0, xmmword [0x100bcab0]
lea eax, [ebp - 0x1014]
pxor xmm0, xmmword [0x100bb620]
lea ecx, [ebp - 0xbdc]
push eax
mov dword [ebp - 4], 0x47
movups xmmword [ebp - 0x1014], xmm0
call fcn.10034dd0
push 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x48
push 0x100bbcd7
lea ecx, [ebp - 0xe8c]
mov dword [ebp - 0xe7c], 0
movups xmmword [ebp - 0xe8c], xmm0
mov dword [ebp - 0xe78], 0
call fcn.1001d5b0
lea ecx, [edi + 0x7a4]
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0xbdc]
cmp ecx, eax
je 0x10057939
cmp dword [ebp - 0xbc8], 0x10
push dword [ebp - 0xbcc]
cmovae eax, dword [ebp - 0xbdc]
push eax
call fcn.10025620
mov byte [edi + 0x7d5], 0
lea ecx, [edi + 0x80c]
mov dword [edi + 0x824], 0
lea eax, [ebp - 0xbf4]
mov dword [edi + 0x77c], 8
mov dword [edi + 0x780], 8
mov dword [edi + 0x7e0], 0xc3340000
mov dword [edi + 0x7e4], 0x43340000
mov dword [edi + 0x7dc], 0
mov dword [edi + 0x7f0], 0
mov dword [edi + 0x7e8], 0x40a00000
cmp ecx, eax
je 0x100579ba
cmp dword [ebp - 0xbe0], 8
push dword [ebp - 0xbe4]
cmovae eax, dword [ebp - 0xbf4]
push eax
call fcn.1004f8c0
lea ecx, [ebp - 0xe8c]
call fcn.1001f960
lea ecx, [ebp - 0xbdc]
call fcn.1001f960
lea ecx, [ebp - 0xbf4]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb90
lea eax, [edi + 0x7c4]
mov dword [ebp - 0xa0], 0x100297e0
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x10057a06