Function at 0x535fb0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xb8
mov eax, dword [0x5e1040]
xor eax, esp
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xc4]
test eax, eax
mov edx, dword [esp + 0xc8]
push ebx
mov ebx, dword [esp + 0xc0]
push ebp
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x44], ebx
push esi
push edi
mov edi, dword [esp + 0xdc]
lea ecx, [eax + ebp]
mov eax, dword [esp + 0x4c]
cmovle ecx, ebp
cmp dword [esp + 0xe0], 0
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0x7578]
mov eax, dword [eax + 0x74b0]
mov ebx, dword [ebx + 0x760c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x30], ecx
mov esi, dword [eax + 0x74b4]
mov eax, dword [eax + 0x74b8]
mov dword [esp + 0x64], esi
mov esi, edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], eax
je 0x5376b4
mov ebp, dword [esp + 0x4c]
mov dword [ebp + 0x750c], 1
mov eax, dword [ebp + 0x682c]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x6830]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0x6834]
mov dword [esp + 0xc0], eax
cmp esi, 1
jb 0x5360db
mov dword [esp + 0x98], edx
lea ebx, [edx + 4]
mov dword [esp + 0x9c], ebx
cmp esi, 4
jb 0x5360e5
lea eax, [edx - 4]
add eax, edi
mov dword [esp + 0x94], eax
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov al, byte [edi + edx - 1]
test al, al
je 0x5360db
movzx eax, al
bsr ecx, eax
mov eax, 8
sub eax, ecx
mov dword [esp + 0x90], eax
cmp esi, 0xffffff88
jbe 0x53615f
mov esi, 0xffffffec
jmp 0x53771f
movzx ecx, byte [edx]
lea eax, [esi - 2]
mov dword [esp + 0x94], edx
mov dword [esp + 0x8c], ecx
cmp eax, 5
ja case.default.0x5360fe
jmp dword [eax*4 + 0x53773c]
movzx eax, byte [edx + 6]
shl eax, 0x10
add ecx, eax
movzx eax, byte [edx + 5]
shl eax, 8
add ecx, eax
movzx eax, byte [ebx]
add ecx, eax
movzx eax, byte [edx + 3]
shl eax, 0x18
add ecx, eax
movzx eax, byte [edx + 2]
shl eax, 0x10
add ecx, eax
movzx eax, byte [edx + 1]
shl eax, 8
add ecx, eax
mov dword [esp + 0x8c], ecx
mov al, byte [edi + edx - 1]
test al, al
je 0x5360db
movzx eax, al
bsr ecx, eax
mov eax, 5
sub eax, esi
shl eax, 3
sub eax, ecx
mov dword [esp + 0x90], eax
push dword [ebp]
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.00538570
push dword [ebp + 8]
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.00538570
push dword [ebp + 4]
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.00538570
mov ecx, dword [esp + 0xd4]
add esp, 0x24
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x50], ebp
nop dword [eax]
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
mov esi, dword [eax + ebp*8 + 4]
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x50]
mov ebp, dword [ebp + edx*8 + 4]
mov dword [esp + 0x38], ebp
mov al, byte [eax + esi*8 + 2]
mov ebp, dword [esp + 0xb4]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0xb4]
mov al, byte [eax + ecx*8 + 2]
mov ecx, dword [esp + 0xa4]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0xac]
movzx ecx, word [ecx + esi*8]
mov esi, dword [esp + 0x58]
mov al, byte [eax + edx*8 + 2]
mov dword [esp + 0x24], ecx
movzx ecx, word [ebp + esi*8]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x6c], ecx
movzx ecx, word [ebp + edx*8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esi + ecx*8 + 3]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x58]
movzx ecx, byte [esi + ecx*8 + 3]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x68], ecx
movzx ecx, byte [ebp + edx*8 + 3]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
cmp al, 1
jbe 0x5364a8
cmp dword [esp + 0xe4], 0
je 0x536360
cmp al, 0x19
jb 0x536360
mov esi, dword [esp + 0x8c]
mov ecx, ebx
and ecx, 0x1f
movzx eax, al
sub eax, 5
mov edx, esi
shl edx, cl
add ebx, eax
mov ecx, eax
neg ecx
and ecx, 0x1f
shr edx, cl
mov ecx, ebx
shl edx, 5
add edx, ebp
cmp ebx, 0x20
jbe 0x5362f1
mov edi, 0x5a16c8
jmp 0x536341
cmp edi, dword [esp + 0x9c]
jb 0x536306
mov eax, ebx
shr eax, 3
sub edi, eax
and ecx, 7
jmp 0x536336
mov ebp, dword [esp + 0x98]
cmp edi, ebp
jne 0x53631a
cmp ebx, 0x20
jb 0x536348
mov ecx, ebx
jmp 0x536348
shr ecx, 3
mov eax, edi
sub eax, ecx
cmp eax, ebp
jae 0x536329
mov ecx, edi
sub ecx, ebp
sub edi, ecx
lea eax, [ecx*8]
mov ecx, ebx
sub ecx, eax
mov esi, dword [edi]
mov ebx, ecx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], edi
and ecx, 0x1f
mov eax, esi
shl eax, cl
add ebx, 5
shr eax, 0x1b
add edx, eax
mov dword [esp + 0x18], edx
jmp 0x5363ea
mov esi, dword [esp + 0x8c]
mov ecx, ebx
and ecx, 0x1f
movzx eax, al
mov edx, esi
add ebx, eax
shl edx, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x90], ebx
and ecx, 0x1f
shr edx, cl
add edx, ebp
mov dword [esp + 0x18], edx
cmp ebx, 0x20
jbe 0x53639e
mov edi, 0x5a16c8
mov dword [esp + 0x94], edi
jmp 0x5363f1
cmp edi, dword [esp + 0x9c]
jb 0x5363b3
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x5363da
mov ebp, dword [esp + 0x98]
cmp edi, ebp
je 0x5363f1
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x5363cf
mov ecx, edi
sub ecx, ebp
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov al, byte [esp + 0x1f]
test al, al
je 0x536442
movzx edx, al
mov ecx, ebx
and ecx, 0x1f
mov eax, esi
shl eax, cl
add ebx, edx
mov ecx, edx
mov dword [esp + 0x90], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
add dword [esp + 0x14], eax
mov al, byte [esp + 0x1f]
mov dl, byte [esp + 0x37]
movzx ecx, al
movzx eax, dl
add ecx, eax
cmp ecx, 0x14
jb 0x536468
cmp ebx, 0x20
jbe 0x53656a
mov edi, 0x5a16c8
mov dword [esp + 0x94], edi
mov ebp, dword [esp + 0x98]
test dl, dl
je 0x536495
mov ecx, ebx
movzx edx, dl
and ecx, 0x1f
mov eax, esi
shl eax, cl
add ebx, edx
mov ecx, edx
mov dword [esp + 0x90], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
add dword [esp + 0x20], eax
cmp ebx, 0x20
jbe 0x5365dc
mov edi, 0x5a16c8
jmp 0x53661d
xor edx, edx
test esi, esi
sete dl
test al, al
jne 0x5364e6
mov ecx, dword [esp + edx*4 + 0xb8]
neg esi
mov dword [esp + 0x18], ecx
sbb eax, eax
mov esi, dword [esp + 0x8c]
and eax, 4
mov ebp, dword [esp + eax + 0xb8]
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xb8], ecx
jmp 0x536414
mov esi, dword [esp + 0x8c]
mov ecx, ebx
and ecx, 0x1f
mov eax, esi
shl eax, cl
inc ebx
shr eax, 0x1f
mov dword [esp + 0x90], ebx
lea ecx, [eax + edx]
xor eax, eax
add ecx, ebp
cmp ecx, 3
jne 0x536535
mov ecx, dword [esp + 0xb8]
lea edx, [ecx - 1]
test edx, edx
sete al
sub edx, eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc0], eax
jmp 0x536406
mov edx, dword [esp + ecx*4 + 0xb8]
test edx, edx
sete al
sub edx, eax
mov dword [esp + 0x18], edx
cmp ecx, 1
je 0x5363ff
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc0], eax
jmp 0x536406
mov ebp, dword [esp + 0x98]
cmp edi, dword [esp + 0x9c]
jb 0x5365a0
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
jmp 0x53646f
cmp edi, ebp
je 0x53646f
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x5365b9
mov ecx, edi
sub ecx, ebp
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x94], edi
mov esi, dword [edi]
add ebx, eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
jmp 0x53646f
cmp edi, dword [esp + 0x9c]
jb 0x5365f1
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53660d
cmp edi, ebp
je 0x536624
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x536606
mov ecx, edi
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
cmp dword [esp + 0xe0], 1
je 0x536776
mov ebp, dword [esp + 0x28]
mov eax, esi
lea edx, [ebx + ebp]
mov ebx, dword [esp + 0x68]
mov ecx, edx
add edx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [ebp*4 + 0x5a1648]
mov ecx, dword [esp + 0x24]
movzx ecx, cx
add ecx, eax
mov eax, esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0xa0], ecx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x6c]
and eax, dword [ebx*4 + 0x5a1648]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb0], ecx
cmp edx, 0x20
jbe 0x536697
mov edi, 0x5a16c8
jmp 0x5366dc
cmp edi, dword [esp + 0x9c]
jb 0x5366ac
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x5366d3
mov ebx, dword [esp + 0x98]
cmp edi, ebx
je 0x5366e3
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x5366c8
mov ecx, edi
sub ecx, ebx
lea eax, [ecx*8]
sub edi, ecx
sub edx, eax
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], edi
mov ebp, dword [esp + 0x5c]
mov eax, esi
lea ebx, [edx + ebp]
mov ecx, ebx
mov dword [esp + 0x90], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x2c]
and eax, dword [ebp*4 + 0x5a1648]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0xa8], ecx
cmp ebx, 0x20
jbe 0x536723
mov edi, 0x5a16c8
jmp 0x53676f
cmp edi, dword [esp + 0x9c]
jb 0x536738
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53675f
mov edx, dword [esp + 0x98]
cmp edi, edx
je 0x536776
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x536754
mov ecx, edi
sub ecx, edx
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov ebp, dword [edi]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x70], edx
mov esi, dword [eax + 0x760c]
lea eax, [edx + ecx]
cmp eax, esi
ja 0x536a94
add edx, dword [esp + 0x10]
lea ecx, [eax - 0x20]
mov eax, dword [esp + 0x30]
mov ebp, edx
mov esi, dword [esp + 0x14]
add eax, dword [esp + 0x20]
add esi, dword [esp + 0x20]
movq xmm0, qword [esp + 0x70]
sub ebp, dword [esp + 0x18]
movq qword [esp + 0x80], xmm0
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x5c], eax
cmp eax, dword [esp + 0x54]
ja 0x536a07
mov eax, dword [esp + 0x10]
add eax, esi
cmp eax, ecx
ja 0x536a07
mov ecx, dword [esp + 0x44]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x536a07
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x20]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jbe 0x536860
mov edx, dword [esp + 0x30]
add ecx, 0x10
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
lea esi, [ecx + eax]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x24]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x53685c
mov eax, dword [esp + 0x2c]
add ecx, 0x10
add edx, 0x20
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x536844
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov eax, edx
sub eax, dword [esp + 0x40]
cmp ecx, eax
jbe 0x5368de
mov eax, edx
sub eax, dword [esp + 0x64]
cmp ecx, eax
ja 0x536a83
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ebp, eax
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x3c]
ja 0x5368b3
push ecx
push ebp
push edx
call fcn.00547de0
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x536a59
mov esi, dword [esp + 0x3c]
sub esi, ebp
push esi
push ebp
push edx
call fcn.00547de0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x14]
add edx, esi
mov ebp, dword [esp + 0x40]
sub eax, esi
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
jmp 0x5368e5
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
cmp ecx, 0x10
jb 0x536935
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x14], 0x10
mov dword [esp + 0x2c], eax
movups xmmword [edx], xmm0
jle 0x536928
lea eax, [edx + 0x10]
mov edx, dword [esp + 0x2c]
lea ecx, [ebp + 0x10]
nop dword [eax]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x536910
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], esi
jmp 0x536a59
cmp ecx, 8
jae 0x53696b
movzx eax, byte [ebp]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov byte [edx + 2], al
movzx eax, byte [ebp + 3]
add ebp, dword [ecx*4 + 0x5a1508]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x5a1528]
mov dword [edx + 4], eax
jmp 0x536976
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x14]
cmp eax, 8
jbe 0x536928
add edx, 8
lea ecx, [eax - 8]
add ebp, 8
mov eax, edx
add ecx, edx
sub eax, ebp
mov dword [esp + 0x2c], ecx
cmp eax, 0x10
jge 0x5369c4
sub ebp, edx
mov esi, ecx
nop dword [eax + eax]
mov eax, dword [edx + ebp]
mov ecx, dword [edx + ebp + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, esi
jb 0x5369a0
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], esi
jmp 0x536a59
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ebp]
mov esi, dword [esp + 0x24]
add eax, 0xfffffff8
movups xmmword [edx], xmm0
cmp eax, 0x10
jle 0x536928
add edx, 0x10
lea eax, [ebp + 0x10]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, ecx
jb 0x5369e5
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], esi
jmp 0x536a59
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push dword [esp + 0x68]
mov esi, dword [esp + 0x28]
push dword [esp + 0x48]
mov ebp, dword [esp + 0x1c]
add esi, 0xffffffe0
push dword [esp + 0x60]
push eax
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x50]
add eax, esi
push eax
push dword [esp + 0x68]
push ebp
call fcn.00538410
mov esi, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x74]
add esp, 0x2c
mov dword [esp + 0x30], eax
cmp esi, 0xffffff88
ja 0x536a8b
add ebp, esi
sub dword [esp + 0xe0], 1
mov dword [esp + 0x10], ebp
je 0x537667
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
jmp 0x5361e0
mov dword [esp + 0x24], 0xffffffec
mov esi, dword [esp + 0x24]
jmp 0x53771f
mov eax, dword [esp + 0xe0]
test eax, eax
jle 0x53765d
sub esi, ecx
je 0x536ae7
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
sub eax, ecx
cmp esi, eax
jbe 0x536abf
mov esi, 0xffffffba
jmp 0x53771f
push esi
push dword [esp + 0x34]
push ecx
call fcn.00538790
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x10]
sub edx, esi
add eax, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x10], eax
jmp 0x536aeb
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x4c]
add eax, edx
movq xmm0, qword [esp + 0x70]
mov edx, eax
sub edx, dword [esp + 0x18]
movq qword [esp + 0x80], xmm0
lea ecx, [esi + 0x7614]
mov dword [esp + 0x28], eax
add esi, 0x17614
mov dword [esp + 0x48], ecx
add ecx, dword [esp + 0x20]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], edx
mov dword [esi + 0x7610], 0
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x14]
mov dword [esp + 0x24], esi
cmp ecx, dword [esp + 0x54]
ja 0x536d80
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x536d80
mov ecx, dword [esp + 0x44]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x536d80
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [eax + 0x7614]
mov eax, dword [esp + 0x20]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jbe 0x536bdc
mov edx, dword [esp + 0x4c]
add ecx, 0x10
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x7624]
lea ebp, [ecx + eax]
mov dword [esp + 0x2c], ebp
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x536bd8
add ecx, 0x10
mov eax, ebp
add edx, 0x7634
nop dword [eax]
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x536bc0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov eax, ecx
sub eax, dword [esp + 0x40]
cmp dword [esp + 0x18], eax
jbe 0x536c56
mov eax, ecx
sub eax, dword [esp + 0x64]
cmp dword [esp + 0x18], eax
ja 0x5360db
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x40]
add edx, eax
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, dword [esp + 0x3c]
ja 0x536c2d
push dword [esp + 0x14]
push edx
push ecx
call fcn.00547de0
add esp, 0xc
jmp 0x536dbf
mov esi, dword [esp + 0x3c]
sub esi, edx
push esi
push edx
push ecx
call fcn.00547de0
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [esp + 0x40]
add ecx, esi
sub dword [esp + 0x14], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
jmp 0x536c61
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
cmp eax, 0x10
jb 0x536cad
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [edx]
add eax, ecx
cmp dword [esp + 0x14], 0x10
mov dword [esp + 0x2c], eax
movups xmmword [ecx], xmm0
jle 0x536dbf
lea eax, [ecx + 0x10]
lea ecx, [edx + 0x10]
mov edx, dword [esp + 0x2c]
nop
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x536c90
jmp 0x536dbf
cmp eax, 8
jae 0x536ced
movzx eax, byte [edx]
mov byte [ecx], al
movzx eax, byte [edx + 1]
mov byte [ecx + 1], al
movzx eax, byte [edx + 2]
mov byte [ecx + 2], al
movzx eax, byte [edx + 3]
mov byte [ecx + 3], al
mov eax, dword [esp + 0x18]
add edx, dword [eax*4 + 0x5a1508]
mov eax, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
sub edx, dword [eax*4 + 0x5a1528]
mov eax, dword [esp + 0x28]
jmp 0x536cfe
mov ebp, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp], eax
mov eax, ebp
mov dword [eax + 4], ecx
cmp dword [esp + 0x14], 8
jbe 0x536dbf
lea ecx, [edx + 8]
lea edx, [eax + 8]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x14]
add eax, 0xfffffff8
add eax, edx
mov dword [esp + 0x38], eax
mov eax, edx
sub eax, ecx
cmp eax, 0x10
jge 0x536d4a
mov esi, dword [esp + 0x38]
mov ebp, ecx
sub ebp, edx
mov eax, dword [edx + ebp]
mov ecx, dword [edx + ebp + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, esi
jb 0x536d31
mov esi, dword [esp + 0x24]
jmp 0x536dbf
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ecx]
add eax, 0xfffffff8
movups xmmword [edx], xmm0
cmp eax, 0x10
jle 0x536dbf
lea eax, [ecx + 0x10]
add edx, 0x10
mov ecx, dword [esp + 0x38]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, ecx
jb 0x536d66
jmp 0x536dbf
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push dword [esp + 0x68]
push dword [esp + 0x48]
push dword [esp + 0x60]
push eax
sub esp, 0xc
mov eax, esp
push dword [esp + 0x64]
movq qword [eax], xmm0
push dword [esp + 0x34]
mov dword [eax + 8], ecx
call fcn.00538310
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
cmp esi, 0xffffff88
ja 0x53771f
mov eax, dword [esp + 0xe0]
add dword [esp + 0x10], esi
dec eax
mov dword [esp + 0xe0], eax
test eax, eax
jle 0x53765d
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x60]
mov eax, dword [eax + ebp*8 + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xac]
mov esi, dword [ecx + edx*8 + 4]
mov ecx, dword [esp + 0xa4]
mov al, byte [ecx + eax*8 + 2]
mov ecx, dword [esp + 0xac]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0xb4]
mov al, byte [eax + ebp*8 + 2]
mov byte [esp + 0x1f], al
mov al, byte [ecx + edx*8 + 2]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x50]
movzx edx, word [ecx + edx*8]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x2c], edx
movzx edx, word [ecx + ebp*8]
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x6c], edx
movzx edx, word [ecx + ebp*8]
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x50]
movzx edx, byte [ebp + edx*8 + 3]
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x58]
movzx edx, byte [ebp + edx*8 + 3]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x60]
movzx edx, byte [ecx + edx*8 + 3]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], edx
cmp al, 1
jbe 0x537066
cmp dword [esp + 0xe4], 0
je 0x536f78
cmp al, 0x19
jb 0x536f78
mov ecx, ebx
movzx eax, al
and ecx, 0x1f
sub eax, 5
mov edx, ebp
add ebx, eax
shl edx, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr edx, cl
mov ecx, ebx
shl edx, 5
add edx, esi
cmp ebx, 0x20
jbe 0x536f09
mov edi, 0x5a16c8
jmp 0x536f59
cmp edi, dword [esp + 0x9c]
jb 0x536f1e
mov eax, ebx
shr eax, 3
sub edi, eax
and ecx, 7
jmp 0x536f4e
mov esi, dword [esp + 0x98]
cmp edi, esi
jne 0x536f32
cmp ebx, 0x20
jb 0x536f60
mov ecx, ebx
jmp 0x536f60
shr ecx, 3
mov eax, edi
sub eax, ecx
cmp eax, esi
jae 0x536f41
mov ecx, edi
sub ecx, esi
sub edi, ecx
lea eax, [ecx*8]
mov ecx, ebx
sub ecx, eax
mov ebp, dword [edi]
mov ebx, ecx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x94], edi
and ecx, 0x1f
mov eax, ebp
shl eax, cl
add ebx, 5
shr eax, 0x1b
add edx, eax
mov dword [esp + 0x18], edx
jmp 0x536ffb
mov ecx, ebx
movzx eax, al
and ecx, 0x1f
mov edx, ebp
shl edx, cl
add ebx, eax
mov ecx, eax
mov dword [esp + 0x90], ebx
neg ecx
and ecx, 0x1f
shr edx, cl
add edx, esi
mov dword [esp + 0x18], edx
cmp ebx, 0x20
jbe 0x536faf
mov edi, 0x5a16c8
mov dword [esp + 0x94], edi
jmp 0x537002
cmp edi, dword [esp + 0x9c]
jb 0x536fc4
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x536feb
mov esi, dword [esp + 0x98]
cmp edi, esi
je 0x537002
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x536fe0
mov ecx, edi
sub ecx, esi
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov ebp, dword [edi]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov al, byte [esp + 0x1f]
test al, al
je 0x53711b
movzx edx, al
mov ecx, ebx
and ecx, 0x1f
mov eax, ebp
mov ebp, dword [esp + 0x20]
add ebx, edx
shl eax, cl
mov ecx, edx
neg ecx
mov dword [esp + 0x90], ebx
and ecx, 0x1f
shr eax, cl
add ebp, eax
mov al, byte [esp + 0x1f]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x74], ebp
jmp 0x53711f
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x53709e
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + edx*4 + 0xb8]
neg eax
mov dword [esp + 0x18], ecx
sbb eax, eax
and eax, 4
mov esi, dword [esp + eax + 0xb8]
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], ecx
jmp 0x537025
mov ecx, ebx
mov eax, ebp
and ecx, 0x1f
inc ebx
shl eax, cl
shr eax, 0x1f
mov dword [esp + 0x90], ebx
lea ecx, [eax + edx]
xor eax, eax
add ecx, esi
cmp ecx, 3
jne 0x5370e6
mov ecx, dword [esp + 0xb8]
lea edx, [ecx - 1]
test edx, edx
sete al
sub edx, eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], edx
mov dword [esp + 0xc0], eax
jmp 0x537017
mov edx, dword [esp + ecx*4 + 0xb8]
test edx, edx
sete al
sub edx, eax
mov dword [esp + 0x18], edx
cmp ecx, 1
je 0x537010
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc0], eax
jmp 0x537017
mov ebp, dword [esp + 0x20]
mov dl, byte [esp + 0x37]
movzx ecx, al
movzx eax, dl
add ecx, eax
cmp ecx, 0x14
jb 0x537141
cmp ebx, 0x20
jbe 0x537187
mov edi, 0x5a16c8
mov dword [esp + 0x94], edi
mov esi, dword [esp + 0x8c]
test dl, dl
je 0x537178
mov ecx, ebx
movzx edx, dl
and ecx, 0x1f
mov eax, esi
shl eax, cl
add ebx, edx
mov ecx, edx
mov dword [esp + 0x90], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x28]
add ecx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], ecx
cmp ebx, 0x20
jbe 0x5371f2
mov edi, 0x5a16c8
jmp 0x53723a
cmp edi, dword [esp + 0x9c]
jb 0x5371b3
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
jmp 0x537148
mov esi, dword [esp + 0x98]
cmp edi, esi
je 0x537141
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x5371cf
mov ecx, edi
sub ecx, esi
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x94], edi
mov esi, dword [edi]
add ebx, eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
jmp 0x537148
cmp edi, dword [esp + 0x9c]
jb 0x537207
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53722a
mov edx, dword [esp + 0x98]
cmp edi, edx
je 0x537241
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x537223
mov ecx, edi
sub ecx, edx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
cmp dword [esp + 0xe0], 1
je 0x537399
mov edx, dword [esp + 0x38]
mov eax, esi
add edx, ebx
mov ebx, dword [esp + 0x5c]
mov ecx, edx
add edx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x38]
and eax, dword [ecx*4 + 0x5a1648]
mov ecx, dword [esp + 0x2c]
movzx ecx, cx
add ecx, eax
mov eax, esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0xa0], ecx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x6c]
and eax, dword [ebx*4 + 0x5a1648]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb0], ecx
cmp edx, 0x20
jbe 0x5372b7
mov edi, 0x5a16c8
jmp 0x5372fc
cmp edi, dword [esp + 0x9c]
jb 0x5372cc
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x5372f3
mov ebx, dword [esp + 0x98]
cmp edi, ebx
je 0x537303
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x5372e8
mov ecx, edi
sub ecx, ebx
lea eax, [ecx*8]
sub edi, ecx
sub edx, eax
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], edi
mov ebx, dword [esp + 0x24]
mov eax, esi
add ebx, edx
mov ecx, ebx
mov dword [esp + 0x90], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x24]
and eax, dword [ecx*4 + 0x5a1648]
mov ecx, dword [esp + 0x68]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0xa8], ecx
cmp ebx, 0x20
jbe 0x537346
mov edi, 0x5a16c8
jmp 0x537392
cmp edi, dword [esp + 0x9c]
jb 0x53735b
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x537382
mov edx, dword [esp + 0x98]
cmp edi, edx
je 0x537399
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x537377
mov ecx, edi
sub ecx, edx
lea eax, [ecx*8]
sub edi, ecx
sub ebx, eax
mov esi, dword [edi]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
movq xmm0, qword [esp + 0x70]
movq qword [esp + 0x80], xmm0
lea esi, [eax + ebp]
lea edx, [eax + ecx]
mov dword [esp + 0x24], esi
add eax, dword [esp + 0x30]
mov ebp, edx
sub ebp, dword [esp + 0x18]
mov dword [esp + 0x14], edx
mov dword [esp + 0x5c], eax
cmp eax, dword [esp + 0x54]
ja 0x5375fe
mov eax, dword [esp + 0x44]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x5375fe
mov ecx, dword [esp + 0x44]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x5375fe
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x28]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jbe 0x53745c
mov edx, dword [esp + 0x30]
add ecx, 0x10
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
lea esi, [ecx + eax]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x24]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x537458
mov eax, dword [esp + 0x2c]
add ecx, 0x10
add edx, 0x20
nop dword [eax]
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x537440
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov eax, edx
sub eax, dword [esp + 0x40]
cmp ecx, eax
jbe 0x5374da
mov eax, edx
sub eax, dword [esp + 0x64]
cmp ecx, eax
ja 0x5360db
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
add ebp, eax
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x3c]
ja 0x5374af
push ecx
push ebp
push edx
call fcn.00547de0
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53763e
mov esi, dword [esp + 0x3c]
sub esi, ebp
push esi
push ebp
push edx
call fcn.00547de0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x20]
add edx, esi
mov ebp, dword [esp + 0x40]
sub eax, esi
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
jmp 0x5374e1
mov eax, dword [esp + 0x84]
mov dword [esp + 0x20], eax
cmp ecx, 0x10
jb 0x537531
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x20], 0x10
mov dword [esp + 0x2c], eax
movups xmmword [edx], xmm0
jle 0x537528
lea eax, [edx + 0x10]
mov edx, dword [esp + 0x2c]
lea ecx, [ebp + 0x10]
nop dword [eax + eax]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x537510
mov ebp, dword [esp + 0x10]
jmp 0x53763e
cmp ecx, 8
jae 0x537567
movzx eax, byte [ebp]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov byte [edx + 2], al
movzx eax, byte [ebp + 3]
add ebp, dword [ecx*4 + 0x5a1508]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x5a1528]
mov dword [edx + 4], eax
jmp 0x537572
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x20]
cmp eax, 8
jbe 0x537528
add edx, 8
lea ecx, [eax - 8]
add ebp, 8
mov eax, edx
add ecx, edx
sub eax, ebp
mov dword [esp + 0x38], ecx
cmp eax, 0x10
jge 0x5375b7
sub ebp, edx
mov esi, ecx
mov eax, dword [edx + ebp]
mov ecx, dword [edx + ebp + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, esi
jb 0x537597
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
jmp 0x53763e
mov eax, dword [esp + 0x20]
movups xmm0, xmmword [ebp]
mov ecx, dword [esp + 0x38]
add eax, 0xfffffff8
movups xmmword [edx], xmm0
cmp eax, 0x10
jle 0x537528
add edx, 0x10
lea eax, [ebp + 0x10]
nop dword [eax + eax]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, ecx
jb 0x5375e0
mov ebp, dword [esp + 0x10]
jmp 0x53763e
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push dword [esp + 0x68]
mov ebp, dword [esp + 0x18]
push dword [esp + 0x48]
push dword [esp + 0x60]
push eax
sub esp, 0xc
mov eax, esp
push dword [esp + 0x64]
movq qword [eax], xmm0
push ebp
mov dword [eax + 8], ecx
call fcn.00538310
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
cmp esi, 0xffffff88
ja 0x53771f
add ebp, esi
sub dword [esp + 0xe0], 1
mov dword [esp + 0x10], ebp
jne 0x536de3
jmp 0x537667
jne 0x5360db
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x8c]
push eax
call fcn.0052ea50
add esp, 4
test eax, eax
je 0x5360db
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x54]
mov dword [esi + 0x6830], eax
mov eax, dword [esp + 0xc0]
mov dword [esi + 0x682c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x6834], eax
jmp 0x5376b8
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x7610], 2
jne 0x5376f8
mov eax, dword [esp + 0x44]
sub ebx, ecx
sub eax, ebp
cmp ebx, eax
ja 0x536ab5
test ebp, ebp
je 0x5376e2
push ebx
push ecx
push ebp
call fcn.00547de0
add esp, 0xc
add ebp, ebx
lea ecx, [esi + 0x7614]
mov dword [esi + 0x7610], 0
lea ebx, [esi + 0x17614]
mov eax, dword [esp + 0x44]
sub ebx, ecx
sub eax, ebp
cmp ebx, eax
ja 0x536ab5
test ebp, ebp
je 0x537719
push ebx
push ecx
push ebp
call fcn.00547de0
add esp, 0xc
add ebp, ebx
mov esi, ebp
sub esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc4]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004224b5
add esp, 0xb8
ret