Function at 0x5d36ba
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd0
push ebx
push esi
push edi
cmp dword [ebp + 0x1c], 0
je 0x5d36d2
mov eax, dword [ebp + 0x1c]
mov byte [eax], 0
cmp dword [ebp + 0x14], 0
je 0x5d36de
cmp dword [ebp + 0x18], 1
jg 0x5d36e5
xor eax, eax
jmp 0x5d42aa
mov byte [ebp - 0x230], 0
xor edi, edi
xor eax, eax
mov dword [ebp - 0x30], eax
xor esi, esi
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x330]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005baf0e
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x35
jne 0x5d3750
lea eax, [ebp - 0x330]
cmp dword [0x4d9170], 0
push eax
je 0x5d372f
mov edx, 0x4c76ce
jmp 0x5d3734
mov edx, 0x4c76d4
push edx
push 0x4c76c6
lea eax, [ebp - 0x230]
push eax
call fcn.005fcc36
add esp, 0x10
mov edi, eax
jmp 0x5d3a9e
cmp dword [ebp - 8], 0
je 0x5d3868
cmp dword [ebp - 8], 0x33
je 0x5d3778
test byte [ebp + 0x10], 2
je 0x5d376c
test byte [ebp + 0x10], 0x80
je 0x5d3778
mov eax, dword [ebp + 8]
push eax
call fcn.005b3e22
pop ecx
mov esi, eax
test byte [ebp + 0x10], 0x80
je 0x5d37be
test esi, esi
je 0x5d37be
mov eax, dword [esi + 0xc]
cmp eax, dword [ebp + 8]
ja 0x5d3792
add eax, dword [esi + 0x10]
cmp eax, dword [ebp + 8]
ja 0x5d37be
cmp dword [0x4d9170], 0
je 0x5d37a2
mov edx, 0x4c76de
jmp 0x5d37a7
mov edx, 0x4c76e5
push edx
push 0x4c76da
lea eax, [ebp - 0x230]
push eax
call fcn.005fcc36
add esp, 0xc
mov edi, eax
cmp dword [ebp - 8], 0x31
je 0x5d37ca
cmp dword [ebp - 8], 0x33
jne 0x5d37d3
mov byte [ebp + edi - 0x230], 0x3c
inc edi
cmp dword [ebp - 8], 0x33
jne 0x5d37e4
mov byte [ebp + edi - 0x230], 0x26
inc edi
jmp 0x5d3820
test byte [ebp + 0x10], 2
jne 0x5d3820
test esi, esi
je 0x5d3820
test byte [ebp + 0x10], 1
je 0x5d3802
mov eax, dword [ebp + 0xc]
push eax
call fcn.005b3e22
pop ecx
cmp esi, eax
je 0x5d3820
lea edx, [esi + 0x48]
lea ecx, [ebp - 0x230]
push edx
push 8
add ecx, edi
push 0x4c76ec
push ecx
call fcn.005fcc36
add esp, 0x10
add edi, eax
lea eax, [ebp - 0x330]
lea edx, [ebp - 0x230]
push eax
add edx, edi
push 0x4c76f2
push edx
call fcn.005fcc36
add esp, 0xc
add edi, eax
cmp dword [ebp - 8], 0x31
je 0x5d384b
cmp dword [ebp - 8], 0x33
jne 0x5d3854
mov byte [ebp + edi - 0x230], 0x3e
inc edi
mov byte [ebp + edi - 0x230], 0
and dword [ebp + 0x10], 0xfffffdff
jmp 0x5d3a9e
mov ecx, dword [ebp + 8]
push ecx
call fcn.005b7a52
pop ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x5d388e
test byte [ebp + 0x10], 4
je 0x5d388e
mov eax, dword [ebp + 0x14]
mov byte [eax], 0
xor eax, eax
jmp 0x5d42aa
test byte [ebp + 0x10], 0x10
je 0x5d38c3
mov edx, dword [ebp + 8]
push edx
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x5d3a9e
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi]
jb 0x5d3a9e
mov edx, dword [esi]
add edx, dword [esi + 4]
cmp edx, dword [ebp + 0xc]
jbe 0x5d3a9e
jmp 0x5d38dd
test byte [ebp + 0x10], 8
je 0x5d38dd
mov ecx, dword [ebp + 8]
push ecx
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x5d3a9e
cmp dword [ebp - 0x30], 0
je 0x5d3916
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x30]
add ebx, dword [eax + 4]
sub ebx, dword [ebp + 8]
cmp ebx, 0x100
jbe 0x5d38fe
mov ebx, 0x100
push 3
push ebx
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0x430]
push edx
call fcn.005b7316
add esp, 0x10
mov ebx, eax
cmp ebx, 6
jb 0x5d3a2b
test byte [ebp + 0x10], 0x40
je 0x5d3a2b
cmp word [ebp - 0x430], 0x25ff
jne 0x5d3a2b
lea ecx, [ebp - 0x330]
push ecx
push 0x33
mov eax, dword [ebp - 0x42e]
push eax
call fcn.005ba9ca
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x5d3998
lea edx, [ebp - 0x330]
cmp dword [0x4d9170], 0
push edx
je 0x5d3970
mov ecx, 0x4c76fe
jmp 0x5d3975
mov ecx, 0x4c6888
push ecx
push 0x4c76f5
lea eax, [ebp - 0x230]
push eax
call fcn.005fcc36
add esp, 0x10
mov edi, eax
mov dword [ebp - 0x14], 1
jmp 0x5d3a2b
test byte [ebp + 0x11], 0x20
je 0x5d3a2b
push 3
push 4
mov eax, dword [ebp - 0x42e]
push eax
lea edx, [ebp - 0x1c]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, 4
jne 0x5d3a2b
lea ecx, [ebp - 0x330]
push ecx
push 0x32
mov eax, dword [ebp - 0x1c]
push eax
call fcn.005ba9ca
add esp, 0xc
test eax, eax
jle 0x5d3a2b
mov edx, dword [ebp - 0x1c]
push edx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x5d3a2b
lea edx, [ebp - 0x330]
push edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x48
push ecx
push 8
cmp dword [0x4d9170], 0
je 0x5d3a08
mov eax, 0x4c76fe
jmp 0x5d3a0d
mov eax, 0x4c6888
push eax
push 0x4c7702
lea edx, [ebp - 0x230]
push edx
call fcn.005fcc36
add esp, 0x18
mov edi, eax
mov dword [ebp - 0x14], 1
test edi, edi
jne 0x5d3a9e
test byte [ebp + 0x10], 0x20
jne 0x5d3a9e
test byte [ebp + 0x10], 0xa
jne 0x5d3a47
mov eax, dword [ebp + 8]
push eax
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
je 0x5d3a84
test byte [ebp + 0x10], 1
je 0x5d3a62
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi]
jb 0x5d3a62
mov edx, dword [esi]
add edx, dword [esi + 4]
cmp edx, dword [ebp + 0xc]
ja 0x5d3a84
mov ecx, dword [ebp + 8]
push ecx
lea eax, [esi + 0x48]
push eax
push 8
push 0x4c7710
lea edx, [ebp - 0x230]
push edx
call fcn.005fcc36
add esp, 0x14
mov edi, eax
jmp 0x5d3a9e
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x230]
push eax
push 0x4c7715
push edx
call fcn.005fcc36
add esp, 0xc
mov edi, eax
cmp dword [ebp + 0x1c], 0
je 0x5d4260
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 8], 0x31
jne 0x5d3b3b
lea edx, [ebp - 0x330]
push edx
push 0x32
mov ecx, dword [ebp + 8]
push ecx
call fcn.005ba9ca
add esp, 0xc
test eax, eax
jle 0x5d3b3b
test esi, esi
jne 0x5d3ae0
mov eax, dword [ebp + 8]
push eax
call fcn.005b3e22
pop ecx
mov esi, eax
test esi, esi
jne 0x5d3b13
mov eax, dword [ebp + 0x1c]
push edi
mov esi, eax
xor eax, eax
lea edi, [ebp - 0x330]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
jmp 0x5d4260
lea eax, [ebp - 0x330]
add esi, 0x48
push eax
push 0xf6
push esi
push 8
push 0x4c771b
mov eax, dword [ebp + 0x1c]
push eax
call fcn.005fcc36
add esp, 0x18
jmp 0x5d4260
cmp dword [ebp - 8], 0
je 0x5d3b4e
mov edx, dword [ebp + 8]
push edx
call fcn.005b7a52
pop ecx
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x25], 0
test byte [ebp + 0x11], 3
je 0x5d3b74
lea ecx, [ebp - 0x20]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005b3f0a
add esp, 8
test eax, eax
je 0x5d3b74
mov dl, byte [eax]
and dl, 0x1f
mov byte [ebp - 0x25], dl
cmp dword [ebp - 0x30], 0
je 0x5d3bb1
test ebx, ebx
jne 0x5d3bb1
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ebx, dword [ecx]
add ebx, dword [eax + 4]
sub ebx, dword [ebp + 8]
cmp ebx, 0x100
jbe 0x5d3b99
mov ebx, 0x100
push 3
push ebx
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0x430]
push edx
call fcn.005b7316
add esp, 0x10
mov ebx, eax
cmp dword [ebp - 0x14], 0
jne 0x5d3c65
cmp ebx, 6
jb 0x5d3c65
test byte [ebp + 0x10], 0x40
je 0x5d3c65
cmp word [ebp - 0x430], 0x25ff
jne 0x5d3c65
push 3
push 4
mov ecx, dword [ebp - 0x42e]
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, 4
jne 0x5d3c65
lea edx, [ebp - 0x330]
push edx
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.005baf0e
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x5d3c65
push 0
push 0xf9
mov eax, dword [ebp + 0x1c]
add eax, 7
push eax
push 0xe4
push 0
mov edx, dword [ebp - 0x24]
push edx
call fcn.005d36ba
add esp, 0x18
test eax, eax
je 0x5d3c65
push 7
cmp dword [0x4d9170], 0
je 0x5d3c4c
mov ecx, 0x4c7725
jmp 0x5d3c51
mov ecx, 0x4c772d
push ecx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.005f953a
add esp, 0xc
mov dword [ebp - 0x18], 1
mov edx, dword [ebp + 0x1c]
cmp byte [edx], 0
jne 0x5d3d3b
cmp dword [0x4d36d8], 1
jne 0x5d3d3b
cmp dword [ebp - 0x14], 0
jne 0x5d3d3b
cmp ebx, 0xa
jb 0x5d3d3b
test byte [ebp + 0x10], 0x40
je 0x5d3d3b
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, 0x68
jne 0x5d3d3b
mov edx, dword [ebp - 0x42f]
mov dword [ebp - 0x24], edx
cmp edx, 0x80000000
jb 0x5d3d3b
xor eax, eax
mov al, byte [ebp - 0x42b]
cmp eax, 0xe9
jne 0x5d3d3b
mov ecx, dword [ebp - 0x42a]
add ecx, dword [ebp + 8]
add ecx, 0xa
cmp ecx, 0x80000000
jb 0x5d3d3b
lea eax, [ebp - 0x330]
push eax
mov edx, dword [ebp - 0x24]
push edx
call fcn.005baf0e
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x5d3d3b
push 0
push 0xf7
mov ecx, dword [ebp + 0x1c]
add ecx, 9
push ecx
push 0xe4
push 0
mov eax, dword [ebp - 0x24]
push eax
call fcn.005d36ba
add esp, 0x18
test eax, eax
je 0x5d3d3b
push 9
push 0x4c7735
mov edx, dword [ebp + 0x1c]
push edx
call fcn.005f953a
mov dword [ebp - 0x18], 1
add esp, 0xc
cmp ebx, 4
jb 0x5d411b
test byte [ebp + 0x11], 1
je 0x5d411b
xor ecx, ecx
mov cl, byte [ebp - 0x25]
cmp ecx, 0x1d
je 0x5d411b
xor eax, eax
mov al, byte [ebp - 0x25]
cmp eax, 0x1e
je 0x5d411b
xor edx, edx
mov dl, byte [ebp - 0x25]
cmp edx, 0x1f
je 0x5d411b
mov dl, byte [ebp - 0x430]
xor eax, eax
mov al, dl
cmp eax, 0xc3
je 0x5d3da5
cmp eax, 0xcc
je 0x5d3da5
cmp eax, 0xe8
je 0x5d3da5
cmp eax, 0xe9
je 0x5d3da5
cmp eax, 0xeb
jne 0x5d3dac
xor ecx, ecx
mov dword [ebp - 0xc], ecx
jmp 0x5d3db6
push edx
call fcn.005aa80a
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
mov eax, 1
je 0x5d3dc2
dec eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 1
cmp ebx, dword [ebp - 0x1c]
jbe 0x5d3df6
mov edx, dword [ebp - 0x1c]
mov cl, byte [ebp + edx - 0x430]
push ecx
call fcn.005aa80a
pop ecx
test eax, eax
je 0x5d3df6
cmp eax, 2
jne 0x5d3dee
inc dword [ebp - 0x10]
inc dword [ebp - 0x1c]
cmp ebx, dword [ebp - 0x1c]
ja 0x5d3dd1
cmp dword [ebp - 0x1c], 2
jb 0x5d3e2f
mov eax, dword [ebp + 8]
push eax
push esi
call fcn.005b3e8a
add esp, 8
test eax, eax
je 0x5d3e2f
mov edx, dword [eax]
cmp edx, dword [ebp + 8]
ja 0x5d3e1b
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jmp 0x5d3e2f
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1c]
cmp edx, ecx
jae 0x5d3e2f
mov eax, dword [eax]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0xc], 0
je 0x5d4036
cmp dword [ebp - 0x1c], 2
jb 0x5d4036
cmp ebx, dword [ebp - 0x1c]
je 0x5d3e59
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x430], 0
jne 0x5d4036
cmp ebx, 4
jb 0x5d3efa
test esi, esi
je 0x5d3e7f
mov edx, dword [esi]
mov eax, dword [ebp - 0x430]
cmp edx, eax
ja 0x5d3efa
mov edx, dword [esi]
add edx, dword [esi + 4]
cmp eax, edx
jae 0x5d3efa
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5d3efa
mov al, byte [ebp - 0x430]
push eax
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
mov dl, byte [ebp - 0x42f]
push edx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
mov cl, byte [ebp - 0x42e]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
cmp dword [ebp - 0x1c], 3
jb 0x5d3eea
mov al, byte [ebp - 0x42d]
push eax
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
cmp dword [ebp - 0x1c], 4
ja 0x5d3efa
cmp dword [ebp - 0x10], 0
jne 0x5d411b
cmp dword [0x4d91cc], 0
je 0x5d3fe4
xor edx, edx
mov dl, byte [ebp - 0x430]
dec edx
jle 0x5d3fe4
xor ecx, ecx
mov cl, byte [ebp - 0x430]
cmp ecx, 0x10
jge 0x5d3fe4
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, dword [ebp - 0x1c]
jae 0x5d3fe4
xor edx, edx
mov ecx, dword [ebp - 0x1c]
dec ecx
mov dl, byte [ebp - 0x42f]
cmp edx, ecx
jbe 0x5d3fe4
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, 3
jg 0x5d3f99
mov dl, byte [ebp - 0x42f]
push edx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d3fe4
mov cl, byte [ebp - 0x42e]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d3fe4
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, 3
jl 0x5d3f99
mov dl, byte [ebp - 0x42d]
push edx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d3fe4
xor ecx, ecx
mov cl, byte [ebp - 0x430]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
push eax
push 0x4c773f
mov edx, dword [ebp + 0x1c]
push edx
call fcn.005fcc36
add esp, 0xc
mov dword [ebp - 4], eax
mov ecx, 0x100
sub ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp + 0x1c]
add eax, dword [ebp - 4]
push eax
mov edx, dword [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x42f]
push ecx
call fcn.005aa88e
add esp, 0x10
jmp 0x5d411b
cmp dword [ebp - 0x1c], 2
jbe 0x5d3ff0
cmp dword [ebp - 0x18], 0
je 0x5d3ffa
cmp dword [ebp - 0x10], 0
jne 0x5d411b
push 0x4c774b
mov eax, dword [ebp + 0x1c]
push eax
call fcn.005fcc36
add esp, 8
mov dword [ebp - 4], eax
mov edx, 0x100
sub edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp + 0x1c]
add ecx, dword [ebp - 4]
push ecx
mov eax, dword [ebp - 0x1c]
push eax
lea edx, [ebp - 0x430]
push edx
call fcn.005aa88e
add esp, 0x10
jmp 0x5d411b
cmp dword [0x4d91cc], 0
je 0x5d411b
xor ecx, ecx
mov cl, byte [ebp - 0x430]
dec ecx
jle 0x5d411b
xor eax, eax
mov al, byte [ebp - 0x430]
cmp eax, dword [ebp - 0x1c]
jae 0x5d411b
mov dl, byte [ebp - 0x42f]
push edx
call fcn.005aa872
pop ecx
test eax, eax
je 0x5d4088
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
dec eax
mov cl, byte [ebp - 0x42f]
cmp ecx, eax
jbe 0x5d411b
xor edx, edx
mov dl, byte [ebp - 0x430]
cmp edx, 3
jg 0x5d40d5
mov cl, byte [ebp - 0x42f]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
mov al, byte [ebp - 0x42e]
push eax
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
xor edx, edx
mov dl, byte [ebp - 0x430]
cmp edx, 3
jl 0x5d40d5
mov cl, byte [ebp - 0x42d]
push ecx
call fcn.005aa872
pop ecx
test eax, eax
jne 0x5d411b
xor eax, eax
mov al, byte [ebp - 0x430]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
push edx
push 0x4c773f
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.005fcc36
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, 0x100
sub eax, dword [ebp - 4]
push eax
mov edx, dword [ebp + 0x1c]
add edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp - 0x1c]
push ecx
lea eax, [ebp - 0x42f]
push eax
call fcn.005aa88e
add esp, 0x10
mov edx, dword [ebp + 0x1c]
cmp byte [edx], 0
jne 0x5d4231
cmp ebx, 8
jb 0x5d4231
test byte [ebp + 0x11], 1
je 0x5d4231
xor ecx, ecx
mov cl, byte [ebp - 0x25]
cmp ecx, 0x1d
je 0x5d4231
xor eax, eax
mov al, byte [ebp - 0x25]
cmp eax, 0x1e
je 0x5d4231
xor edx, edx
mov dl, byte [ebp - 0x25]
cmp edx, 0x1f
je 0x5d4231
mov cx, word [ebp - 0x430]
push ecx
call fcn.005aa84a
pop ecx
test eax, eax
je 0x5d4231
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x5d419b
mov edx, dword [ebp - 0x1c]
mov cx, word [ebp + edx - 0x430]
push ecx
call fcn.005aa84a
pop ecx
test eax, eax
je 0x5d41ac
add dword [ebp - 0x1c], 2
mov eax, dword [ebp - 0x1c]
inc eax
cmp ebx, eax
jbe 0x5d41ac
cmp dword [ebp - 0x1c], 0xc8
jb 0x5d4181
cmp dword [ebp - 0x1c], 4
jb 0x5d4231
mov edx, dword [ebp - 0x1c]
inc edx
cmp ebx, edx
jbe 0x5d41da
cmp dword [ebp - 0x1c], 0x10
jae 0x5d41da
mov ecx, dword [ebp - 0x1c]
cmp byte [ebp + ecx - 0x430], 0
jne 0x5d4231
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x42f], 0
jne 0x5d4231
push 0x4c7752
mov edx, dword [ebp + 0x1c]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 4], eax
xor eax, eax
lea ecx, [ebp - 0x330]
lea edx, [ebp - 0x430]
jmp 0x5d4207
mov bl, byte [edx]
inc eax
mov byte [ecx], bl
inc ecx
add edx, 2
mov ebx, dword [ebp - 0x1c]
sar ebx, 1
jns 0x5d4211
adc ebx, 0
cmp eax, ebx
jl 0x5d41fe
push 0xff
mov edx, dword [ebp + 0x1c]
add edx, dword [ebp - 4]
push edx
push eax
lea eax, [ebp - 0x330]
push eax
call fcn.005aa88e
add esp, 0x10
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx], 0
jne 0x5d4260
test byte [ebp + 0x11], 2
je 0x5d4260
xor eax, eax
mov al, byte [ebp - 0x25]
cmp eax, 0x1f
jne 0x5d4260
mov edx, dword [ebp + 0x1c]
push edi
mov esi, 0x4c775b
mov edi, edx
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
cmp edi, dword [ebp + 0x18]
jl 0x5d428d
mov edi, dword [ebp + 0x18]
mov dword [ebp - 4], 1
dec edi
jmp 0x5d4282
mov eax, edi
sub eax, dword [ebp - 4]
mov byte [ebp + eax - 0x230], 0x2e
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jg 0x5d428d
cmp edi, dword [ebp - 4]
jge 0x5d4272
push edi
lea edx, [ebp - 0x230]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.005f953a
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov byte [eax + edi], 0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret