Function at 0x538f50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x61094c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xa4], ecx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x84], esi
push edi
mov edi, dword [ebp + 0x18]
test ebx, ebx
jne 0x538fd7
lea eax, [ebp + 0x20]
cmp dword [ebp + 0x20], ebx
jne 0x538fbd
push 1
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
call fcn.00538f50
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
sub eax, esi
cdq
xor eax, edx
pop edi
sub eax, edx
pop esi
neg eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x53cd94
mov dword [ebp - 0xb8], SysReAllocString
nop dword [eax]
inc dword [edi]
mov eax, dword [ebp + 0x20]
cmp eax, dword [edi + 8]
jae 0x53cd7e
cmp dword [edi + 0x98], 2
jne 0x539030
lea eax, [ebp - 0x110]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xa4], eax
mov dword [edi + 0x98], 0
nop dword [eax]
mov cl, byte [ebx]
movzx edx, cl
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x80], edx
cmp edx, 0xa1
ja case.0x53905f.15
movzx eax, byte [edx + 0x53cee8]
jmp dword [eax*4 + 0x53cdac]
inc dword [edi + 0x28]
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x53be12
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x5ade60]
movzx eax, byte [ebx + 1]
add ebx, eax
add ebx, ecx
jmp 0x539030
mov eax, dword [edi + 0xac]
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0xa0], eax
nop
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
lea eax, [ebx + 3]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push eax
push esi
call fcn.00538f50
add esp, 0x1c
cmp eax, 1
je 0x539175
cmp eax, 0xfffffc20
jne 0x5390f7
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
add edx, ebx
cmp dword [edi + 0x7c], edx
jae 0x53cd9b
cmp byte [ebx], 0x77
je 0x5390ff
cmp byte [edx], 0x77
jmp 0x5390f9
test eax, eax
jne 0x53cd9b
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xa0]
add ebx, ecx
mov dword [edi + 0xac], eax
cmp byte [ebx], 0x77
je 0x5390a0
mov edx, dword [ebp - 0x9c]
mov al, byte [ebx]
cmp al, 0x82
je 0x539133
cmp al, 0x77
jne case.0x53c6fe.14
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539133
cmp byte [ebx], 0x78
mov eax, dword [edi + 0x8c]
mov esi, dword [edi + 0x80]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], esi
je 0x53916d
cmp esi, dword [ebp - 0x80]
jne 0x53bc04
add ebx, 3
jmp 0x539030
mov edx, dword [edi + 0x7c]
mov dword [ebp - 0x9c], edx
jmp 0x539125
mov dword [ebp - 0xa0], 0
jmp 0x539c4e
mov dword [ebp - 0xa0], 0
jmp 0x539c70
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
add ebx, 3
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xa8], ecx
cmp byte [ebx], 0x76
jne 0x5392c0
mov eax, dword [0x61ea2c]
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x5392a9
movzx eax, byte [ebx + 1]
mov ecx, dword [edi + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x78]
sub eax, ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x9c]
sub eax, ecx
mov dword [ebp - 0x108], 2
mov dword [ebp - 0xf4], eax
mov eax, esi
sub eax, ecx
movzx ecx, byte [ebx + 2]
mov dword [ebp - 0xf0], eax
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 5]
mov dword [ebp - 0xe0], ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x8c]
cdq
sub eax, edx
mov dword [ebp - 0xdc], ecx
sar eax, 1
mov ecx, 0xffffffff
mov dword [ebp - 0xec], eax
movzx eax, word [edi + 0x90]
test eax, eax
cmove eax, ecx
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0xa8]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0xb0]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x108]
push eax
call dword [ebp - 0xa0]
add esp, 4
test eax, eax
jg case.0x53c6fe.14
js 0x53cd9b
mov ecx, dword [ebp - 0xa8]
movzx eax, byte [0x5aded6]
add ebx, eax
sub ecx, eax
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xa8], ecx
movzx eax, byte [ebx]
mov dword [ebp - 0xa0], eax
add eax, 0xffffff73
mov dword [ebp - 0x94], 0
cmp eax, 0x10
ja case.0x5392e8.146
movzx eax, byte [eax + 0x53cfa4]
jmp dword [eax*4 + 0x53cf8c]
mov edx, dword [edi + 0xa4]
test edx, edx
je case.0x5392e8.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x5393f4
cmp ecx, dword [edx + 4]
je 0x5393f4
xor edx, edx
jmp 0x539522
cmp dword [edi + 0xa4], 0
je case.0x5392e8.145
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [ebx + 2]
or edx, eax
mov dword [ebp - 0x88], ecx
imul edx, dword [edi + 0x24]
add edx, dword [edi + 0x30]
test ecx, ecx
je 0x53951c
mov eax, dword [edi + 0xa4]
mov esi, ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x98], eax
movzx ecx, byte [edx]
xor ebx, ebx
movzx eax, byte [edx + 1]
dec esi
shl ecx, 8
or ecx, eax
cmp ecx, dword [ebp - 0x98]
sete bl
mov dword [ebp - 0x94], ebx
cmp ecx, dword [ebp - 0x98]
je 0x5393a0
add edx, dword [edi + 0x24]
test esi, esi
jg 0x539373
mov esi, dword [ebp - 0x84]
test ebx, ebx
mov ebx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x94]
je 0x539522
mov eax, dword [ebp - 0xa0]
movzx ecx, byte [eax + 0x5ade60]
jmp 0x539528
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x8c]
jge 0x53931f
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x53931f
mov eax, dword [ebp - 0xa0]
mov edx, 1
movzx ecx, byte [eax + 0x5ade60]
jmp 0x539528
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl ecx, 8
shl edx, 8
or ecx, eax
movzx eax, byte [ebx + 2]
or edx, eax
imul edx, dword [edi + 0x24]
add edx, dword [edi + 0x30]
test ecx, ecx
je 0x53951c
movzx eax, byte [edx]
dec ecx
mov dword [ebp - 0x90], ecx
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x8c]
jge 0x53945a
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x5393f4
add edx, dword [edi + 0x24]
mov ecx, dword [ebp - 0x90]
test ecx, ecx
jg 0x539434
xor edx, edx
jmp 0x539522
mov eax, dword [ebp + 0x20]
inc eax
mov dword [edi + 0x98], 1
push eax
push 0
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
cmp eax, 1
jne 0x53950d
mov eax, dword [edi + 0x8c]
mov edx, 1
mov ecx, dword [ebp - 0x8c]
cmp eax, ecx
cmovg ecx, eax
cmp byte [ebx], 0x92
mov dword [ebp - 0x8c], ecx
lea ecx, [ebx + 1]
cmovne ecx, ebx
movzx ebx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl ebx, 8
or ebx, eax
add ebx, ecx
cmp byte [ebx], 0x77
jne 0x5394e8
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x5394d4
mov eax, dword [ebp - 0xa0]
mov ecx, 3
movzx eax, byte [eax + 0x5ade60]
sub ecx, eax
mov eax, dword [ebp - 0xa0]
add ebx, ecx
movzx ecx, byte [eax + 0x5ade60]
jmp 0x539528
test eax, eax
je 0x53951c
cmp eax, 0xfffffc20
jne 0x53cd9b
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa8]
add ebx, ecx
test edx, edx
jne 0x539538
cmp byte [ebx - 3], 0x77
jne 0x539030
cmp dword [ebp - 0x80], 0x8c
jne 0x53bd3a
mov dword [edi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x94]
jmp 0x539528
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, dword [edi + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [edi + 0x90], eax
lea ecx, [edx + edx]
mov dword [ebp - 0x90], ecx
cmp ecx, dword [edi + 0x14]
jl 0x5395cb
or eax, 0x10000
add ebx, 3
mov dword [edi + 0x90], eax
jmp 0x539030
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x90]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, esi
mov eax, dword [edi + 0xc]
sub ecx, dword [edi + 0x74]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp - 0x8c]
cmp edx, ecx
jl 0x53963d
mov eax, dword [edi + 0xc]
lea ecx, [eax + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov dword [ebp - 0x80], eax
sub dword [ebp - 0x80], ecx
add dword [ebp - 0x80], 3
shr dword [ebp - 0x80], 2
cmp ecx, eax
mov eax, dword [ebp - 0x80]
cmova eax, edx
test eax, eax
je 0x53962e
nop word [eax + eax]
inc edx
mov dword [ecx], 0xffffffff
lea ecx, [ecx + 4]
cmp edx, eax
jb 0x539620
mov ecx, dword [ebp - 0x90]
lea eax, [ecx + 2]
mov dword [ebp - 0x8c], eax
add ebx, 3
jmp 0x539030
cmp dword [edi + 0x98], 1
mov eax, dword [edi + 0xac]
mov dword [ebp - 0xa0], eax
jne 0x539670
mov dword [ebp - 0x90], 1
mov dword [edi + 0x98], 0
jmp 0x539680
mov dword [ebp - 0x90], 0
nop word [eax + eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push edi
push dword [ebp - 0x8c]
lea eax, [ebx + 3]
push dword [ebp - 0x9c]
push eax
push esi
call fcn.00538f50
mov edx, eax
add esp, 0x1c
cmp edx, 1
je 0x539708
cmp edx, 0xfffffc19
je 0x539708
mov eax, dword [ebp - 0xa0]
mov dword [edi + 0xac], eax
cmp edx, 0xfffffc20
jne 0x5396e6
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x53c988
cmp byte [ebx], 0x77
je 0x5396ee
cmp byte [ecx], 0x77
jmp 0x5396e8
test edx, edx
jne 0x53c988
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539680
jmp 0x539711
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x9c], eax
cmp byte [ebx], 0x78
je case.0x53c6fe.14
cmp dword [ebp - 0x90], 0
jne 0x53c022
nop word [eax + eax]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539730
mov eax, dword [edi + 0x8c]
add ebx, 3
mov dword [ebp - 0x8c], eax
jmp 0x539030
cmp dword [edi + 0x98], 1
mov eax, dword [edi + 0xac]
mov dword [ebp - 0xa0], eax
jne 0x539783
mov dword [ebp - 0x90], 1
mov dword [edi + 0x98], 0
jmp 0x539790
mov dword [ebp - 0x90], 0
nop dword [eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push edi
push dword [ebp - 0x8c]
lea eax, [ebx + 3]
push dword [ebp - 0x9c]
push eax
push esi
call fcn.00538f50
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0xa0]
mov dword [edi + 0xac], eax
cmp ecx, 0xfffffc20
jg 0x5397e9
jne 0x53980a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x539825
cmp byte [ebx], 0x77
je 0x5397f4
cmp byte [ecx], 0x77
jne 0x539825
jmp 0x5397f4
mov eax, ecx
sub eax, 0
jne 0x53be6a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539790
jmp 0x539839
cmp ecx, 0xfffffc19
je case.0x53c6fe.14
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x53cac3
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539825
cmp dword [ebp - 0x90], 0
jne 0x53c022
add ebx, 3
jmp 0x539030
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov dword [ebp - 0x84], esi
cmp esi, dword [edi + 0x74]
jb case.0x53c6fe.14
cmp esi, dword [edi + 0x84]
jae 0x53987a
mov dword [edi + 0x84], esi
add ebx, 3
jmp 0x539030
mov eax, dword [0x61ea2c]
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x539962
movzx eax, byte [ebx + 1]
mov ecx, dword [edi + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x78]
sub eax, ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x9c]
sub eax, ecx
mov dword [ebp - 0x108], 2
mov dword [ebp - 0xf4], eax
mov eax, esi
sub eax, ecx
movzx ecx, byte [ebx + 2]
mov dword [ebp - 0xf0], eax
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 5]
mov dword [ebp - 0xe0], ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x8c]
cdq
sub eax, edx
mov dword [ebp - 0xdc], ecx
sar eax, 1
mov ecx, 0xffffffff
mov dword [ebp - 0xec], eax
movzx eax, word [edi + 0x90]
test eax, eax
cmove eax, ecx
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0xa8]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0xb0]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x108]
push eax
call dword [ebp - 0xa0]
add esp, 4
test eax, eax
jg case.0x53c6fe.14
js 0x53cd9b
add ebx, 6
jmp 0x539030
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, dword [edi + 0x70]
mov dword [ebp - 0xa0], edx
cmp edx, dword [edi + 0x70]
jne 0x539989
xor ecx, ecx
jmp 0x539996
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [edi + 0xa4]
mov eax, edx
test eax, eax
je 0x5399b6
cmp ecx, dword [eax + 4]
jne 0x5399b0
cmp esi, dword [eax + 0x14]
je 0x53be82
mov eax, dword [eax]
test eax, eax
jne 0x5399a2
mov eax, dword [edi + 0x90]
add ebx, 3
mov dword [ebp - 0xd0], ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xd4], edx
mov dword [edi + 0xa4], eax
mov dword [ebp - 0xc8], ecx
cmp ecx, 0x1e
jg 0x5399fc
lea eax, [ebp - 0x7c]
mov dword [ebp - 0xcc], eax
jmp 0x539a21
lea eax, [ecx*4]
push eax
call dword [0x60c7c4]
add esp, 4
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x53bf00
mov ecx, dword [ebp - 0xc8]
shl ecx, 2
push ecx
push dword [edi + 0xc]
push eax
call fcn.00555ce0
mov edx, dword [ebp - 0xa0]
add esp, 0xc
mov al, byte [edx]
mov byte [ebp - 0xa9], al
nop
cmp al, 0x88
jb 0x539a4e
mov dword [edi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [edx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, edx
push eax
push esi
call fcn.00538f50
mov ecx, dword [ebp - 0xc8]
shl ecx, 2
push ecx
push dword [ebp - 0xcc]
mov dword [ebp - 0x90], eax
push dword [edi + 0xc]
call fcn.00555ce0
mov eax, dword [ebp - 0xc4]
add esp, 0x28
mov dword [edi + 0x90], eax
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0xa4], eax
mov eax, dword [ebp - 0x90]
cmp eax, 1
je 0x539b19
cmp eax, 0xfffffc19
je 0x539b19
cmp eax, 0xfffffc1c
jl 0x539ad6
cmp eax, 0xfffffc20
jle 0x53bea4
test eax, eax
jne 0x53bece
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0xd4]
mov dword [edi + 0xa4], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0xa0], edx
cmp byte [edx], 0x77
jne 0x53be98
mov al, byte [ebp - 0xa9]
jmp 0x539a40
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x7c]
cmp eax, ecx
je 0x539b30
push eax
call dword [0x60c7c8]
add esp, 4
mov esi, dword [edi + 0x80]
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x9c], eax
jmp 0x539030
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je case.0x53905f.119
jmp 0x539030
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539b94
add ebx, 3
jmp 0x539030
inc ebx
mov edx, ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x539bb3
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
lea eax, [edx + 3]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push eax
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x539030
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
inc ebx
nop word [eax + eax]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539c10
add ebx, 3
jmp 0x539030
movzx edx, byte [ebx + 1]
inc ebx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0xa0], 1
cmp edx, 0x86
je 0x539c4e
cmp edx, 0x8b
jne 0x539c70
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x94], edx
lea eax, [edx + edx]
cmp eax, dword [edi + 0x14]
jl 0x539dbe
mov edx, dword [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x90], eax
mov eax, ebx
sub eax, dword [edi + 0x70]
mov dword [ebp - 0x94], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0xa8], eax
nop
cmp edx, 0x88
jb 0x539ca2
mov dword [edi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1a
jne 0x539d1c
mov eax, dword [edi + 0x8c]
mov ebx, dword [edi + 0x70]
add ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], eax
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 0x80]
mov dword [ebp - 0x90], 1
cmp esi, eax
je 0x539d80
mov edx, dword [ebp - 0x80]
mov esi, eax
mov dword [ebp - 0x84], esi
jmp 0x539c90
cmp edx, 0xfffffc20
jne 0x539d46
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x53c988
cmp byte [ebx], 0x77
je 0x539d4e
cmp byte [ecx], 0x77
jmp 0x539d48
test edx, edx
jne 0x53c988
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
jne 0x539d9c
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x80]
mov dword [edi + 0x90], eax
jmp 0x539c90
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539d80
add ebx, 3
jmp 0x539030
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x53916d
cmp dword [ebp - 0xa0], eax
je case.0x53c6fe.14
add ebx, 3
jmp 0x539030
shl eax, 2
mov ecx, ebx
sub ecx, dword [edi + 0x70]
mov dword [ebp - 0x88], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa8], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [edi + 0x10]
sub eax, dword [ebp - 0x94]
mov dword [ebp - 0xbc], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x90], eax
mov ecx, dword [edi + 0x10]
mov edx, esi
sub ecx, dword [ebp - 0x94]
mov eax, dword [edi + 0xc]
sub edx, dword [edi + 0x74]
cmp dword [ebp - 0x80], 0x88
mov dword [eax + ecx*4], edx
jb 0x539e37
mov dword [edi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1a
jne 0x539ebf
mov eax, dword [edi + 0x8c]
mov edx, 1
mov ebx, dword [edi + 0x70]
add ebx, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x90], eax
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 0x80]
mov dword [ebp - 0xa8], edx
cmp esi, eax
je 0x539f80
mov esi, eax
mov dword [ebp - 0x84], esi
jmp 0x539e10
cmp edx, 0xfffffc20
jne 0x539ee9
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [edi + 0x7c], ecx
jae 0x53c988
cmp byte [ebx], 0x77
je 0x539ef1
cmp byte [ecx], 0x77
jmp 0x539eeb
test edx, edx
jne 0x53c988
mov eax, dword [ebp - 0x90]
mov dword [edi + 0x90], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539e10
mov edx, dword [ebp - 0xa8]
test edx, edx
jne 0x539f59
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + eax], edx
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xb4]
mov dword [ecx + eax + 4], edx
mov ecx, dword [edi + 0x10]
sub ecx, dword [ebp - 0x94]
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xb0]
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0xa8]
cmp dword [ebp - 0xa0], 0
jne 0x53916d
test edx, edx
je case.0x53c6fe.14
add ebx, 3
jmp 0x539030
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x539f80
jmp 0x539f59
movzx ecx, byte [ebx + 1]
mov edx, ebx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebp - 0x80], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x539fc0
cmp al, 0x81
je 0x539fc0
mov dword [ebp - 0xa0], 0
jmp 0x539fdd
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx]
mov dword [ebp - 0xa4], ecx
cmp al, 0x7d
jb 0x539fe9
cmp al, 0x80
jbe 0x53c007
cmp al, 0x82
je 0x53c007
cmp al, 0x85
je 0x53a005
cmp al, 0x8a
je 0x53a005
cmp al, 0x86
je 0x53a005
cmp al, 0x8b
jne 0x53a0ea
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [edi + 0xa4]
mov dword [ebp - 0xb4], ecx
lea edx, [ecx + ecx]
mov dword [ebp - 0x90], edx
test eax, eax
je 0x53a034
cmp dword [eax + 4], ecx
je 0x53bf16
mov eax, dword [edi + 0x90]
and eax, 0xffff0000
or eax, ecx
mov ecx, dword [ebp - 0x8c]
mov dword [edi + 0x90], eax
cmp edx, dword [edi + 0x14]
jl 0x53a065
or eax, 0x10000
mov dword [edi + 0x90], eax
mov edx, dword [ebp - 0x80]
jmp 0x53a0f0
cmp edx, ecx
jle 0x53a0b4
mov eax, dword [edi + 0xc]
lea ecx, [eax + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov dword [ebp - 0x94], eax
sub dword [ebp - 0x94], ecx
add dword [ebp - 0x94], 3
shr dword [ebp - 0x94], 2
cmp ecx, eax
mov eax, dword [ebp - 0x94]
cmova eax, edx
test eax, eax
je 0x53a0ae
nop dword [eax]
inc edx
mov dword [ecx], 0xffffffff
lea ecx, [ecx + 4]
cmp edx, eax
jb 0x53a0a0
mov edx, dword [ebp - 0x90]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, dword [ebp - 0xb4]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, esi
mov eax, dword [edi + 0xc]
sub ecx, dword [edi + 0x74]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp - 0x8c]
cmp ecx, edx
jg 0x53a05d
lea ecx, [edx + 2]
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x8c], ecx
jmp 0x53a0f0
mov ecx, dword [ebp - 0x8c]
mov al, byte [ebx]
cmp al, 0x7b
je 0x53bfdc
cmp al, 0x78
je 0x53a10a
cmp esi, dword [ebp - 0xa0]
jne 0x53bc5b
cmp byte [edx], 0x81
je 0x53bf95
add ebx, 3
jmp 0x539030
cmp dword [edi + 0x44], 0
je case.0x53905f.1
cmp esi, dword [edi + 0x74]
je case.0x53c6fe.14
cmp esi, dword [edi + 0x74]
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp dword [edi + 0x44], 0
je 0x53a148
cmp esi, dword [edi + 0x74]
je case.0x53c6fe.14
mov ecx, dword [edi + 0x74]
cmp esi, ecx
je 0x53a1b4
cmp esi, dword [edi + 0x78]
je case.0x53c6fe.14
mov edx, dword [edi + 0x18]
test edx, edx
je 0x53a186
cmp esi, ecx
jbe case.0x53c6fe.14
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0053e120
add esp, 0x14
test eax, eax
je case.0x53c6fe.14
inc ebx
jmp 0x539030
mov edx, dword [edi + 0x1c]
lea eax, [ecx + edx]
cmp esi, eax
jb case.0x53c6fe.14
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x34]
jne case.0x53c6fe.14
cmp edx, 1
je 0x53a1b4
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x35]
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
mov eax, dword [edi + 0x94]
add eax, dword [edi + 0x74]
cmp esi, eax
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
mov dword [ebp - 0x9c], esi
inc ebx
jmp 0x539030
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53a28b
mov edx, dword [edi + 0x18]
lea ecx, [edi + 0x1c]
test edx, edx
je 0x53a265
push 0
push ecx
push eax
push edx
push esi
call fcn.0053e0a0
add esp, 0x14
test eax, eax
jne 0x53a1b4
lea ecx, [edi + 0x1c]
mov edx, dword [edi + 0x88]
test edx, edx
je case.0x53c6fe.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x53c6fe.14
cmp dword [edi + 0x18], 0
jne case.0x53c6fe.14
cmp dword [ecx], 2
jne case.0x53c6fe.14
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne case.0x53c6fe.14
mov dword [edi + 0x64], 1
cmp edx, 1
jle case.0x53c6fe.14
pop edi
pop esi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov edx, dword [ecx]
sub eax, edx
cmp esi, eax
ja 0x53a207
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53a207
cmp edx, 1
je 0x53a1b4
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x53a207
inc ebx
jmp 0x539030
cmp dword [edi + 0x48], 0
jne case.0x53c6fe.14
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53a1b4
cmp esi, dword [edi + 0x84]
jbe 0x53a1b4
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
inc ebx
jmp 0x539030
cmp dword [edi + 0x48], 0
jne case.0x53c6fe.14
cmp dword [edi + 0x58], 0
je case.0x53905f.23
cmp esi, dword [edi + 0x78]
jb case.0x53c6fe.14
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53a1b4
cmp esi, dword [edi + 0x84]
jbe 0x53a1b4
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
inc ebx
jmp 0x539030
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53a36b
mov edx, dword [edi + 0x18]
lea ecx, [edi + 0x1c]
test edx, edx
je 0x53a336
push 0
push ecx
push eax
push edx
push esi
call fcn.0053e0a0
add esp, 0x14
test eax, eax
je 0x53c038
lea ecx, [edi + 0x1c]
jmp 0x53a35e
mov edx, dword [ecx]
sub eax, edx
cmp esi, eax
ja 0x53c038
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53c038
cmp edx, 1
je 0x53a35e
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
jne 0x53c038
mov eax, dword [edi + 0x78]
sub eax, dword [ecx]
cmp esi, eax
jne 0x53c038
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53a1b4
cmp esi, dword [edi + 0x84]
jbe 0x53a1b4
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x74]
jne 0x53a3a4
xor edx, edx
jmp 0x53a3c6
cmp esi, dword [edi + 0x84]
ja 0x53a3b5
lea eax, [esi - 1]
mov dword [edi + 0x84], eax
mov ecx, dword [edi + 0x40]
movzx eax, byte [esi - 1]
movzx edx, byte [eax + ecx]
shr edx, 4
and edx, 1
cmp esi, dword [edi + 0x78]
jb 0x53a3f1
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53a3ed
cmp esi, dword [edi + 0x84]
jbe 0x53a3ed
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
xor ecx, ecx
jmp 0x53a401
mov ecx, dword [edi + 0x40]
movzx eax, byte [esi]
movzx ecx, byte [eax + ecx]
shr ecx, 4
and ecx, 1
mov al, byte [ebx]
xor edx, ecx
inc ebx
cmp al, 5
jne 0x53a40d
xor edx, 1
test edx, edx
je 0x539030
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x18]
test edx, edx
je 0x53a451
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53a479
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.0053e0a0
add esp, 0x14
test eax, eax
jne case.0x53c6fe.14
jmp 0x53a479
mov eax, dword [edi + 0x78]
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x53a479
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53a479
cmp ecx, 1
je case.0x53c6fe.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x53c6fe.14
mov ecx, dword [edi + 0x88]
test ecx, ecx
je case.0x53905f.13
mov eax, dword [edi + 0x78]
dec eax
cmp esi, eax
jne case.0x53905f.13
cmp dword [edi + 0x18], 0
jne case.0x53905f.13
cmp dword [edi + 0x1c], 2
jne case.0x53905f.13
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne case.0x53905f.13
mov dword [edi + 0x64], 1
cmp ecx, 1
jg 0x53a24f
cmp esi, dword [edi + 0x78]
jae 0x53c097
inc esi
inc ebx
mov dword [ebp - 0x84], esi
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
inc esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x84], esi
test byte [ecx + eax], 4
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
inc esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x84], esi
test byte [ecx + eax], 4
je case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
inc esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x84], esi
test byte [ecx + eax], 1
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
inc esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x84], esi
test byte [ecx + eax], 1
je case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
inc esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x84], esi
test byte [ecx + eax], 0x10
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
inc esi
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x84], esi
test byte [ecx + eax], 0x10
je case.0x53c6fe.14
inc ebx
jmp 0x539030
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0xd
ja 0x53a628
je 0x53a5de
cmp eax, 0xa
je 0x53a1b4
jbe case.0x53c6fe.14
cmp eax, 0xc
ja case.0x53c6fe.14
jmp 0x53a633
cmp esi, ecx
jb 0x53a612
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53a1b4
cmp esi, dword [edi + 0x84]
jbe 0x53a1b4
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
inc ebx
jmp 0x539030
cmp byte [esi], 0xa
jne 0x53a1b4
inc esi
inc ebx
mov dword [ebp - 0x84], esi
jmp 0x539030
cmp eax, 0x85
jne case.0x53c6fe.14
cmp dword [edi + 0x68], 0
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0xa0
ja 0x53a1b4
je case.0x53c6fe.14
cmp eax, 9
je case.0x53c6fe.14
cmp eax, 0x20
je case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0xa0
ja case.0x53c6fe.14
je 0x53a1b4
cmp eax, 9
je 0x53a1b4
cmp eax, 0x20
jne case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0x85
ja 0x53a1b4
je case.0x53c6fe.14
cmp eax, 0xa
jb 0x53a1b4
cmp eax, 0xd
jbe case.0x53c6fe.14
inc ebx
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0x85
ja case.0x53c6fe.14
je 0x53a1b4
add eax, 0xfffffff6
cmp eax, 3
ja case.0x53c6fe.14
inc ebx
jmp 0x539030
movzx ecx, byte [ebx + 3]
xor eax, eax
cmp edx, 0x74
movzx edx, byte [ebx + 1]
sete al
shl ecx, 8
mov dword [ebp - 0x88], eax
movzx eax, byte [ebx + 4]
or ecx, eax
shl edx, 8
movzx eax, byte [ebx + 2]
add ebx, 5
or edx, eax
mov dword [ebp - 0x94], ecx
imul edx, dword [edi + 0x24]
mov eax, dword [edi + 0x50]
add edx, dword [edi + 0x30]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0xa0], ecx
dec eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x53a7bd
movzx ecx, byte [edx + 1]
dec eax
mov dword [ebp - 0x94], eax
movzx eax, byte [edx]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [ebp - 0xa0], ecx
cmp ecx, dword [ebp - 0x8c]
jge 0x53a7b0
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x53a7eb
add edx, dword [edi + 0x24]
mov eax, dword [ebp - 0x94]
test eax, eax
jg 0x53a784
mov edx, dword [ebp - 0x80]
mov al, byte [ebx]
mov byte [ebp - 0xa9], al
movzx eax, al
mov dword [ebp - 0xb0], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x53a7e4
movzx eax, byte [eax + 0x53cfc0]
jmp dword [eax*4 + 0x53cfb8]
mov eax, dword [edi + 0xc]
mov edx, dword [eax + ecx*4 + 4]
sub edx, dword [eax + ecx*4]
mov dword [ebp - 0x80], edx
jmp 0x53a7c0
movzx ecx, byte [ebx + 1]
xor eax, eax
cmp edx, 0x72
sete al
shl ecx, 8
mov dword [ebp - 0x88], eax
movzx eax, byte [ebx + 2]
add ebx, 3
or ecx, eax
add ecx, ecx
mov dword [ebp - 0xa0], ecx
cmp ecx, dword [ebp - 0x8c]
jge 0x53a83d
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x53a83d
mov edx, dword [eax + ecx*4 + 4]
sub edx, dword [eax + ecx*4]
mov dword [ebp - 0x80], edx
jmp 0x53a7c0
mov edx, dword [edi + 0x50]
neg edx
sbb edx, edx
neg edx
dec edx
mov dword [ebp - 0x80], edx
jmp 0x53a7c0
mov eax, dword [ebp - 0xb0]
lea edx, [eax - 0x62]
and edx, 1
mov dword [ebp - 0x90], edx
movsx edx, byte [eax + 0x5addce]
movsx eax, byte [eax + 0x5addda]
test eax, eax
cmove eax, dword [ebp - 0xb8]
mov dword [ebp - 0x94], eax
mov eax, 1
jmp 0x53a8d3
movzx edx, byte [ebx + 1]
xor eax, eax
cmp byte [ebp - 0xa9], 0x69
sete al
shl edx, 8
mov dword [ebp - 0x90], eax
movzx eax, byte [ebx + 2]
or edx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
mov dword [ebp - 0x94], eax
movzx eax, byte [ebx + 4]
or dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
cmove eax, dword [ebp - 0xb8]
mov dword [ebp - 0x94], eax
mov eax, 5
add ebx, eax
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0xb0], ebx
test eax, eax
je 0x539030
jns 0x53a8fc
test edx, edx
je 0x539030
mov ebx, 1
cmp edx, ebx
jl 0x53a93b
push dword [ebp - 0x88]
push edi
push eax
push esi
push ecx
call fcn.0053d1c0
add esp, 0x14
test eax, eax
js 0x53c0d7
mov edx, dword [ebp - 0xa8]
add esi, eax
mov ecx, dword [ebp - 0xa0]
inc ebx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x84], esi
cmp ebx, edx
jle 0x53a905
mov ecx, dword [ebp - 0x94]
cmp edx, ecx
jne 0x53c0f8
mov ebx, dword [ebp - 0xb0]
jmp 0x539030
push dword [ebp - 0x88]
push edi
push edx
push esi
push ecx
call fcn.0053d1c0
add esp, 0x14
test eax, eax
js 0x53c297
add esi, eax
mov dword [ebp - 0x84], esi
jmp 0x539030
mov cl, byte [ebx + 0x21]
lea eax, [ebx + 1]
add ebx, 0x21
movzx edx, cl
mov dword [ebp - 0x88], eax
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x53a9a0
movzx eax, byte [eax + 0x53cfd0]
jmp dword [eax*4 + 0x53cfc8]
lea ecx, [edx - 0x62]
inc ebx
cmp ecx, 8
sbb eax, eax
inc eax
mov dword [ebp - 0xa8], eax
mov eax, ecx
and eax, 1
cmp ecx, 8
sbb edx, edx
and edx, eax
movsx eax, byte [ecx + 0x5ade3c]
mov dword [ebp - 0x94], edx
test eax, eax
movsx edx, byte [ecx + 0x5ade30]
mov ecx, SysReAllocString
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x53aa41
movzx edx, byte [ebx + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x94], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebx + 3]
sete al
shl edx, 8
mov dword [ebp - 0xa8], eax
movzx eax, byte [ebx + 2]
or edx, eax
shl ecx, 8
movzx eax, byte [ebx + 4]
or ecx, eax
mov eax, SysReAllocString
cmove ecx, eax
add ebx, 5
mov dword [ebp - 0xa0], ecx
jmp 0x53aa41
mov dword [ebp - 0xa0], 1
mov edx, 1
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53aa98
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x84], esi
test byte [edx + ecx], al
je case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53aa53
mov eax, dword [ebp - 0xa0]
cmp edx, eax
je 0x539030
cmp dword [ebp - 0x94], 0
jne 0x53c2bb
mov ecx, esi
mov dword [ebp - 0x94], ecx
cmp edx, eax
jge 0x53ab22
nop
cmp esi, dword [edi + 0x78]
jae 0x53aafa
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
mov ecx, dword [ebp - 0x88]
test byte [edx + ecx], al
je 0x53ab1c
mov edx, dword [ebp - 0x80]
inc esi
inc edx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], edx
cmp edx, dword [ebp - 0xa0]
jl 0x53aac0
jmp 0x53ab1c
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53ab1c
cmp esi, dword [edi + 0x84]
jbe 0x53ab1c
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
mov ecx, dword [ebp - 0x94]
cmp dword [ebp - 0xa8], 0
jne 0x539030
cmp esi, ecx
jb case.0x53c6fe.14
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
dec esi
cmp esi, dword [ebp - 0x94]
jae 0x53ab37
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x78]
sub eax, esi
cmp eax, 1
jl 0x53c097
mov al, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp byte [ebx + 1], al
jne case.0x53c6fe.14
add ebx, 2
jmp 0x539030
cmp esi, dword [edi + 0x78]
jae 0x53c097
mov edx, dword [edi + 0x38]
movzx eax, byte [ebx + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x53c6fe.14
inc esi
add ebx, 2
mov dword [ebp - 0x84], esi
jmp 0x539030
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov dword [ebp - 0x88], ecx
mov edx, ecx
jmp 0x53acc3
mov dword [ebp - 0xa8], 1
movzx eax, byte [ebx + 1]
xor edx, edx
shl eax, 8
mov dword [ebp - 0x88], eax
movzx eax, byte [ebx + 2]
or dword [ebp - 0x88], eax
mov dword [ebp - 0x98], edx
cmp cl, 0x28
je 0x53ac27
mov dword [ebp - 0x94], edx
cmp cl, 0x35
jne 0x53ac31
mov dword [ebp - 0x94], 1
add ebx, 3
jmp 0x53acc9
xor edx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], SysReAllocString
inc ebx
jmp 0x53acc3
mov dword [ebp - 0xa8], 1
mov edx, 1
mov dword [ebp - 0x88], SysReAllocString
inc ebx
jmp 0x53acc3
xor edx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], 1
inc ebx
jmp 0x53acc3
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
inc ebx
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
and eax, 1
mov dword [ebp - 0x94], eax
movsx eax, byte [ecx + 0x5ade3c]
movsx edx, byte [ecx + 0x5ade30]
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x98], edx
movzx ecx, byte [ebx]
inc ebx
cmp dword [ebp - 0x80], 0x2e
mov dword [ebp - 0xa0], ecx
jb 0x53adeb
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ecx]
mov dword [ebp - 0x90], eax
cmp edx, 1
jl 0x53ad26
mov ecx, 1
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
cmp dword [ebp - 0xa0], eax
je 0x53ad14
cmp dword [ebp - 0x90], eax
jne case.0x53c6fe.14
inc esi
inc ecx
mov dword [ebp - 0x84], esi
cmp ecx, edx
jle 0x53acf4
mov ecx, dword [ebp - 0xa0]
cmp edx, dword [ebp - 0x88]
je 0x539030
cmp dword [ebp - 0x94], 0
jne 0x53c364
mov eax, esi
mov dword [ebp - 0x80], eax
cmp edx, dword [ebp - 0x88]
jge 0x53ad9b
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53ad76
movzx eax, byte [esi]
cmp ecx, eax
je 0x53ad64
cmp dword [ebp - 0x90], eax
jne 0x53ad98
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53ad50
jmp 0x53ad98
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53ad98
cmp esi, dword [edi + 0x84]
jbe 0x53ad98
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], 0
jne 0x539030
cmp esi, eax
je 0x53bd3a
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
dec esi
add esp, 0x1c
mov dword [ebp - 0x84], esi
test eax, eax
jne 0x53cd9b
cmp esi, dword [ebp - 0x80]
jne 0x53adb0
jmp 0x53bd3a
mov ecx, 1
cmp edx, ecx
jl 0x53ae18
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp dword [ebp - 0xa0], eax
jne case.0x53c6fe.14
inc ecx
cmp ecx, edx
jle 0x53adf4
mov ecx, dword [ebp - 0x88]
cmp edx, ecx
je 0x539030
cmp dword [ebp - 0x94], 0
jne 0x53c401
mov eax, esi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x53ae86
mov ecx, dword [edi + 0x78]
nop
cmp esi, ecx
jae 0x53ae61
movzx eax, byte [esi]
cmp dword [ebp - 0xa0], eax
jne 0x53ae83
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53ae40
jmp 0x53ae83
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53ae83
cmp esi, dword [edi + 0x84]
jbe 0x53ae83
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], 0
jne 0x539030
cmp esi, eax
je 0x53bd3a
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
dec esi
add esp, 0x1c
mov dword [ebp - 0x84], esi
test eax, eax
jne 0x53cd9b
cmp esi, dword [ebp - 0x80]
jne 0x53aea0
jmp 0x53bd3a
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx edx, byte [esi]
inc esi
movzx ecx, byte [ebx + 1]
mov dword [ebp - 0x84], esi
cmp ecx, edx
je case.0x53c6fe.14
cmp dword [ebp - 0x80], 0x20
jne 0x53af0f
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x53c6fe.14
add ebx, 2
jmp 0x539030
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov dword [ebp - 0x88], ecx
mov edx, ecx
jmp 0x53b026
movzx eax, byte [ebx + 1]
xor edx, edx
shl eax, 8
mov dword [ebp - 0x88], eax
movzx eax, byte [ebx + 2]
or dword [ebp - 0x88], eax
mov dword [ebp - 0x98], edx
cmp cl, 0x42
je 0x53af63
mov dword [ebp - 0x94], edx
cmp cl, 0x4f
jne 0x53af6d
mov dword [ebp - 0x94], 1
add ebx, 3
jmp 0x53b02c
xor edx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], SysReAllocString
inc ebx
jmp 0x53b026
mov dword [ebp - 0xa8], 1
mov edx, 1
mov dword [ebp - 0x88], SysReAllocString
inc ebx
jmp 0x53b026
xor edx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], 1
inc ebx
jmp 0x53b026
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], ecx
add ebx, 3
jmp 0x53b026
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
inc ebx
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
and eax, 1
mov dword [ebp - 0x94], eax
movsx eax, byte [ecx + 0x5ade3c]
movsx edx, byte [ecx + 0x5ade30]
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x98], edx
movzx ecx, byte [ebx]
inc ebx
cmp dword [ebp - 0x80], 0x48
mov dword [ebp - 0xa0], ecx
jb 0x53b14b
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ecx]
mov ecx, 1
mov dword [ebp - 0x90], eax
cmp edx, ecx
jl 0x53b086
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
cmp dword [ebp - 0xa0], eax
je case.0x53c6fe.14
cmp dword [ebp - 0x90], eax
je case.0x53c6fe.14
inc esi
inc ecx
mov dword [ebp - 0x84], esi
cmp ecx, edx
jle 0x53b056
mov eax, dword [ebp - 0x88]
cmp edx, eax
je 0x539030
cmp dword [ebp - 0x94], 0
jne 0x53c499
mov ecx, esi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jge 0x53b0fb
mov ecx, dword [ebp - 0xa0]
cmp esi, dword [edi + 0x78]
jae 0x53b0d6
movzx eax, byte [esi]
cmp ecx, eax
je 0x53b0f8
cmp dword [ebp - 0x90], eax
je 0x53b0f8
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53b0b0
jmp 0x53b0f8
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53b0f8
cmp esi, dword [edi + 0x84]
jbe 0x53b0f8
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], 0
jne 0x539030
cmp esi, ecx
je 0x53bd3a
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
dec esi
mov dword [ebp - 0x84], esi
cmp esi, dword [ebp - 0x80]
jne 0x53b110
jmp 0x53bd3a
mov ecx, 1
cmp edx, ecx
jl 0x53b178
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp dword [ebp - 0xa0], eax
je case.0x53c6fe.14
inc ecx
cmp ecx, edx
jle 0x53b154
mov ecx, dword [ebp - 0x88]
cmp edx, ecx
je 0x539030
cmp dword [ebp - 0x94], 0
jne 0x53c538
mov eax, esi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x53b1e6
mov ecx, dword [edi + 0x78]
nop
cmp esi, ecx
jae 0x53b1c1
movzx eax, byte [esi]
cmp dword [ebp - 0xa0], eax
je 0x53b1e3
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53b1a0
jmp 0x53b1e3
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53b1e3
cmp esi, dword [edi + 0x84]
jbe 0x53b1e3
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa8], 0
jne 0x539030
cmp esi, eax
je 0x53bd3a
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
dec esi
mov dword [ebp - 0x84], esi
cmp esi, dword [ebp - 0x80]
jne 0x53b200
jmp 0x53bd3a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x88], ecx
mov edx, ecx
add ebx, 3
jmp 0x53b336
movzx eax, byte [ebx + 1]
xor edx, edx
shl eax, 8
mov dword [ebp - 0x88], eax
movzx eax, byte [ebx + 2]
or dword [ebp - 0x88], eax
xor eax, eax
cmp cl, 0x5c
sete al
add ebx, 3
mov dword [ebp - 0x94], eax
jmp 0x53b336
xor edx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], SysReAllocString
inc ebx
jmp 0x53b336
mov dword [ebp - 0xa8], 1
mov edx, 1
mov dword [ebp - 0x88], SysReAllocString
inc ebx
jmp 0x53b336
xor edx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], 1
inc ebx
jmp 0x53b336
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x88], ecx
add ebx, 3
jmp 0x53b336
lea eax, [edx - 0x55]
inc ebx
movsx edx, byte [eax + 0x5ade30]
mov ecx, eax
movsx eax, byte [eax + 0x5ade3c]
and ecx, 1
mov dword [ebp - 0x94], ecx
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x80], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x98], eax
test edx, edx
jle 0x53b77e
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x53c695.15
jmp dword [eax*4 + 0x53cfdc]
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53c097
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x53b3a1
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0053e0a0
add esp, 0x14
test eax, eax
jne case.0x53c6fe.14
mov edx, dword [ebp - 0x80]
jmp 0x53b3c6
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x53b3c6
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53b3c6
cmp ecx, 1
je case.0x53c6fe.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x53c6fe.14
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x53b3fb
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb 0x53b3fb
cmp dword [edi + 0x18], 0
jne 0x53b3fb
cmp dword [edi + 0x1c], 2
jne 0x53b3fb
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53b3fb
mov dword [edi + 0x64], 1
cmp ecx, 1
jg 0x53a24f
mov ecx, dword [ebp - 0x90]
inc esi
inc ecx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], ecx
cmp ecx, edx
jle 0x53b371
jmp 0x53b778
mov eax, dword [edi + 0x78]
sub eax, edx
cmp esi, eax
ja 0x53c097
add esi, edx
mov dword [ebp - 0x84], esi
jmp 0x53b778
mov ecx, 1
cmp edx, ecx
jl 0x53b778
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53c097
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [ebp - 0x84], esi
cmp eax, 0x7b
ja case.0x53c6fe.14
movzx eax, byte [eax + 0x53d02c]
jmp dword [eax*4 + 0x53d01c]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53b494
cmp byte [esi], 0xa
jne 0x53b494
inc esi
mov dword [ebp - 0x84], esi
jmp 0x53b494
cmp dword [edi + 0x68], 0
jne case.0x53c6fe.14
mov eax, dword [edi + 0x78]
inc ecx
cmp ecx, edx
jle 0x53b446
jmp 0x53b778
mov ecx, 1
cmp edx, ecx
jl 0x53b778
nop dword [eax + eax]
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 9
je case.0x53c6fe.14
cmp eax, 0x20
je case.0x53c6fe.14
cmp eax, 0xa0
je case.0x53c6fe.14
inc ecx
cmp ecx, edx
jle 0x53b4b0
jmp 0x53b778
mov ecx, 1
cmp edx, ecx
jl 0x53b778
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 9
je 0x53b51f
cmp eax, 0x20
je 0x53b51f
cmp eax, 0xa0
jne case.0x53c6fe.14
inc ecx
cmp ecx, edx
jle 0x53b4f7
jmp 0x53b778
mov ecx, 1
cmp edx, ecx
jl 0x53b778
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0xa
jb 0x53b562
cmp eax, 0xd
jbe case.0x53c6fe.14
cmp eax, 0x85
je case.0x53c6fe.14
inc ecx
cmp ecx, edx
jle 0x53b536
jmp 0x53b778
mov ecx, 1
cmp edx, ecx
jl 0x53b778
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x84], esi
cmp eax, 0xa
jb case.0x53c6fe.14
cmp eax, 0xd
jbe 0x53b5ac
cmp eax, 0x85
jne case.0x53c6fe.14
inc ecx
cmp ecx, edx
jle 0x53b580
jmp 0x53b778
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jne case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
inc esi
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53b5d0
jmp 0x53b778
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
je case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
inc esi
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53b620
jmp 0x53b778
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
inc esi
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53b670
jmp 0x53b778
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
inc esi
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53b6c0
jmp 0x53b778
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
inc esi
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53b705
jmp 0x53b778
mov dword [ebp - 0x90], 1
cmp edx, 1
jl 0x53b778
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x53c6fe.14
mov eax, dword [ebp - 0x90]
inc esi
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x53b747
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x88]
cmp edx, ecx
je 0x539030
cmp dword [ebp - 0x94], 0
jne 0x53c5e1
add eax, 0xfffffffa
mov dword [ebp - 0xa0], esi
cmp eax, 0xf
ja case.0x53c695.15
jmp dword [eax*4 + 0x53d0a8]
cmp edx, ecx
jge 0x53b8ac
nop word [eax + eax]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x53b88a
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x53b7f0
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0053e0a0
add esp, 0x14
test eax, eax
jne 0x53b8ac
mov edx, dword [ebp - 0x80]
jmp 0x53b815
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x53b815
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53b815
cmp ecx, 1
je 0x53b8ac
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je 0x53b8ac
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x53b84a
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb 0x53b84a
cmp dword [edi + 0x18], 0
jne 0x53b84a
cmp dword [edi + 0x1c], 2
jne 0x53b84a
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53b84a
mov dword [edi + 0x64], 1
cmp ecx, 1
jg 0x53a24f
mov ecx, dword [ebp - 0x88]
inc edx
inc esi
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x84], esi
cmp edx, ecx
jl 0x53b7c0
jmp 0x53b8ac
sub ecx, edx
mov dword [ebp - 0x88], ecx
mov ecx, dword [edi + 0x78]
mov eax, ecx
mov edx, dword [ebp - 0x88]
sub eax, esi
cmp edx, eax
jbe 0x53b927
mov esi, ecx
mov dword [ebp - 0x84], esi
mov eax, dword [edi + 0x88]
test eax, eax
je 0x53b8ac
cmp esi, dword [edi + 0x84]
jbe 0x53b8ac
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x53a24f
cmp dword [ebp - 0xa8], 0
jne 0x539030
cmp esi, dword [ebp - 0xa0]
je 0x53bd3a
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov ecx, dword [ebp - 0xa0]
dec esi
cmp dword [ebp - 0x98], 0x11
mov dword [ebp - 0x84], esi
jne 0x53b91e
cmp esi, ecx
jbe 0x53b920
cmp byte [esi], 0xa
jne 0x53b91e
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
mov dword [ebp - 0x84], esi
cmp esi, ecx
jne 0x53b8c5
jmp 0x53bd3a
add esi, edx
mov dword [ebp - 0x84], esi
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
mov eax, dword [edi + 0x78]
nop
mov ecx, esi
cmp esi, eax
jae 0x53b88a
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x53b96c
mov eax, dword [edi + 0x78]
inc esi
mov dword [ebp - 0x84], esi
cmp esi, eax
jae 0x53b8ac
cmp byte [esi], 0xa
cmovne esi, ecx
jmp 0x53b993
cmp eax, 0xa
je 0x53b990
cmp dword [edi + 0x68], 0
jne 0x53b8ac
cmp eax, 0xb
je 0x53b990
cmp eax, 0xc
je 0x53b990
cmp eax, 0x85
jne 0x53b8ac
mov eax, dword [edi + 0x78]
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53b940
mov dword [ebp - 0x84], esi
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
mov ecx, dword [edi + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x53b88a
mov al, byte [esi]
cmp al, 9
je 0x53b8ac
cmp al, 0x20
je 0x53b8ac
cmp al, 0xa0
je 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53b9c0
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x53b88a
mov al, byte [esi]
cmp al, 9
je 0x53ba1c
cmp al, 0x20
je 0x53ba1c
cmp al, 0xa0
jne 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53ba02
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
mov ecx, dword [edi + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x53b88a
mov al, byte [esi]
cmp al, 0xa
jb 0x53ba5e
cmp al, 0xd
jbe 0x53b8ac
cmp al, 0x85
je 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53ba40
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
mov ecx, dword [edi + 0x78]
nop
cmp esi, ecx
jae 0x53b88a
mov al, byte [esi]
cmp al, 0xa
jb 0x53b8ac
cmp al, 0xd
jbe 0x53ba9e
cmp al, 0x85
jne 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53ba80
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
nop dword [eax + eax]
cmp esi, dword [edi + 0x78]
jae 0x53b88a
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jne 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53bac0
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
cmp esi, dword [edi + 0x78]
jae 0x53b88a
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
je 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53baf6
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53b88a
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53bb30
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
cmp esi, dword [edi + 0x78]
jae 0x53b88a
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53bb66
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
nop dword [eax]
cmp esi, dword [edi + 0x78]
jae 0x53b88a
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53bba0
jmp 0x53b8ac
cmp edx, ecx
jge 0x53b8ac
cmp esi, dword [edi + 0x78]
jae 0x53b88a
movzx ecx, byte [esi]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je 0x53b8ac
inc esi
inc edx
mov dword [ebp - 0x84], esi
cmp edx, dword [ebp - 0x88]
jl 0x53bbd6
jmp 0x53b8ac
mov eax, dword [ebp + 0x20]
inc eax
cmp byte [ebx], 0x7a
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push edx
jne 0x53bc3c
lea eax, [ebx + 3]
push eax
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov ebx, dword [ebp - 0x90]
jmp 0x53bd3a
push dword [ebp - 0x90]
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
add ebx, 3
jmp 0x53bd3a
mov eax, dword [ebp + 0x20]
inc eax
cmp byte [ebx], 0x7a
push eax
push dword [ebp - 0xa4]
push edi
push ecx
push dword [ebp - 0x9c]
jne 0x53bca2
lea eax, [ebx + 3]
push eax
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov ebx, dword [ebp - 0x80]
mov al, byte [ebx]
cmp al, 0x81
je 0x53bf3b
cmp al, 0x88
jae 0x53954f
jmp 0x53bd3a
push edx
push esi
call fcn.00538f50
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x53bcc4
mov ecx, dword [ebp - 0x80]
cmp dword [edi + 0xb4], ecx
jne 0x53cd9b
jmp 0x53bccf
test eax, eax
jne 0x53cd9b
mov ecx, dword [ebp - 0x80]
cmp byte [ecx], 0x81
je 0x53bf81
add ebx, 3
jmp 0x53bd3a
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x94], edx
lea eax, [edx + edx]
mov dword [ebp - 0xbc], eax
cmp eax, dword [edi + 0x14]
jl 0x53c82d
mov edx, dword [ebp - 0x80]
cmp edx, 0x88
jae 0x53bd50
cmp edx, 0x81
je 0x53bd50
cmp dword [edi + 0x6c], 0
jne 0x53bd5a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebx], 0x77
je 0x53bd5a
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x5ade60]
add ebx, eax
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x53cd94
mov ecx, dword [ebp - 0xa4]
jmp 0x538ff0
mov dword [edi + 0x98], 2
mov eax, dword [edi + 0xac]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
add esp, 0x1c
mov dword [ebp - 0xbc], eax
cmp eax, 0xfffffc20
jne 0x53bdd5
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
add edx, ebx
cmp dword [edi + 0x7c], edx
jae 0x53cd9b
cmp byte [ebx], 0x77
je 0x53bddd
cmp byte [edx], 0x77
jne 0x53cd9b
jmp 0x53bddd
test eax, eax
jne 0x53c99b
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xb0]
add ebx, ecx
mov dword [edi + 0xac], eax
cmp byte [ebx], 0x77
jne case.0x53c6fe.14
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x90], eax
jmp 0x53bd02
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
lea eax, [ebx + 2]
mov dword [edi + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
sub eax, 1
je case.0x53c6fe.14
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffe6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0xa4], eax
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x7c]
cmp eax, ecx
je case.0x53c6fe.14
push eax
call dword [0x60c7c8]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xcc]
lea edx, [ebp - 0x7c]
cmp ecx, edx
je 0x53cd9b
push ecx
call dword [0x60c7c8]
mov eax, dword [ebp - 0x90]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x9c]
mov dword [edi + 0x80], esi
mov dword [edi + 0x7c], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov dword [edi + 0xb4], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
jmp 0x53bfa2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push ecx
push dword [ebp - 0x9c]
lea eax, [ebx + 3]
push eax
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov eax, dword [ebp - 0x80]
mov dword [edi + 0xb4], eax
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x9c]
mov dword [edi + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [edi + 0x80], esi
mov dword [edi + 0x8c], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x8c]
mov dword [edi + 0x8c], eax
mov eax, dword [ebp - 0x9c]
mov dword [edi + 0x80], esi
mov dword [edi + 0x7c], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x88]
test ecx, ecx
je case.0x53c6fe.14
lea eax, [esi + 1]
cmp eax, dword [edi + 0x78]
jb case.0x53c6fe.14
cmp dword [edi + 0x18], 0
jne case.0x53c6fe.14
cmp dword [edi + 0x1c], 2
jne case.0x53c6fe.14
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne case.0x53c6fe.14
mov dword [edi + 0x64], 1
cmp ecx, 1
jle case.0x53c6fe.14
pop edi
pop esi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x53c6fe.14
cmp esi, dword [edi + 0x84]
jbe case.0x53c6fe.14
mov dword [edi + 0x64], 1
cmp eax, 1
jle case.0x53c6fe.14
pop edi
pop esi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x53c0df
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jb case.0x53c6fe.14
jmp 0x53c0a5
cmp dword [ebp - 0x90], 0
je 0x53c1d2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push dword [ebp - 0x98]
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov ebx, dword [ebp - 0xa0]
nop word [eax + eax]
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0xa8], eax
jge case.0x53c6fe.14
push dword [ebp - 0x88]
push edi
push dword [ebp - 0x80]
push esi
push ebx
call fcn.0053d1c0
add esp, 0x14
test eax, eax
js 0x53c1ae
inc dword [ebp - 0xa8]
add esi, eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push dword [ebp - 0x98]
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c140
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x53c1b6
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jb case.0x53c6fe.14
jmp 0x53c0a5
mov ebx, esi
mov dword [ebp - 0xb0], ebx
cmp edx, ecx
jge 0x53c250
mov ebx, dword [ebp - 0xa0]
push dword [ebp - 0x88]
push edi
push eax
push esi
push ebx
call fcn.0053d1c0
add esp, 0x14
test eax, eax
js 0x53c216
add esi, eax
mov eax, dword [ebp - 0xa8]
inc eax
cmp eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x80]
jl 0x53c1e4
jmp 0x53c240
cmp eax, 0xfffffffe
jne 0x53c240
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x53c240
mov eax, dword [edi + 0x78]
cmp eax, dword [edi + 0x84]
jbe 0x53c240
mov dword [edi + 0x64], 1
cmp ecx, 1
jg 0x53a24f
mov ebx, dword [ebp - 0xb0]
cmp esi, ebx
jb case.0x53c6fe.14
nop
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push dword [ebp - 0x98]
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
sub esi, dword [ebp - 0x80]
cmp esi, ebx
jae 0x53c250
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x53c29f
mov esi, dword [edi + 0x78]
mov eax, dword [edi + 0x88]
test eax, eax
je case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jb case.0x53c6fe.14
jmp 0x53c0a5
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
nop word [eax + eax]
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x80], eax
jge case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x88]
test byte [edx + ecx], al
je case.0x53c6fe.14
mov eax, dword [ebp + 0x20]
inc dword [ebp - 0x80]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c2f0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
nop
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x88]
jge case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
cmp dword [ebp - 0xa0], ecx
je 0x53c3c2
cmp dword [ebp - 0x90], ecx
jne case.0x53c6fe.14
inc eax
inc esi
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c390
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
nop dword [eax + eax]
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x88]
jge case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0xa0], eax
jne case.0x53c6fe.14
mov eax, dword [ebp + 0x20]
inc ecx
inc eax
mov dword [ebp - 0x98], ecx
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c430
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x88]
jge case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx ecx, byte [esi]
cmp dword [ebp - 0xa0], ecx
je case.0x53c6fe.14
cmp dword [ebp - 0x90], ecx
je case.0x53c6fe.14
inc eax
inc esi
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c4c3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x88]
jge case.0x53c6fe.14
cmp esi, dword [edi + 0x78]
jae 0x53c097
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0xa0], eax
je case.0x53c6fe.14
mov eax, dword [ebp + 0x20]
inc ecx
inc eax
mov dword [ebp - 0x98], ecx
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c562
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
nop dword [eax + eax]
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x88]
jge case.0x53c6fe.14
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x53c097
mov eax, dword [ebp - 0x98]
cmp eax, 0xc
jne 0x53c685
cmp dword [edi + 0x18], 0
je 0x53c65b
push 0
lea eax, [edi + 0x1c]
push eax
push edx
push dword [edi + 0x18]
push esi
call fcn.0053e0a0
add esp, 0x14
test eax, eax
jne case.0x53c6fe.14
mov ecx, dword [ebp - 0x80]
jmp 0x53c67f
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x53c685
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x53c67f
cmp dword [edi + 0x1c], 1
je case.0x53c6fe.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x53c6fe.14
mov eax, dword [ebp - 0x98]
movzx edx, byte [esi]
add eax, 0xfffffffa
inc esi
cmp eax, 0xf
ja case.0x53c695.15
jmp dword [eax*4 + 0x53d0e8]
cmp dword [edi + 0x88], 0
je case.0x53c695.13
cmp esi, dword [edi + 0x78]
jb case.0x53c695.13
cmp dword [edi + 0x18], 0
jne case.0x53c695.13
cmp dword [edi + 0x1c], 2
jne case.0x53c695.13
movzx eax, byte [edi + 0x34]
cmp edx, eax
jne case.0x53c695.13
cmp dword [edi + 0x88], 1
mov dword [edi + 0x64], 1
jg 0x53a24f
jmp case.0x53c695.13
add edx, 0xfffffff6
cmp edx, 0x7b
ja case.0x53c6fe.14
movzx eax, byte [edx + 0x53d138]
jmp dword [eax*4 + 0x53d128]
cmp esi, dword [edi + 0x78]
jae case.0x53c695.13
cmp byte [esi], 0xa
jne case.0x53c695.13
inc esi
jmp case.0x53c695.13
cmp dword [edi + 0x68], 0
jne case.0x53c6fe.14
jmp case.0x53c695.13
cmp edx, 9
je case.0x53c6fe.14
cmp edx, 0x20
je case.0x53c6fe.14
cmp edx, 0xa0
jmp 0x53c7e8
cmp edx, 9
je case.0x53c695.13
cmp edx, 0x20
je case.0x53c695.13
cmp edx, 0xa0
jne case.0x53c6fe.14
jmp case.0x53c695.13
cmp edx, 0xa
jb case.0x53c695.13
cmp edx, 0xd
jbe case.0x53c6fe.14
cmp edx, 0x85
jmp 0x53c7e8
cmp edx, 0xa
jb case.0x53c6fe.14
cmp edx, 0xd
jbe case.0x53c695.13
cmp edx, 0x85
jne case.0x53c6fe.14
jmp case.0x53c695.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 4
jne case.0x53c6fe.14
jmp case.0x53c695.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 4
jmp 0x53c7e8
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
jne case.0x53c6fe.14
jmp case.0x53c695.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
jmp 0x53c7e8
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
jne case.0x53c6fe.14
jmp case.0x53c695.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
je case.0x53c6fe.14
mov eax, dword [ebp + 0x20]
inc ecx
inc eax
mov dword [ebp - 0x80], ecx
push eax
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push ebx
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
je 0x53c610
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
mov esi, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0xa0], eax
mov eax, dword [edi + 0x10]
sub eax, edx
mov dword [ebp - 0x90], esi
mov esi, dword [ebp - 0x84]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 0xac]
mov dword [ebp - 0xb4], eax
mov eax, esi
sub eax, dword [edi + 0x74]
mov dword [ecx], eax
nop dword [eax + eax]
cmp dword [ebp - 0x80], 0x88
jb 0x53c893
mov dword [edi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
mov edx, eax
add esp, 0x1c
mov dword [ebp - 0xb8], edx
cmp edx, 0xfffffc1b
je 0x53c93b
cmp edx, 0xfffffc20
jne 0x53c903
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
add edx, ebx
cmp dword [edi + 0x7c], edx
jae 0x53c982
cmp byte [ebx], 0x77
je 0x53c8ff
cmp byte [edx], 0x77
jne 0x53c982
xor edx, edx
jmp 0x53c90b
test edx, edx
jne 0x53c988
mov eax, dword [ebp - 0xb0]
mov dword [edi + 0x90], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xb4]
add ebx, ecx
mov dword [edi + 0xac], eax
cmp byte [ebx], 0x77
je 0x53c880
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0x90]
mov esi, dword [ebp - 0xa0]
mov dword [eax + ecx*4], ebx
mov eax, dword [edi + 0xc]
mov dword [eax + ecx*4 + 4], esi
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
sub ecx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xa8]
pop edi
mov dword [eax + ecx*4], esi
mov eax, edx
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xb8]
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffc1b
jne 0x53cd9b
mov cl, byte [ebx]
cmp cl, 0x81
je 0x53c9db
cmp cl, 0x77
jne 0x53c9c6
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x53c9b2
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xbc]
sub ebx, ecx
xor ecx, ecx
cmp dword [edi + 0xb4], ebx
pop edi
pop esi
cmove eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
lea eax, [ebx + 2]
mov dword [edi + 0xac], 0
mov dword [edi + 0xb0], eax
movzx ecx, byte [ebx + 1]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00538f50
mov ecx, eax
add esp, 0x1c
mov dword [ebp - 0xb4], ecx
cmp ecx, 1
je 0x53ca59
cmp ecx, 0xfffffc19
jne 0x53ca7e
cmp dword [edi + 0xac], 0
jne 0x53ca7e
lea eax, [ebx + 2]
mov dword [edi + 0xac], eax
mov eax, ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
cmp ecx, 0xfffffc1f
jne 0x53cac3
mov ecx, dword [edi + 0x7c]
mov eax, dword [ebp - 0xb0]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x53cab0
test dl, dl
je 0x53caac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x53cab0
add eax, 2
add ecx, 2
test dl, dl
jne 0x53ca90
xor eax, eax
jmp 0x53cab5
sbb eax, eax
or eax, 1
test eax, eax
je 0x53cc25
mov ecx, dword [ebp - 0xb4]
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
add esp, 0x1c
mov ecx, 0xfffffc1c
test eax, eax
cmovne ecx, eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
add esp, 0x1c
mov ecx, 0xfffffc1d
test eax, eax
cmovne ecx, eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
lea eax, [ebx + 2]
mov dword [edi + 0xac], 0
mov dword [edi + 0xb0], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00538f50
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x53cbc2
cmp ecx, 0xfffffc19
jne 0x53cbd4
cmp dword [edi + 0xac], 0
jne 0x53cbd4
lea eax, [ebx + 2]
mov dword [edi + 0xac], eax
pop edi
test ecx, ecx
mov eax, 0xfffffc1d
pop esi
cmovne eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
push eax
push esi
call fcn.00538f50
add esp, 0x1c
test eax, eax
jne 0x53cd9b
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
lea eax, [ebx + 2]
mov dword [edi + 0xac], 0
mov dword [edi + 0xb0], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0xa4]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x8c]
movzx eax, byte [eax + 0x5ade60]
push dword [ebp - 0x9c]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00538f50
add esp, 0x1c
cmp eax, 1
je 0x53cce0
cmp eax, 0xfffffc19
jne 0x53cc6c
cmp dword [edi + 0xac], 0
jne 0x53cc6c
lea ecx, [ebx + 2]
mov dword [edi + 0xac], ecx
jmp 0x53cc6c
mov ecx, dword [ebp - 0x9c]
cmp esi, ecx
jne 0x53cd33
cmp edx, 0x9f
je 0x53cd33
cmp dword [edi + 0xa4], 0
jne 0x53cd33
cmp dword [edi + 0x5c], 0
jne case.0x53c6fe.14
cmp dword [edi + 0x60], 0
je 0x53cd33
mov eax, dword [edi + 0x94]
add eax, dword [edi + 0x74]
cmp ecx, eax
je case.0x53c6fe.14
mov eax, dword [ebp - 0x8c]
test edx, edx
mov dword [edi + 0x8c], eax
mov eax, 0xfffffc19
mov dword [edi + 0x80], esi
mov dword [edi + 0x7c], ecx
mov ecx, 1
pop edi
pop esi
cmove eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffeb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00553daa
mov esp, ebp
pop ebp
ret
inc dword [edi]
mov eax, 0xfffffff8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00553daa
mov esp, ebp
pop ebp
ret