Function at 0x5b40fa
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffb44
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
call fcn.006050dc
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x48], eax
xor edx, edx
mov dword [ebp - 0x38], edx
test ebx, ebx
je 0x5b51cf
cmp byte [ebx + 0x50], 0
je 0x5b51cf
lea ecx, [ebp - 0x1264]
push ecx
lea eax, [ebx + 0x50]
push eax
call fcn.005b131e
add esp, 8
push 0x4bbad3
lea edx, [ebp - 0x1264]
push edx
call fcn.005fb37e
add esp, 8
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x5b51cf
push 0
push 0x80
push 3
push 0
push 3
push 0
lea ecx, [ebx + 0x50]
push ecx
call fcn.00604fd4
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffff
je 0x5b5191
lea eax, [ebp - 0x50]
push eax
push 0
push 0
mov edx, dword [ebp - 0x44]
push edx
call fcn.00605058
push 0
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00605052
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.00604fc2
mov edx, dword [ebp - 0x40]
push edx
push 8
push 1
lea ecx, [ebp - 0x28]
push ecx
call fcn.005fb5da
add esp, 0x10
cmp eax, 8
jne 0x5b5191
cmp dword [ebp - 0x28], 0x646f4d
jne 0x5b5191
cmp dword [ebp - 0x24], 0x100
jae 0x5b5191
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x1160]
push eax
mov edx, dword [ebp - 0x24]
push edx
push 1
push ecx
call fcn.005fb5da
add esp, 0x10
cmp eax, dword [ebp - 0x24]
jne 0x5b5191
xor eax, eax
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
push 0x10
push 0
lea eax, [ebp - 0x60]
push eax
call fcn.005f95aa
add esp, 0xc
xor edx, edx
mov dword [ebx + 0x3e1], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x4d7364]
jne 0x5b4248
cmp dword [0x4d77dc], 0
jne 0x5b424c
xor eax, eax
jmp 0x5b4251
mov eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebx + 0x10], 0
jbe 0x5b4268
mov edx, dword [ebx + 0x10]
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x5b4297
push 3
mov ecx, dword [ebx + 0x10]
push ecx
mov eax, dword [ebx + 0xc]
push eax
mov edx, dword [ebp - 0x38]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebx + 0x10]
je 0x5b4297
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00605100
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x5b42b1
mov edx, dword [ebx + 0x10]
push edx
mov ecx, dword [ebx + 0xc]
push ecx
mov eax, dword [ebp - 0x38]
push eax
call fcn.005b72ee
add esp, 0xc
cmp dword [ebp - 0x48], 0
jne 0x5b42d8
call fcn.006050dc
mov edx, dword [ebp - 0x1c]
add edx, 0x1f4
cmp eax, edx
jbe 0x5b42d8
mov ecx, dword [0x4d54d8]
push ecx
call fcn.00605592
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x40]
push eax
push 8
push 1
lea edx, [ebp - 0x28]
push edx
call fcn.005fb5da
add esp, 0x10
cmp eax, 8
je 0x5b4307
push 0x4bbb2b
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
mov eax, dword [ebp - 0x28]
cmp eax, 0x74644a0a
je 0x5b4369
cmp eax, 0x616e410a
je 0x5b4369
cmp eax, 0x636e410a
je 0x5b4369
cmp eax, 0x6172540a
je 0x5b4369
cmp eax, 0x6372540a
je 0x5b4369
mov esi, dword [ebp - 0x24]
cmp esi, 0x1100
jae 0x5b4353
mov eax, dword [ebp - 0x40]
push eax
push esi
push 1
lea edx, [ebp - 0x1160]
push edx
call fcn.005fb5da
add esp, 0x10
cmp eax, dword [ebp - 0x24]
je 0x5b4369
push 0x4bbb2b
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
cmp dword [ebp - 0x28], 0x7265560a
jne 0x5b438c
push 0x10
lea ecx, [ebp - 0x1160]
push ecx
lea eax, [ebp - 0x60]
push eax
call fcn.005f953a
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6c69460a
jne 0x5b43d8
cmp dword [0x4d7358], 0
jne 0x5b42b1
push 0x104
lea edx, [ebx + 0x50]
push edx
lea ecx, [ebp - 0x1160]
push ecx
call fcn.005f995e
add esp, 0xc
test eax, eax
je 0x5b42b1
push 0x4bbb45
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
cmp dword [ebp - 0x28], 0x7a69530a
jne 0x5b4414
push 4
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x1160]
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x5b42b1
push 0x4bbb6c
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
cmp dword [ebp - 0x28], 0x7473540a
jne 0x5b445d
cmp dword [0x4d735c], 0
jne 0x5b42b1
push 8
lea ecx, [ebp - 0x50]
push ecx
lea eax, [ebp - 0x1160]
push eax
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x5b42b1
push 0x4bbb91
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
cmp dword [ebp - 0x28], 0x6566530a
jne 0x5b4477
mov edx, dword [ebp - 0x1160]
mov dword [ebx + 0x3e1], edx
jmp 0x5b42b1
mov eax, dword [ebp - 0x28]
mov edx, eax
and edx, 0xffffff
cmp edx, 0x73550a
jne 0x5b4523
cmp dword [ebp + 0x14], 0
jne 0x5b4523
mov edx, eax
mov eax, 0x4bba0c
shr edx, 0x18
and edx, 0xff
xor edi, edi
mov ecx, dword [eax]
and ecx, 0xff
cmp edx, ecx
je 0x5b44bf
inc edi
add eax, 4
cmp edi, 0x1e
jl 0x5b44aa
cmp edi, 0x1e
jge 0x5b42b1
mov esi, dword [ebp - 0x1160]
mov eax, dword [edi*4 + 0x4bba0c]
test eax, 0x10000
je 0x5b44e9
cmp dword [0x4d9208], 0
je 0x5b42b1
test ah, 0x80
jne 0x5b450d
cmp esi, dword [ebx + 4]
jb 0x5b450b
cmp dword [ebp - 0x18], 0
je 0x5b42b1
test byte [edi*4 + 0x4bba0e], 2
je 0x5b42b1
add esi, dword [ebx]
lea ecx, [ebp - 0x115c]
push ecx
push edx
push esi
call fcn.005ba30e
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6372500a
jne 0x5b457f
cmp dword [ebp + 0x14], 0
jne 0x5b457f
cmp dword [ebp - 0x24], 0x20
jne 0x5b42b1
lea esi, [ebp - 0x1160]
lea edi, [ebp - 0x1284]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1284]
cmp eax, dword [ebx + 4]
jae 0x5b42b1
mov edx, dword [ebx]
lea ecx, [ebp - 0x1284]
add dword [ebp - 0x1284], edx
push ecx
push 0x4dc8cd
call fcn.005aaf06
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6977530a
jne 0x5b4619
cmp dword [ebp + 0x14], 0
jne 0x5b4619
cmp dword [ebp - 0x24], 0x20
jne 0x5b42b1
lea esi, [ebp - 0x1160]
lea edi, [ebp - 0x12a4]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 4]
cmp eax, dword [ebp - 0x12a4]
jbe 0x5b42b1
cmp eax, dword [ebp - 0x1298]
jbe 0x5b42b1
cmp eax, dword [ebp - 0x1294]
jbe 0x5b42b1
cmp eax, dword [ebp - 0x1290]
jbe 0x5b42b1
mov eax, dword [ebx]
lea edx, [ebp - 0x12a4]
add dword [ebp - 0x12a4], eax
add dword [ebp - 0x1298], eax
add dword [ebp - 0x1294], eax
add dword [ebp - 0x1290], eax
push edx
push 0x4dca05
call fcn.005aaf06
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6966430a
jne 0x5b4676
cmp dword [ebp + 0x14], 0
jne 0x5b4676
cmp dword [ebp - 0x24], 8
jne 0x5b42b1
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp esi, dword [ebx]
jb 0x5b42b1
mov eax, dword [ebx]
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x5b42b1
mov eax, dword [ebp - 0x115c]
add eax, dword [ebx]
cmp eax, dword [ebx]
jb 0x5b4664
mov edx, dword [ebx]
add edx, dword [ebx + 4]
cmp eax, edx
jb 0x5b4667
or eax, 0xffffffff
push eax
push esi
call fcn.005f127e
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6d66430a
jne 0x5b4738
cmp dword [ebp + 0x14], 0
jne 0x5b4738
cmp dword [ebp - 0x24], 0x10
jne 0x5b42b1
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
mov eax, dword [ebx]
cmp esi, eax
jb 0x5b42b1
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x5b42b1
mov edx, dword [0x4d7218]
xor edi, edi
mov dword [ebp - 0x3c], edx
jmp 0x5b46e5
push 8
lea eax, [ebp - 0x1158]
push eax
mov edx, dword [ebp - 0x3c]
add edx, 0x48
push edx
call fcn.005f995e
add esp, 0xc
test eax, eax
je 0x5b46ed
inc edi
add dword [ebp - 0x3c], 0x465
cmp edi, dword [0x4d7200]
jl 0x5b46c1
cmp edi, dword [0x4d7200]
jge 0x5b4728
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx]
add eax, dword [ebp - 0x115c]
cmp eax, dword [edx]
jb 0x5b4716
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3c]
add edx, dword [ecx + 4]
cmp eax, edx
jb 0x5b4719
or eax, 0xffffffff
push eax
push esi
call fcn.005f127e
add esp, 8
jmp 0x5b42b1
push 0xffffffffffffffff
push esi
call fcn.005f127e
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6166430a
jne 0x5b4783
cmp dword [ebp + 0x14], 0
jne 0x5b4783
cmp dword [ebp - 0x24], 8
jne 0x5b42b1
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp esi, dword [ebx]
jb 0x5b42b1
mov eax, dword [ebx]
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x5b42b1
mov edx, dword [ebp - 0x115c]
push edx
push esi
call fcn.005f127e
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x7470420a
jne 0x5b47d6
cmp dword [ebp + 0x14], 0
jne 0x5b47d6
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp esi, dword [ebx + 0xc]
jb 0x5b47a9
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jb 0x5b47b7
cmp dword [ebp - 0x18], 0
je 0x5b42b1
or dword [ebp - 0xc], 4
push 0
push 0
mov edx, dword [ebp - 0x115c]
or edx, 0x24000
push edx
push esi
call fcn.0056f56a
add esp, 0x10
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x74644a0a
jne 0x5b48a5
push ebx
call fcn.005d51da
cmp dword [ebp + 0x14], 0
pop ecx
jne 0x5b488e
cmp dword [0x4d9208], 0
je 0x5b488e
cmp dword [ebp - 0x10], 0
jne 0x5b488e
mov ecx, dword [ebp - 0x24]
push ecx
push 0
call fcn.006050fa
mov dword [ebx + 0x421], eax
cmp dword [ebx + 0x421], 0
jne 0x5b483c
push 1
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x40]
push edx
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x24]
push eax
push 1
mov edx, dword [ebx + 0x421]
push edx
call fcn.005fb5da
add esp, 0x10
cmp eax, dword [ebp - 0x24]
jne 0x5b4871
mov eax, dword [ebp - 0x24]
mov ecx, 9
xor edx, edx
div ecx
mov dword [ebx + 0x425], eax
jmp 0x5b42b1
push ebx
call fcn.005d51da
pop ecx
push 0x4bbb2b
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
push 1
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x40]
push edx
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x616e410a
jne 0x5b497c
cmp dword [ebp + 0x14], 0
jne 0x5b4965
cmp dword [0x4d9208], 0
je 0x5b4965
mov ecx, dword [ebx + 0x10]
cmp ecx, dword [ebp - 0x24]
jne 0x5b4965
cmp dword [ebx + 0x16c], 0
jne 0x5b4965
cmp dword [ebp - 0x10], 0
jne 0x5b4965
mov eax, dword [ebp - 0x24]
push eax
push 0
call fcn.006050fa
mov dword [ebx + 0x16c], eax
cmp dword [ebx + 0x16c], 0
jne 0x5b4919
push 1
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
mov eax, dword [ebp - 0x40]
push eax
mov edx, dword [ebp - 0x24]
push edx
push 1
mov ecx, dword [ebx + 0x16c]
push ecx
call fcn.005fb5da
add esp, 0x10
cmp eax, dword [ebp - 0x24]
je 0x5b42b1
mov eax, dword [ebx + 0x16c]
push eax
call fcn.00605100
xor edx, edx
mov dword [ebx + 0x16c], edx
push 0x4bbb2b
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x40]
push eax
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x636e410a
jne 0x5b4a97
cmp dword [ebp + 0x14], 0
jne 0x5b4a80
cmp dword [0x4d9208], 0
je 0x5b4a80
cmp dword [ebx + 0x16c], 0
jne 0x5b4a80
cmp dword [ebp - 0x10], 0
jne 0x5b4a80
mov edx, dword [ebp - 0x24]
push edx
push 0
call fcn.006050fa
mov esi, eax
test esi, esi
jne 0x5b49df
push 1
mov eax, dword [ebp - 0x24]
push eax
mov edx, dword [ebp - 0x40]
push edx
call fcn.005fb66a
add esp, 0xc
jmp 0x5b4a6d
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x24]
push eax
push 1
push esi
call fcn.005fb5da
add esp, 0x10
cmp eax, dword [ebp - 0x24]
je 0x5b4a13
push esi
call fcn.00605100
push 0x4bbb2b
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
jmp 0x5b5191
mov edx, dword [ebp - 0x24]
push edx
push esi
call fcn.0055e462
add esp, 8
mov edi, eax
test eax, eax
je 0x5b4a6d
push edi
push 0
call fcn.006050fa
mov dword [ebx + 0x16c], eax
cmp dword [ebx + 0x16c], 0
je 0x5b4a6d
push edi
mov edx, dword [ebx + 0x16c]
push edx
mov ecx, dword [ebp - 0x24]
push ecx
push esi
call fcn.0055e48a
add esp, 0x10
mov edi, eax
cmp edi, dword [ebx + 0x10]
je 0x5b4a6d
mov eax, dword [ebx + 0x16c]
push eax
call fcn.00605100
xor edx, edx
mov dword [ebx + 0x16c], edx
test esi, esi
je 0x5b42b1
push esi
call fcn.00605100
jmp 0x5b42b1
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x40]
push eax
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x7263430a
jne 0x5b4b40
mov edx, dword [ebp - 0x1160]
mov dword [ebx + 0x170], edx
cmp dword [ebp + 0x14], 0
jne 0x5b42b1
cmp dword [ebp + 0xc], 0
je 0x5b4af8
push 3
push 4
mov ecx, dword [ebp + 0xc]
push ecx
lea eax, [ebp - 0x30]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, 4
jne 0x5b4af8
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0x30]
jne 0x5b4af8
push 0
push ebx
mov ecx, dword [ebx + 0x10]
push ecx
mov eax, dword [ebx + 0xc]
push eax
push 0
call fcn.005aab2a
add esp, 0x14
jmp 0x5b4b14
mov edx, dword [ebx]
sub edx, dword [ebx + 0x160]
push edx
push ebx
mov ecx, dword [ebx + 0x10]
push ecx
mov eax, dword [ebx + 0xc]
push eax
push 0
call fcn.005aab2a
add esp, 0x14
cmp dword [0x4d7360], 0
je 0x5b4b28
mov dword [ebx + 0x170], eax
jmp 0x5b42b1
cmp eax, dword [ebx + 0x170]
je 0x5b42b1
mov dword [ebp - 0x10], 1
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6172540a
jne 0x5b4b84
cmp dword [ebp + 0x14], 0
jne 0x5b4b6d
cmp dword [0x4d9214], 0
je 0x5b4b6d
mov edx, dword [ebx + 0x10]
cmp edx, dword [ebp - 0x24]
jne 0x5b4b6d
cmp dword [ebx + 0x174], 0
je 0x5b42b1
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x40]
push eax
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6372540a
jne 0x5b4bc0
cmp dword [ebp + 0x14], 0
jne 0x5b4ba9
cmp dword [0x4d9214], 0
je 0x5b4ba9
cmp dword [ebx + 0x174], 0
je 0x5b42b1
push 1
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.005fb66a
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6176530a
jne 0x5b4c7a
mov eax, dword [ebp - 0x24]
sub eax, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x5b42b1
movzx edi, word [ebp - 0x1160]
cmp edi, 0x25
jge 0x5b42b1
movzx eax, word [ebp - 0x115e]
lea edx, [edi + edi*2]
cmp eax, dword [edx*4 + 0x4bb858]
jge 0x5b42b1
lea ecx, [edi + edi*2]
mov edx, dword [ecx*4 + 0x4bb854]
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jg 0x5b42b1
lea edx, [edi + edi*2]
mov esi, dword [edx*4 + 0x4bb850]
test esi, esi
je 0x5b42b1
mov edx, dword [ebp - 8]
imul edx, eax
add esi, edx
cmp dword [ebp - 4], 0
jle 0x5b4c54
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x115c]
push eax
push ecx
push esi
call fcn.005f953a
add esp, 0xc
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 4]
jle 0x5b42b1
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 4]
push edx
push 0
add esi, dword [ebp - 4]
push esi
call fcn.005f95aa
add esp, 0xc
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x6370420a
jne 0x5b4d51
mov esi, dword [ebp - 0x1160]
add esi, dword [ebx]
cmp dword [ebp - 0x18], 0
jne 0x5b4caa
cmp esi, dword [ebx]
jb 0x5b42b1
mov eax, dword [ebx]
add eax, dword [ebx + 4]
cmp esi, eax
jae 0x5b42b1
cmp esi, dword [ebx + 0xc]
jb 0x5b4cc3
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x5b4cc3
cmp dword [ebp + 0x14], 0
jne 0x5b42b1
push 3
push 1
push esi
lea ecx, [ebp - 0x31]
push ecx
call fcn.005b7316
add esp, 0x10
cmp eax, 1
jne 0x5b4ce4
mov al, byte [ebp - 0x1158]
cmp al, byte [ebp - 0x31]
je 0x5b4d32
push 0
mov dl, byte [ebp - 0x1158]
push edx
push 0x26400
push esi
call fcn.0056f56a
add esp, 0x10
cmp esi, dword [ebx]
jb 0x5b4d08
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
cmp esi, ecx
jb 0x5b4d11
or dword [ebp - 0xc], 4
jmp 0x5b42b1
cmp esi, dword [ebx + 0xc]
jb 0x5b4d20
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jb 0x5b4d29
or dword [ebp - 0xc], 2
jmp 0x5b42b1
or dword [ebp - 0xc], 1
jmp 0x5b42b1
push 0
push 0
mov edx, dword [ebp - 0x115c]
or edx, 0x24000
push edx
push esi
call fcn.0056f56a
add esp, 0x10
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x7262480a
jne 0x5b4dcd
mov ecx, dword [ebx]
cmp ecx, dword [0x4d7364]
jne 0x5b42b1
cmp dword [0x4d375c], 0
je 0x5b42b1
mov edi, dword [ebp - 0x1160]
test edi, edi
jl 0x5b42b1
cmp edi, 4
jge 0x5b42b1
mov eax, edi
mov edx, dword [ebp - 0x115c]
shl eax, 3
mov ecx, edi
sub eax, edi
shl ecx, 3
sub ecx, edi
mov dword [eax*4 + 0x4d8d70], edx
mov edx, edi
mov eax, dword [ebp - 0x1158]
shl edx, 3
mov dword [ecx*4 + 0x4d8d74], eax
sub edx, edi
mov ecx, dword [ebp - 0x1154]
mov dword [edx*4 + 0x4d8d78], ecx
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x7468410a
jne 0x5b4e30
mov eax, dword [ebp - 0x1160]
mov dword [ebp - 0x14bc], eax
mov eax, dword [ebp - 0x115c]
mov dword [ebp - 0x14b8], eax
mov eax, dword [ebp - 0x1158]
mov dword [ebp - 0x14b4], eax
mov edx, dword [ebp - 0x14bc]
add edx, dword [ebp - 0x14b8]
cmp edx, dword [ebx + 4]
jae 0x5b42b1
mov ecx, dword [ebx]
lea eax, [ebp - 0x14bc]
add dword [ebp - 0x14bc], ecx
push eax
push 0x4d9034
call fcn.005aaf06
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x7461500a
jne 0x5b4eed
mov edi, dword [ebp - 0x115c]
mov eax, edi
add eax, eax
add eax, 8
cmp eax, dword [ebp - 0x24]
jne 0x5b42b1
test edi, edi
je 0x5b42b1
cmp edi, 0x100
ja 0x5b42b1
mov edx, dword [ebx]
add edx, dword [ebp - 0x1160]
mov dword [ebp - 0x14b0], edx
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x14b0]
ja 0x5b42b1
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp eax, dword [ebp - 0x14b0]
jb 0x5b42b1
mov dword [ebp - 0x14ac], edi
xor edx, edx
mov dword [ebp - 0x14a8], edx
push edi
lea ecx, [ebp - 0x1158]
push ecx
lea eax, [ebp - 0x14a4]
push eax
call fcn.005f953a
add esp, 0xc
lea edx, [ebp - 0x1158]
add edx, edi
lea ecx, [ebp - 0x13a4]
push edi
push edx
push ecx
call fcn.005f953a
add esp, 0xc
lea eax, [ebp - 0x14b0]
push eax
push 0x4e316c
call fcn.005aaf06
add esp, 8
jmp 0x5b42b1
cmp dword [ebp - 0x28], 0x646e450a
je 0x5b4f1d
cmp dword [ebp + 0x14], 0
jne 0x5b42b1
lea edx, [ebp - 0x1160]
push edx
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [ebp - 0x28]
push eax
push ebx
call fcn.005ece42
add esp, 0x10
jmp 0x5b42b1
cmp dword [ebp - 0x60], 1
jne 0x5b4f29
cmp dword [ebp - 0x5c], 0xa
je 0x5b4f43
cmp dword [0x4d920c], 0
je 0x5b4f43
mov edx, dword [ebx]
cmp edx, dword [0x4d7364]
jne 0x5b4f43
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x10], 0
jne 0x5b4f4f
cmp dword [ebp - 0x14], 0
je 0x5b4f74
cmp dword [ebx + 0x16c], 0
je 0x5b4f6c
mov ecx, dword [ebx + 0x16c]
push ecx
call fcn.00605100
xor eax, eax
mov dword [ebx + 0x16c], eax
xor edx, edx
mov dword [ebx + 0x170], edx
cmp dword [ebp - 0x10], 0
je 0x5b50ea
push 0x4bbbbb
push 0xffffffffffffffff
push 0
call fcn.005b0616
add esp, 0xc
push 0x31
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call fcn.005bafd2
add esp, 0xc
push 0x34
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x36
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call fcn.005bafd2
add esp, 0xc
push 0x37
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call fcn.005bafd2
add esp, 0xc
push 0x3d
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x3a
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call fcn.005bafd2
add esp, 0xc
push 0x38
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call fcn.005bafd2
add esp, 0xc
push 0x3b
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x3c
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call fcn.005bafd2
add esp, 0xc
push 0x30
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call fcn.005bafd2
add esp, 0xc
push 0x39
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005bafd2
add esp, 0xc
push 0x3e
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
call fcn.005bafd2
add esp, 0xc
push 0x3f
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call fcn.005bafd2
add esp, 0xc
push ebx
call fcn.005d51da
pop ecx
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
push 0x4dc8cd
call fcn.005ab312
add esp, 0xc
mov eax, dword [ebx]
add eax, dword [ebx + 4]
push eax
mov edx, dword [ebx]
push edx
push 0x4dca05
call fcn.005ab312
add esp, 0xc
push 1
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
push ecx
mov eax, dword [ebx]
push eax
call fcn.0056f522
add esp, 0xc
mov edx, dword [ebx]
add edx, dword [ebx + 4]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005f1136
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebx + 0x3e1], edx
cmp dword [ebp - 0xc], 0
je 0x5b517d
test byte [ebp - 0xc], 3
je 0x5b510f
lea ecx, [ebx + 0x48]
push ecx
push 8
push 0x4bbbdf
call fcn.005aa026
add esp, 0xc
jmp 0x5b511a
push 0x4bbd58
call fcn.005aa026
pop ecx
mov esi, dword [ebx]
push 0
lea eax, [ebp - 0x20]
push eax
push esi
call fcn.0056fe2a
add esp, 0xc
mov esi, eax
test esi, esi
je 0x5b517d
mov edx, dword [ebx]
add edx, dword [ebx + 4]
cmp esi, edx
jae 0x5b517d
test byte [ebp - 0x1f], 2
je 0x5b517a
mov eax, dword [ebx + 0xc]
cmp esi, eax
jb 0x5b514e
add eax, dword [ebx + 0x10]
cmp esi, eax
jb 0x5b5154
test byte [ebp - 0xc], 2
jne 0x5b5168
mov eax, dword [ebx + 0xc]
cmp esi, eax
jb 0x5b517a
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x5b517a
test byte [ebp - 0xc], 1
je 0x5b517a
push 0
push 0
push 0x6400
push esi
call fcn.0056f56a
add esp, 0x10
inc esi
jmp 0x5b511c
mov edx, dword [ebx]
cmp edx, dword [0x4d7364]
jne 0x5b5191
mov dword [0x4d9030], 1
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.005faee2
pop ecx
push 0
call fcn.005ba58a
pop ecx
push 0
push 0
push 0
call fcn.005b72ee
add esp, 0xc
cmp dword [ebp - 0x38], 0
je 0x5b51c0
mov eax, dword [ebp - 0x38]
push eax
call fcn.00605100
cmp dword [ebp - 0x48], 0
je 0x5b51cf
mov edx, dword [ebp - 0x48]
push edx
call fcn.00605592
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret