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

Disassembly:
push ebp
lea ebp, [esp - 0x58]
sub esp, 0xc4
push ebx
push esi
mov esi, dword [ebp + 0x6c]
push edi
push 0x160
call dword [0x5c0a50]
mov ecx, dword [ebp + 0x64]
mov edx, dword [ebp + 0x68]
mov ebx, eax
mov eax, dword [ebp + 0x60]
mov dword [ebx], 0
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x70]
mov dword [ebx + 8], ecx
mov ecx, dword [ebp + 0x74]
mov dword [ebx + 0xc], edx
mov edx, dword [ebp + 0x78]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
add esp, 4
cmp ecx, eax
mov dword [ebp + 0x54], ebx
jae 0x57d9ce
mov ecx, dword [esi]
mov eax, dword [esi + 8]
inc ecx
mov dword [esi], ecx
mov edx, dword [ebx + 0x1c]
cmp edx, eax
jae 0x57da08
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x64], eax
test byte [ebx + 0x18], 2
je 0x57b6e7
mov ecx, dword [ebx + 0x14]
lea eax, [ebx + 0x114]
mov dword [eax], ecx
mov edx, dword [ebx + 4]
mov dword [ebx + 0x118], edx
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 8]
movzx ecx, byte [eax]
xor edi, edi
mov dword [ebx + 0x88], ecx
mov dword [ebx + 0x5c], edi
cmp dword [esi + 0x38], edi
je 0x57b714
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jb 0x57b714
cmp eax, dword [esi + 0x4c]
jbe 0x57b714
mov edx, 1
mov dword [esi + 0x3c], edx
jmp 0x57b719
mov edx, 1
mov eax, dword [ebx + 0x88]
cmp eax, 0x50
jle 0x57b764
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebx + 0x80], eax
jle 0x57b743
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebx + 0x80], ecx
mov eax, dword [ebx + 0x80]
add eax, eax
mov dword [ebx + 0x84], eax
cmp eax, dword [esi + 0x14]
jl 0x57cb2c
mov dword [ebx + 0x88], 0x50
mov eax, dword [ebx + 0x88]
cmp eax, 0x50
ja case.0x57b77a.13
movzx eax, byte [eax + 0x57e018]
jmp dword [eax*4 + 0x57df64]
add dword [ebx + 8], 3
jmp 0x57b6e7
mov edi, dword [esi + 0x60]
test edi, edi
je 0x57db6b
mov eax, dword [edi + 4]
test eax, eax
jne 0x57db6b
mov ecx, dword [edi]
mov dword [esi + 0x60], ecx
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0xc]
shl edx, 2
push edx
push eax
push ecx
call fcn.00592290
mov edx, dword [edi + 0xc]
mov dword [esi + 0x4c], edx
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x10], eax
mov ecx, dword [edi + 8]
add esp, 0xc
mov dword [ebx + 8], ecx
jmp 0x57b6e7
mov edx, dword [ebx + 8]
movzx eax, byte [edx + 1]
mov dword [ebx + 0x10], eax
add dword [ebx + 8], 2
jmp 0x57b6e7
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x2c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57ce65
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
cmp edi, 1
mov dword [ebp + 0x54], ebx
je 0x57b848
test edi, edi
jne 0x57d4ad
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je case.0x57b77a.69
mov edx, dword [ebx + 8]
cmp byte [edx], 0x42
je 0x57db7a
test byte [ebx + 0x18], 1
jne 0x57dbae
mov edi, edi
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je 0x57b860
add eax, 3
mov dword [ebx + 8], eax
mov edx, dword [esi + 0x54]
mov dword [ebx + 0xc], edx
jmp 0x57b6e7
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0xc], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57cea0
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
cmp edi, 1
mov dword [ebp + 0x54], ebx
je 0x57db7a
test edi, edi
jne 0x57d4ad
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je case.0x57b77a.70
test byte [ebx + 0x18], 1
jne 0x57dbae
add eax, 3
mov dword [ebx + 8], eax
jmp 0x57b6e7
mov eax, dword [ebx + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov eax, dword [ebx + 4]
sub eax, edx
mov dword [ebx + 4], eax
cmp eax, dword [esi + 0x44]
jb 0x57bd4c
add dword [ebx + 8], 3
jmp 0x57b6e7
mov edi, dword [0x609554]
test edi, edi
je 0x57b9b5
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x6c], 1
mov eax, dword [ebx + 8]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x68], ecx
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x64], edx
mov edx, dword [esi + 0x4c]
sub ecx, eax
sub edx, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov ecx, dword [ebx + 4]
sub ecx, eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ebx + 8]
xor edx, edx
mov dh, byte [eax + 2]
xor ecx, ecx
mov dl, byte [eax + 3]
mov dword [ebp - 0x44], edx
mov eax, dword [ebx + 8]
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebx + 0xc]
cdq
sub eax, edx
mov edx, dword [esi + 0x58]
sar eax, 1
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0x64]
lea ecx, [ebp - 0x6c]
push ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg 0x57db7a
jl 0x57d4ad
add dword [ebx + 8], 6
jmp 0x57b6e7
mov edx, dword [ebx + 8]
mov dword [ebx + 0x34], edx
mov eax, dword [ebx + 4]
mov dword [ebx + 0x38], eax
lea ebx, [ebx]
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x20], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d030
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
cmp edi, 1
mov dword [ebp + 0x54], ebx
je 0x57ba28
test edi, edi
jne 0x57d4ad
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je 0x57b9d0
mov edx, dword [ebx + 8]
mov al, byte [edx]
cmp al, 0x4a
je 0x57ba40
cmp al, 0x41
jne 0x57db7a
lea esp, [esp]
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je 0x57ba40
mov edx, dword [esi + 0x54]
mov dword [ebx + 0xc], edx
mov eax, dword [esi + 0x50]
mov dword [ebx + 4], eax
mov ecx, dword [ebx + 8]
cmp byte [ecx], 0x42
je 0x57ba72
cmp eax, dword [ebx + 0x38]
jne 0x57d038
add ecx, 3
mov dword [ebx + 8], ecx
jmp 0x57b6e7
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 8], eax
cmp byte [eax], 0x41
je case.0x57b77a.65
jmp 0x57b6e7
mov edx, dword [ebx + 8]
inc edx
push 0x160
mov dword [ebx + 0x2c], edx
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp - 0xc], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d16d
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
test edi, edi
mov dword [ebp + 0x54], ebx
jne 0x57d4ad
mov edi, edi
mov eax, dword [ebx + 0x2c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 0x2c], eax
cmp byte [eax], 0x41
je 0x57bae0
add eax, 3
mov dword [ebx + 8], eax
jmp 0x57b6e7
mov edx, dword [ebx + 8]
inc edx
mov dword [ebx + 0x2c], edx
mov eax, dword [ebx + 0x2c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 0x2c], eax
cmp byte [eax], 0x41
je 0x57bb07
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp - 0x34], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d181
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
test edi, edi
mov dword [ebp + 0x54], ebx
jne 0x57d4ad
inc dword [ebx + 8]
jmp 0x57b6e7
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
sub eax, ecx
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 4]
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
mov dword [ebx + 0x14], ecx
mov eax, dword [ebx + 0x34]
mov al, byte [eax]
cmp al, 0x45
je 0x57dd90
cmp al, 0x46
je 0x57dd90
cmp al, 0x47
je 0x57dd90
cmp al, 0x48
je 0x57dd90
cmp al, 0x4a
je 0x57dd90
cmp al, 0x4b
je 0x57bc8e
movzx eax, al
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebx + 0x80], eax
jle 0x57bbd9
mov eax, dword [ebx + 0x34]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebx + 0x80], ecx
mov eax, dword [ebx + 0x80]
shl eax, 1
mov dword [ebx + 0x84], eax
mov eax, dword [ebx + 0x80]
cmp eax, edi
jle 0x57bc8e
mov dword [esi + 0x58], eax
mov ecx, dword [ebx + 0x84]
cmp ecx, dword [esi + 0x14]
jl 0x57bc08
mov dword [esi + 0x20], edx
jmp 0x57bc40
mov edx, dword [esi + 0x10]
sub edx, dword [ebx + 0x80]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [esi + 0x44]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x84]
sub eax, edx
mov edx, dword [esi + 0xc]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebx + 0x84]
cmp dword [ebx + 0xc], eax
jg 0x57bc40
add eax, 2
mov dword [ebx + 0xc], eax
mov edx, dword [esi + 0x60]
cmp edx, edi
je 0x57bc8e
mov eax, dword [edx + 4]
cmp eax, dword [ebx + 0x80]
jne 0x57bc8e
mov ecx, dword [edx]
mov eax, dword [ebp + 0x6c]
mov edi, dword [eax + 0xc]
mov dword [eax + 0x60], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x4c], ecx
mov ecx, dword [edx + 0x14]
mov esi, dword [edx + 0x10]
shl ecx, 2
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 8]
mov esi, dword [ebp + 0x6c]
mov dword [ebx + 8], ecx
mov edx, dword [ebx + 0x64]
mov dword [ebx + 0x10], edx
jmp 0x57b6e7
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 8]
cmp byte [eax], 0x42
je 0x57bca8
mov ecx, dword [ebx + 4]
cmp ecx, dword [ebx + 0x38]
jne 0x57d195
add eax, 3
mov dword [ebx + 8], eax
jmp 0x57b6e7
cmp dword [esi + 0x24], edi
je 0x57bcc4
mov edx, dword [ebx + 4]
cmp edx, dword [esi + 0x44]
je 0x57bd4c
test byte [ebx + 0x10], 2
je case.0x57b77a.1
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
je 0x57bcda
mov cl, byte [eax - 1]
cmp cl, 0xa
jne 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
jne 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x44]
mov eax, dword [ebx + 4]
add ecx, edx
cmp eax, ecx
jne 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
test byte [ebx + 0x10], 2
je 0x57bd29
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd1c
cmp byte [eax], 0xa
jmp 0x57bd1f
cmp dword [esi + 0x28], edi
jne 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
cmp dword [esi + 0x28], edi
jne 0x57bd4c
cmp dword [esi + 0x30], edi
jne case.0x57b77a.17
mov ecx, dword [esi + 0x48]
mov eax, dword [ebx + 4]
dec ecx
cmp eax, ecx
jb 0x57bd4c
jne 0x57bcda
mov cl, byte [eax]
jmp 0x57bcd5
mov edx, dword [ebx + 4]
cmp edx, dword [esi + 0x48]
jae 0x57bcda
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
cmp ebx, edi
je 0x57dae3
mov dword [ebx + 0x11c], edi
jmp 0x57df10
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x44]
je 0x57bd89
movzx eax, byte [eax - 1]
mov ecx, dword [esi + 0x1c]
test byte [eax + ecx], 0x10
je 0x57bd89
mov eax, edx
jmp 0x57bd8b
xor eax, eax
mov dword [ebx + 0x60], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bda6
movzx eax, byte [eax]
mov ecx, dword [esi + 0x1c]
test byte [eax + ecx], 0x10
je 0x57bda6
mov eax, edx
jmp 0x57bda8
xor eax, eax
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 8]
mov dl, byte [eax]
inc eax
cmp dl, 4
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x54]
jne 0x57bdc6
sub eax, dword [ebx + 0x60]
neg eax
sbb eax, eax
inc eax
jmp 0x57bdd2
mov edx, dword [ebx + 0x60]
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
cmp eax, edi
je 0x57b6e7
jmp 0x57bd4c
test byte [ebx + 0x10], 4
jne case.0x57b77a.12
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae case.0x57b77a.12
cmp byte [eax], 0xa
je 0x57bd4c
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x48]
cmp eax, edx
lea ecx, [eax + 1]
mov dword [ebx + 4], ecx
jae 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd4c
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
mov edx, dword [esi + 0x1c]
test byte [ecx + edx], 4
jmp 0x57bcd8
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd4c
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x1c]
test byte [ecx + eax], 4
je 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd4c
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
mov edx, dword [esi + 0x1c]
test byte [ecx + edx], 1
jmp 0x57bcd8
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd4c
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x1c]
test byte [ecx + eax], 1
je 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd4c
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
mov edx, dword [esi + 0x1c]
test byte [ecx + edx], 0x10
jmp 0x57bcd8
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57bd4c
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x1c]
test byte [ecx + eax], 0x10
je 0x57bd4c
inc dword [ebx + 8]
jmp 0x57b6e7
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
shl ecx, 1
mov dword [ebx + 0x84], ecx
add dword [ebx + 8], 3
mov eax, dword [ebx + 0x84]
cmp eax, dword [ebx + 0xc]
jge 0x57bf1d
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + eax*4]
cmp ecx, edi
lea eax, [edx + eax*4]
jl 0x57bf1d
mov edi, dword [eax + 4]
sub edi, ecx
jmp 0x57bf24
mov edi, dword [esi + 0x48]
sub edi, dword [ebx + 4]
inc edi
mov dword [ebx + 0x74], edi
mov ecx, dword [ebx + 8]
mov al, byte [ecx]
mov byte [ebp + 0x4f], al
movzx eax, al
add eax, 0xffffffcd
cmp eax, 7
ja case.default.0x57bf45
movzx edx, byte [eax + 0x57e074]
jmp dword [edx*4 + 0x57e06c]
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x5c], ecx
movzx edx, byte [eax + 0x5afe14]
mov dword [ebx + 0x7c], edx
movzx eax, byte [eax + 0x5afe1c]
test eax, eax
mov dword [ebx + 0x78], eax
jne 0x57bfb5
mov dword [ebx + 0x78], bind
jmp 0x57bfb5
mov cl, byte [ebp + 0x4f]
xor eax, eax
cmp cl, 0x3a
sete al
xor ecx, ecx
xor edx, edx
mov dword [ebx + 0x5c], eax
mov eax, dword [ebx + 8]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x7c], ecx
mov eax, dword [ebx + 8]
mov dh, byte [eax + 3]
movzx ecx, byte [eax + 4]
mov eax, edx
or eax, ecx
mov dword [ebx + 0x78], eax
jne 0x57bfb1
mov dword [ebx + 0x78], bind
add dword [ebx + 8], 5
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x57b6e7
mov ecx, dword [ebx + 0x7c]
mov eax, 1
cmp ecx, eax
mov dword [ebp + 0x50], eax
jl 0x57c008
nop
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x74]
push edx
mov edx, dword [ebx + 0x84]
push eax
mov ecx, esi
mov eax, edi
call fcn.0057b5d0
test eax, eax
je 0x57db7a
mov eax, dword [ebx + 4]
add edi, eax
mov eax, dword [ebp + 0x50]
mov dword [ebx + 4], edi
mov ecx, dword [ebx + 0x7c]
inc eax
cmp eax, ecx
mov dword [ebp + 0x50], eax
jle 0x57bfd0
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d2d5
mov eax, dword [ebx + 0x7c]
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x48], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57c0c5
jmp 0x57c050
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57dab3
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x74]
mov edi, dword [esi + 4]
mov ecx, dword [ebp + 0x6c]
push edx
mov edx, dword [esi + 0x84]
push edi
mov eax, ebx
call fcn.0057b5d0
test eax, eax
je 0x57ddc4
add ebx, edi
mov dword [esi + 4], ebx
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x48], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57c050
mov ebx, dword [ebp + 0x48]
jmp 0x57d98c
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x84]
push ecx
push eax
mov ecx, esi
mov eax, edi
call fcn.0057b5d0
test eax, eax
je 0x57db7a
mov eax, dword [ebx + 4]
add eax, edi
mov dword [ebx + 4], eax
jmp 0x57b6e7
mov edx, dword [ebx + 8]
inc edx
mov dword [ebx + 0x28], edx
mov eax, dword [ebx + 8]
add eax, 0x21
mov ecx, eax
mov dword [ebx + 8], eax
mov dl, byte [ecx]
movzx eax, dl
add eax, 0xffffffcd
cmp eax, 7
ja case.default.0x57c11f
movzx edi, byte [eax + 0x57e084]
jmp dword [edi*4 + 0x57e07c]
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, 1
mov dword [ebx + 0x5c], ecx
movzx edx, byte [eax + 0x5afe14]
mov dword [ebx + 0x7c], edx
movzx eax, byte [eax + 0x5afe1c]
test eax, eax
mov dword [ebx + 0x78], eax
jne 0x57c199
mov dword [ebx + 0x78], bind
jmp 0x57c199
xor eax, eax
cmp dl, 0x3a
sete al
xor ecx, ecx
xor edx, edx
mov dword [ebx + 0x5c], eax
mov eax, dword [ebx + 8]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x7c], ecx
mov eax, dword [ebx + 8]
mov dh, byte [eax + 3]
movzx ecx, byte [eax + 4]
mov eax, edx
or eax, ecx
mov dword [ebx + 0x78], eax
jne 0x57c188
mov dword [ebx + 0x78], bind
add dword [ebx + 8], 5
jmp 0x57c199
mov eax, 1
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x7c]
mov edi, 1
cmp eax, edi
jl 0x57c1f5
jmp 0x57c1b0
mov ecx, dword [ebx + 4]
cmp ecx, dword [esi + 0x48]
jae 0x57db7a
movzx esi, byte [ecx]
inc ecx
mov dword [ebx + 4], ecx
mov ecx, esi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, eax
mov eax, esi
cdq
and edx, 7
add eax, edx
mov edx, dword [ebx + 0x28]
sar eax, 3
mov al, byte [eax + edx]
test al, cl
je 0x57dcb0
mov eax, dword [ebx + 0x7c]
mov esi, dword [ebp + 0x6c]
inc edi
cmp edi, eax
jle 0x57c1b0
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d376
mov eax, ecx
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x28], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57c2c5
jmp 0x57c240
mov edi, dword [ebp + 0x6c]
mov esi, dword [edi + 0x68]
mov ebx, dword [esi + 0x11c]
test ebx, ebx
mov dword [ebp + 0x54], esi
jne 0x57ddcc
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57ddfc
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x48]
jae 0x57ddfc
movzx ecx, byte [eax]
inc eax
mov dword [esi + 4], eax
mov eax, ecx
cdq
and edx, 7
and ecx, 7
add eax, edx
mov edx, dword [esi + 0x28]
mov ebx, 1
shl ebx, cl
sar eax, 3
test byte [eax + edx], bl
je 0x57ddfc
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x28], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57c240
mov ebx, dword [ebp + 0x28]
jmp 0x57d98c
mov edi, dword [ebx + 4]
mov edx, dword [esi + 0x48]
sub edx, edi
cmp edx, 1
jl 0x57db7a
mov eax, dword [ebx + 8]
mov dl, byte [edi]
mov cl, byte [eax + 1]
inc edi
cmp cl, dl
mov dword [ebx + 4], edi
jne 0x57db7a
add dword [ebx + 8], 2
jmp 0x57b6e7
mov edi, dword [ebx + 4]
mov eax, dword [esi + 0x48]
sub eax, edi
cmp eax, 1
jl 0x57db7a
mov ecx, dword [ebx + 8]
movzx edx, byte [ecx + 1]
movzx ecx, byte [edi]
mov eax, dword [esi + 0x18]
mov dl, byte [edx + eax]
mov al, byte [ecx + eax]
inc edi
cmp dl, al
mov dword [ebx + 4], edi
jne 0x57db7a
add dword [ebx + 8], 2
jmp 0x57b6e7
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
movzx eax, byte [eax + 2]
mov dword [ebp + 0x50], eax
mov eax, ecx
mov ecx, dword [ebp + 0x50]
or eax, ecx
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
add dword [ebx + 8], 3
jmp 0x57c3ae
mov dword [ebx + 0x7c], edi
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x78], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [eax], 0x1f
sete cl
mov dword [ebx + 0x5c], ecx
add dword [ebx + 8], 3
jmp 0x57c3ae
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
sub eax, 0x18
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, edx
mov dword [ebx + 0x5c], ecx
movzx ecx, byte [eax + 0x5afe14]
mov dword [ebx + 0x7c], ecx
movzx eax, byte [eax + 0x5afe1c]
cmp eax, edi
mov dword [ebx + 0x78], eax
jne 0x57c3ae
mov dword [ebx + 0x78], bind
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x48]
sub eax, ecx
cmp dword [ebx + 0x7c], eax
jg 0x57bd4c
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
mov dword [ebx + 0x6c], eax
inc dword [ebx + 8]
test byte [ebx + 0x10], 1
je 0x57c4ce
mov eax, dword [esi + 0x18]
mov ecx, dword [ebx + 0x6c]
movzx ecx, byte [ecx + eax]
mov dword [ebx + 0x6c], ecx
cmp dword [ebx + 0x7c], edx
mov ecx, edx
jl 0x57c414
lea esp, [esp]
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
movzx edx, byte [edx + edi]
mov edi, dword [ebx + 0x6c]
inc eax
cmp edi, edx
mov dword [ebx + 4], eax
jne 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c3f0
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d433
mov eax, dword [ebx + 0x7c]
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x44], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57c4c6
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57dab3
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x48]
jae 0x57dab3
movzx edx, byte [eax]
mov ecx, dword [ebx + 0x18]
movzx edx, byte [ecx + edx]
mov ecx, dword [esi + 0x6c]
inc eax
cmp ecx, edx
mov dword [esi + 4], eax
jne 0x57dab3
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x44], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57c454
mov ebx, dword [ebp + 0x44]
jmp 0x57d718
cmp dword [ebx + 0x7c], edx
mov ecx, edx
jl 0x57c4f2
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [ebx + 0x6c]
inc eax
cmp edi, edx
mov dword [ebx + 4], eax
jne 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c4d5
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d4d9
mov eax, dword [ebx + 0x7c]
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x3c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57c59d
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57dab3
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x48]
jae 0x57dab3
movzx edx, byte [eax]
mov ecx, dword [esi + 0x6c]
inc eax
cmp ecx, edx
mov dword [esi + 4], eax
jne 0x57dab3
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x3c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57c532
mov ebx, dword [ebp + 0x3c]
jmp 0x57d718
mov ecx, dword [ebx + 4]
cmp ecx, dword [esi + 0x48]
jae 0x57bd4c
inc dword [ebx + 8]
mov eax, dword [ebx + 4]
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 4], eax
test byte [ebx + 0x10], 1
je 0x57c5e6
mov eax, dword [esi + 0x18]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebx + 8]
movzx edi, byte [ecx]
movzx eax, byte [edi + eax]
inc ecx
cmp eax, edx
mov dword [ebx + 8], ecx
jne 0x57b6e7
jmp 0x57db7a
mov eax, dword [ebx + 8]
movzx edx, byte [eax]
inc eax
cmp edx, ecx
mov dword [ebx + 8], eax
jne 0x57b6e7
jmp 0x57bd4c
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
movzx eax, byte [eax + 2]
mov dword [ebp + 0x50], eax
mov eax, ecx
mov ecx, dword [ebp + 0x50]
or eax, ecx
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
add dword [ebx + 8], 3
jmp 0x57c677
mov dword [ebx + 0x7c], edi
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov dword [ebx + 0x78], ecx
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [eax], 0x28
sete cl
mov dword [ebx + 0x5c], ecx
add dword [ebx + 8], 3
jmp 0x57c677
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
sub eax, 0x21
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, edx
mov dword [ebx + 0x5c], ecx
movzx ecx, byte [eax + 0x5afe14]
mov dword [ebx + 0x7c], ecx
movzx eax, byte [eax + 0x5afe1c]
cmp eax, edi
mov dword [ebx + 0x78], eax
jne 0x57c677
mov dword [ebx + 0x78], bind
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x48]
sub eax, ecx
cmp dword [ebx + 0x7c], eax
jg 0x57bd4c
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
mov dword [ebx + 0x6c], eax
inc dword [ebx + 8]
test byte [ebx + 0x10], 1
je 0x57c79a
mov eax, dword [esi + 0x18]
mov ecx, dword [ebx + 0x6c]
movzx ecx, byte [ecx + eax]
mov dword [ebx + 0x6c], ecx
cmp dword [ebx + 0x7c], edx
mov ecx, edx
jl 0x57c6d6
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
movzx edx, byte [edx + edi]
mov edi, dword [ebx + 0x6c]
inc eax
cmp edi, edx
mov dword [ebx + 4], eax
je 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c6b2
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d559
mov eax, dword [ebx + 0x7c]
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x34], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57c792
jmp 0x57c720
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57dab3
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x48]
jae 0x57dab3
movzx edx, byte [eax]
mov ecx, dword [ebx + 0x18]
movzx edx, byte [ecx + edx]
mov ecx, dword [esi + 0x6c]
inc eax
cmp ecx, edx
mov dword [esi + 4], eax
je 0x57dab3
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x34], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57c720
mov ebx, dword [ebp + 0x34]
jmp 0x57d718
cmp dword [ebx + 0x7c], edx
mov ecx, edx
jl 0x57c7be
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [ebx + 0x6c]
inc eax
cmp edi, edx
mov dword [ebx + 4], eax
je 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c7a1
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d5e3
mov eax, dword [ebx + 0x7c]
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x2c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57c86b
mov edi, edi
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57dab3
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x48]
jae 0x57dab3
movzx edx, byte [eax]
mov ecx, dword [esi + 0x6c]
inc eax
cmp ecx, edx
mov dword [esi + 4], eax
je 0x57dab3
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x2c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57c800
mov ebx, dword [ebp + 0x2c]
jmp 0x57d718
mov eax, dword [ebx + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
movzx eax, byte [eax + 2]
mov dword [ebp + 0x50], eax
mov eax, ecx
mov ecx, dword [ebp + 0x50]
or eax, ecx
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x5c], edx
add dword [ebx + 8], 3
jmp 0x57c8f0
mov dword [ebx + 0x7c], edi
mov eax, dword [ebx + 8]
xor edx, edx
mov dh, byte [eax + 1]
xor ecx, ecx
mov dl, byte [eax + 2]
mov dword [ebx + 0x78], edx
mov eax, dword [ebx + 8]
cmp byte [eax], 0x31
sete cl
mov dword [ebx + 0x5c], ecx
add dword [ebx + 8], 3
jmp 0x57c8f0
mov ecx, dword [ebx + 8]
movzx eax, byte [ecx]
sub eax, 0x2a
inc ecx
mov dword [ebx + 8], ecx
mov ecx, eax
and ecx, edx
mov dword [ebx + 0x5c], ecx
movzx edx, byte [eax + 0x5afe14]
mov dword [ebx + 0x7c], edx
movzx eax, byte [eax + 0x5afe1c]
cmp eax, edi
mov dword [ebx + 0x78], eax
jne 0x57c8f0
mov dword [ebx + 0x78], bind
mov eax, dword [ebx + 8]
movzx ecx, byte [eax]
mov dword [ebx + 0x68], ecx
inc dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x48]
mov eax, dword [ebx + 0x7c]
sub edx, ecx
cmp eax, edx
jg 0x57bd4c
cmp eax, edi
jle 0x57ca91
mov edx, dword [ebx + 0x68]
add edx, 0xfffffffb
cmp edx, 7
ja case.default.0x57c926
jmp dword [edx*4 + 0x57e08c]
test byte [ebx + 0x10], 4
jne case.0x57c926.12
mov edi, 1
cmp eax, edi
jl 0x57ca91
mov eax, dword [ebx + 4]
mov cl, byte [eax]
inc eax
cmp cl, 0xa
mov dword [ebx + 4], eax
je 0x57db7a
mov eax, dword [ebx + 0x7c]
inc edi
cmp edi, eax
jle 0x57c940
jmp 0x57ca91
add eax, ecx
mov dword [ebx + 4], eax
jmp 0x57ca91
mov ecx, 1
cmp eax, ecx
jl 0x57ca91
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 4
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jne 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c976
jmp 0x57ca91
mov ecx, 1
cmp eax, ecx
jl 0x57ca91
lea esp, [esp]
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 4
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c9b0
jmp 0x57ca91
mov ecx, 1
cmp eax, ecx
jl 0x57ca91
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 1
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jne 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57c9e3
jmp 0x57ca91
mov ecx, 1
cmp eax, ecx
jl 0x57ca91
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 1
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57ca12
jmp 0x57ca91
mov ecx, 1
cmp eax, ecx
jl 0x57ca91
mov edi, edi
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 0x10
lea eax, [eax + 1]
mov dword [ebx + 4], eax
jne 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57ca40
jmp 0x57ca91
mov ecx, 1
cmp eax, ecx
jl 0x57ca91
lea esp, [esp]
mov eax, dword [ebx + 4]
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 0x10
lea eax, [eax + 1]
mov dword [ebx + 4], eax
je 0x57db7a
mov eax, dword [ebx + 0x7c]
inc ecx
cmp ecx, eax
jle 0x57ca70
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
je 0x57b6e7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x57d74c
mov eax, dword [ebx + 0x7c]
push 0x160
mov dword [ebx + 0x70], eax
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x24], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d715
jmp 0x57cae0
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57de59
mov ecx, dword [esi + 0x70]
cmp ecx, dword [esi + 0x78]
jge 0x57d682
mov ecx, dword [esi + 4]
cmp ecx, dword [ebx + 0x48]
jae 0x57d682
movzx eax, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x68]
add ecx, 0xfffffffb
cmp ecx, 7
ja case.default.0x57cb25
jmp dword [ecx*4 + 0x57e0ac]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [ebx + 0x90], edx
mov eax, dword [ebx + 0x84]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + eax*4 + 4]
mov dword [ebx + 0x94], edx
mov ecx, dword [ebx + 0x80]
mov eax, dword [esi + 0x10]
sub eax, ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [ebx + 0x98], edx
mov eax, dword [esi + 0x58]
mov dword [ebx + 0x8c], eax
mov edx, dword [esi + 0x44]
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x80]
sub ecx, edx
mov edx, dword [esi + 0x10]
sub edx, eax
mov eax, dword [esi + 0xc]
push 0x160
mov dword [eax + edx*4], ecx
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp + 0x38], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57cc0b
jmp 0x57cbb0
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
mov ecx, dword [esi + 0x8c]
mov dword [ebx + 0x58], ecx
mov eax, dword [esi + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [esi + 8], eax
cmp byte [eax], 0x41
jne 0x57da77
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push edi
push esi
mov dword [ebp + 0x38], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57cbb0
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp + 0x38]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
add edx, 3
jmp 0x57d260
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp + 0x40], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57cc96
mov edi, dword [ebp + 0x6c]
mov esi, dword [edi + 0x68]
mov ebx, dword [esi + 0x11c]
test ebx, ebx
mov dword [ebp + 0x54], esi
jne 0x57daf1
mov eax, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [esi + 8], eax
cmp byte [eax], 0x41
jne 0x57db2b
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push ebx
push esi
mov dword [ebp + 0x40], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57cc44
mov ebx, dword [ebp + 0x40]
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 8]
add ecx, 3
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xc], edx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax + 0x14]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], 2
mov ecx, dword [eax + 0x1c]
inc ecx
mov dword [ebx + 0x1c], ecx
jmp 0x57d9bb
mov eax, dword [ebx + 8]
cmp byte [eax + 3], 0x4c
jne 0x57cd74
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
lea eax, [ecx + ecx]
cmp eax, 0x1fffe
mov dword [ebx + 0x84], eax
jne 0x57cd01
mov ecx, dword [esi + 0x60]
xor eax, eax
cmp ecx, edi
setne al
jmp 0x57cd14
cmp eax, dword [ebx + 0xc]
jge 0x57cd12
mov ecx, dword [esi + 0xc]
cmp dword [ecx + eax*4], edi
jl 0x57cd12
mov eax, edx
jmp 0x57cd14
xor eax, eax
push 0x160
mov dword [ebx + 0x58], eax
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp - 0x1c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57db5b
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx + 4], edx
cmp dword [eax + 0x58], edi
je 0x57cd5d
mov edx, dword [eax + 8]
mov ecx, 6
add edx, ecx
jmp 0x57d260
mov esi, dword [eax + 8]
xor ecx, ecx
mov ch, byte [esi + 1]
mov edx, esi
mov cl, byte [esi + 2]
add ecx, 3
add edx, ecx
jmp 0x57d260
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp - 0x14], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57cdcd
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0x14]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
add edx, 3
mov dword [ebx + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], 3
mov ecx, dword [eax + 0x1c]
inc ecx
mov dword [ebx + 0x1c], ecx
jmp 0x57d9bb
mov edi, dword [ebp + 0x6c]
mov esi, dword [edi + 0x68]
mov ebx, dword [esi + 0x11c]
cmp ebx, 1
mov dword [ebp + 0x54], esi
jne 0x57ce0f
mov eax, dword [esi + 8]
xor edx, edx
mov dh, byte [eax + 4]
mov dl, byte [eax + 5]
lea eax, [edx + eax + 3]
mov dword [esi + 8], eax
cmp byte [eax], 0x41
jne 0x57ce27
mov eax, dword [esi + 8]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [esi + 8], eax
cmp byte [eax], 0x41
je 0x57cdf8
jmp 0x57ce27
test ebx, ebx
jne 0x57daf1
mov eax, dword [esi + 8]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add edx, eax
mov dword [esi + 8], edx
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x14], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57db5b
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp + 0x14]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
add edx, 3
jmp 0x57d260
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0x2c]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
add edx, 3
mov dword [ebx + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 2
mov ecx, dword [eax + 0x1c]
inc ecx
mov dword [ebx + 0x1c], ecx
jmp 0x57d9bb
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 8]
add ecx, 3
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xc], edx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 2
jmp 0x57d9b4
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0x40]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
lea eax, [ecx + edx]
mov dword [ebx + 0x20], eax
movzx eax, byte [eax]
add eax, 0xffffffb0
cmp eax, 0x64
mov dword [ebx + 0x40], eax
jle 0x57cf04
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
mov dword [ebx + 0x40], ecx
mov edx, dword [esi + 0x60]
mov dword [ebx + 0x3c], edx
lea eax, [ebx + 0x3c]
mov dword [esi + 0x60], eax
mov edx, dword [ebx + 8]
add edx, 3
mov dword [ebx + 8], edx
mov eax, edx
mov dword [ebx + 0x44], eax
mov eax, dword [esi + 0x10]
cmp eax, 0x1e
mov dword [ebx + 0x50], eax
jg 0x57cf34
lea eax, [ebx + 0x9c]
mov dword [ebx + 0x4c], eax
jmp 0x57cf50
lea ecx, [eax*4]
push ecx
call dword [0x5c0a48]
add esp, 4
cmp eax, edi
mov dword [ebx + 0x4c], eax
je 0x57dbe3
mov ecx, dword [ebx + 0x50]
mov eax, dword [ebp + 0x6c]
mov edi, dword [ebx + 0x4c]
mov esi, dword [eax + 0xc]
shl ecx, 2
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x4c]
mov dword [ebx + 0x48], ecx
mov edx, dword [ebx + 4]
push 0x160
mov dword [eax + 0x4c], edx
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x30], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d01c
mov edx, dword [ebp + 0x6c]
mov ebx, dword [edx + 0x68]
mov esi, dword [ebx + 0x11c]
cmp esi, 1
mov dword [ebp + 0x54], ebx
je 0x57dc18
test esi, esi
jne 0x57dc5f
mov edi, dword [edx + 0xc]
lea eax, [ebx + 0x3c]
mov dword [edx + 0x60], eax
mov ecx, dword [ebx + 0x50]
mov esi, dword [ebx + 0x4c]
shl ecx, 2
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x20]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebx + 0x20], eax
cmp byte [eax], 0x41
jne 0x57dc93
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 0x30], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57cfa0
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp + 0x30]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x20]
jmp 0x57cca5
mov ebx, dword [ebp + 0x20]
jmp 0x57cc99
mov eax, dword [ebx + 8]
cmp byte [eax + 3], 0x12
jne 0x57d050
movzx edx, byte [eax + 4]
mov eax, dword [ebx + 0x10]
and eax, 0xfffffff8
or edx, eax
mov dword [ebx + 0x10], edx
mov ecx, dword [ebx + 8]
cmp byte [ecx], 0x44
push 0x160
jne 0x57d0e7
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp + 4], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57d096
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp + 4]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 8]
add ecx, 3
jmp 0x57d724
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push edi
push esi
mov dword [ebp - 0x3c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57dcde
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x34]
jmp 0x57cca8
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 4], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57d119
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 4]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x34]
jmp 0x57cca8
mov ebx, dword [ebp + 0x6c]
mov esi, dword [ebx + 0x68]
mov edi, dword [esi + 0x11c]
test edi, edi
mov dword [ebp + 0x54], esi
jne 0x57da3d
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push edi
push esi
mov dword [ebp - 0x24], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57dcde
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 8]
add ecx, 3
jmp 0x57d724
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0xc]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x2c]
jmp 0x57cca8
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x34]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x2c]
jmp 0x57cca5
mov edx, dword [ebx + 8]
cmp byte [edx], 0x44
push 0x160
jne 0x57d234
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp + 0x1c], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57d1f2
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp + 0x1c]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
add edx, 3
mov dword [ebx + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x10], edx
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], edi
jmp 0x57d9b4
mov edi, dword [ebp + 0x6c]
mov esi, dword [edi + 0x68]
mov ebx, dword [esi + 0x11c]
test ebx, ebx
mov dword [ebp + 0x54], esi
jne 0x57daf1
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push ebx
push esi
mov dword [ebp + 0x18], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57dd40
mov ebx, dword [ebp + 0x18]
jmp 0x57d254
call dword [0x5c0a50]
add ebx, 0x120
push edi
push ebx
mov dword [ebp + 0x10], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57d281
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 0x34]
mov dword [ebx + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x10], edx
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], 2
jmp 0x57d9b4
mov edi, dword [ebp + 0x6c]
mov esi, dword [edi + 0x68]
mov ebx, dword [esi + 0x11c]
test ebx, ebx
mov dword [ebp + 0x54], esi
jne 0x57daf1
push 0x160
call dword [0x5c0a50]
add esi, 0x120
push ebx
push esi
mov dword [ebp + 8], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57dd40
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov ebx, dword [ebp + 8]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
add edx, 3
jmp 0x57d998
mov eax, dword [ebx + 4]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
mov dword [ebp + 0x50], eax
jge 0x57d320
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x74]
mov edx, dword [ebx + 0x84]
push ecx
push eax
mov ecx, esi
mov eax, edi
call fcn.0057b5d0
test eax, eax
je 0x57d320
mov eax, dword [ebx + 4]
add edi, eax
mov eax, dword [ebp + 0x50]
mov dword [ebx + 4], edi
mov ecx, dword [ebx + 0x78]
inc eax
cmp eax, ecx
mov dword [ebp + 0x50], eax
jl 0x57d2e6
lea ebx, [ebx]
mov edx, dword [ebx + 4]
cmp edx, dword [ebx + 0x30]
jb 0x57db7a
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d36e
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
test edi, edi
mov dword [ebp + 0x54], ebx
jne 0x57d4ad
mov eax, dword [ebx + 0x74]
sub dword [ebx + 4], eax
jmp 0x57d320
mov ebx, dword [ebp]
jmp 0x57d98c
mov eax, dword [ebx + 4]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x78]
mov dword [ebp + 0x50], eax
jge 0x57d3e0
jmp 0x57d390
mov esi, dword [ebp + 0x6c]
lea esp, [esp]
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 0x48]
jae 0x57d3e0
movzx esi, byte [edi]
mov ecx, esi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 8], eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dl, byte [eax + ecx]
mov eax, dword [ebp - 8]
test dl, al
je 0x57d3d4
mov eax, dword [ebp + 0x50]
inc edi
mov dword [ebx + 4], edi
mov ecx, dword [ebx + 0x78]
inc eax
cmp eax, ecx
mov dword [ebp + 0x50], eax
jl 0x57d389
mov esi, dword [ebp + 0x6c]
jmp 0x57d3e0
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x30]
jb 0x57db7a
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x10], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d42b
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
test edi, edi
mov dword [ebp + 0x54], ebx
jne 0x57d4ad
dec dword [ebx + 4]
jmp 0x57d3e0
mov ebx, dword [ebp - 0x10]
jmp 0x57d98c
mov edx, dword [ebx + 4]
mov dword [ebx + 0x30], edx
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d464
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d464
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
movzx edx, byte [edx + edi]
cmp dword [ebx + 0x6c], edx
jne 0x57d464
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d441
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x30]
jb 0x57db7a
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x18], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d4d1
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 0x11c]
dec ecx
test edi, edi
mov dword [ebp + 0x54], ebx
mov dword [ebx + 4], ecx
je 0x57d464
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57da69
mov dword [ebx + 0x11c], edi
jmp 0x57df10
mov ebx, dword [ebp - 0x18]
jmp 0x57d98c
mov edx, dword [ebx + 4]
mov dword [ebx + 0x30], edx
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d503
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d503
movzx edx, byte [eax]
cmp dword [ebx + 0x6c], edx
jne 0x57d503
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d4e7
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x30]
jb 0x57db7a
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x20], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d551
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 0x11c]
dec ecx
test edi, edi
mov dword [ebp + 0x54], ebx
mov dword [ebx + 4], ecx
je 0x57d503
jmp 0x57d4ad
mov ebx, dword [ebp - 0x20]
jmp 0x57d98c
mov edx, dword [ebx + 4]
mov dword [ebx + 0x30], edx
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d590
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d590
movzx edx, byte [eax]
mov edi, dword [esi + 0x18]
movzx edx, byte [edx + edi]
cmp dword [ebx + 0x6c], edx
je 0x57d590
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d567
lea ebx, [ebx]
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x30]
jb 0x57db7a
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x28], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d5db
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
test edi, edi
mov dword [ebp + 0x54], ebx
jne 0x57d4ad
dec dword [ebx + 4]
jmp 0x57d590
mov ebx, dword [ebp - 0x28]
jmp 0x57d98c
mov edx, dword [ebx + 4]
mov dword [ebx + 0x30], edx
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d610
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d610
movzx edx, byte [eax]
cmp dword [ebx + 0x6c], edx
je 0x57d610
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d5f1
lea ecx, [ecx]
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x30]
jb 0x57db7a
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x30], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d65b
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov edi, dword [ebx + 0x11c]
test edi, edi
mov dword [ebp + 0x54], ebx
jne 0x57d4ad
dec dword [ebx + 4]
jmp 0x57d610
mov ebx, dword [ebp - 0x30]
jmp 0x57d98c
test byte [esi + 0x10], 4
jne case.0x57cb25.12
cmp eax, 0xa
jmp 0x57d6e5
mov edx, dword [ebx + 0x1c]
test byte [eax + edx], 4
je case.0x57cb25.12
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57dae3
mov dword [esi + 0x11c], 0
mov dword [ebx + 0x68], esi
push 1
add esi, 0x120
push esi
call fcn.00594dc4
mov ecx, dword [ebx + 0x1c]
test byte [eax + ecx], 4
jmp 0x57d6e5
mov edx, dword [ebx + 0x1c]
test byte [eax + edx], 1
jne 0x57d682
jmp case.0x57cb25.12
mov ecx, dword [ebx + 0x1c]
test byte [eax + ecx], 1
jmp 0x57d6e5
mov edx, dword [ebx + 0x1c]
test byte [eax + edx], 0x10
jne 0x57d682
jmp case.0x57cb25.12
mov ecx, dword [ebx + 0x1c]
test byte [eax + ecx], 0x10
je 0x57d682
mov edi, dword [esi + 0x70]
inc edi
push 0x160
mov dword [esi + 0x70], edi
call dword [0x5c0a50]
add esi, 0x120
push 0
push esi
mov dword [ebp + 0x24], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
jne 0x57cae0
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x54]
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xc], edx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax + 0x14]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], 0
mov ecx, dword [eax + 0x1c]
inc ecx
mov dword [ebx + 0x1c], ecx
jmp 0x57d9bb
mov edx, dword [ebx + 4]
mov dword [ebx + 0x30], edx
mov eax, dword [ebx + 0x68]
add eax, 0xfffffffb
cmp eax, 7
ja case.default.0x57d761
jmp dword [eax*4 + 0x57e0cc]
test byte [ebx + 0x10], 4
jne case.0x57d761.12
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
lea ebx, [ebx]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
cmp byte [eax], 0xa
je 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d780
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
mov edx, dword [ebx + 4]
sub eax, ecx
mov ecx, dword [esi + 0x48]
sub ecx, edx
cmp eax, ecx
jle 0x57d7bc
mov eax, ecx
add eax, edx
mov dword [ebx + 4], eax
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 4
jne 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d7d2
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
jmp 0x57d810
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 4
je 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d810
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
lea esp, [esp]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 1
jne 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d850
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
lea esp, [esp]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 1
je 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d890
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 0x10
jne 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d8c2
jmp 0x57d910
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [ebx + 0x78]
jge 0x57d910
lea esp, [esp]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jae 0x57d910
movzx edx, byte [eax]
mov edi, dword [esi + 0x1c]
test byte [edx + edi], 0x10
je 0x57d910
inc eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x78]
inc ecx
cmp ecx, eax
jl 0x57d8f0
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x30]
jb 0x57deb9
push 0x160
call dword [0x5c0a50]
add ebx, 0x120
push 0
push ebx
mov dword [ebp - 0x38], eax
call fcn.00594e40
add esp, 0xc
test eax, eax
je 0x57d989
mov esi, dword [ebp + 0x6c]
mov ebx, dword [esi + 0x68]
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 0x11c]
dec ecx
test edi, edi
mov dword [ebp + 0x54], ebx
mov dword [ebx + 4], ecx
je 0x57d910
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57da69
mov dword [ebx + 0x11c], edi
mov dword [esi + 0x68], ebx
push 1
add ebx, 0x120
push ebx
call fcn.00594dc4
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
mov dword [ebx + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0xc], ecx
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x10], edx
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], 0
mov edx, dword [eax + 0x1c]
inc edx
mov dword [ebx + 0x1c], edx
mov esi, dword [ebp + 0x6c]
mov dword [ebx], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
mov dword [ebp + 0x54], ebx
jb 0x57b6b1
mov edi, dword [esi]
inc edi
mov eax, ebx
mov dword [esi], edi
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57d9f7
mov dword [ebx + 0x11c], 0xfffffff8
jmp 0x57df10
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57da2c
mov dword [ebx + 0x11c], 0xffffffeb
jmp 0x57df10
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57da69
mov dword [esi + 0x11c], edi
mov dword [ebx + 0x68], esi
push 1
add esi, 0x120
push esi
jmp 0x57df1c
mov eax, edi
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov ecx, dword [esi + 0x84]
mov edx, dword [ebx + 0xc]
mov eax, dword [esi + 0x90]
mov dword [edx + ecx*4], eax
mov ecx, dword [esi + 0x84]
mov edx, dword [ebx + 0xc]
mov eax, dword [esi + 0x94]
mov dword [edx + ecx*4 + 4], eax
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x80]
mov edx, dword [ebx + 0xc]
mov eax, dword [esi + 0x98]
sub ecx, edi
mov dword [edx + ecx*4], eax
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57dae3
mov dword [esi + 0x11c], 0
mov dword [ebx + 0x68], esi
push 1
add esi, 0x120
push esi
jmp 0x57df1c
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57db1d
mov dword [esi + 0x11c], ebx
mov dword [edi + 0x68], esi
push 1
add esi, 0x120
push esi
jmp 0x57df1c
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57dae3
mov dword [esi + 0x11c], 0
mov dword [edi + 0x68], esi
push 1
add esi, 0x120
push esi
jmp 0x57df1c
mov edi, dword [ebp + 0x6c]
mov eax, dword [edi + 0x68]
mov ebx, dword [eax + 0x11c]
mov esi, dword [eax]
jmp 0x57daf5
mov eax, dword [esi + 0x34]
test eax, eax
je 0x57dba2
mov ecx, dword [ebx + 4]
cmp ecx, dword [esi + 0x4c]
jne 0x57dba2
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dae3
mov dword [ebx + 0x11c], 0
jmp 0x57df10
mov edx, dword [ebx + 4]
mov dword [esi + 0x50], edx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x54], eax
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dbd2
mov dword [ebx + 0x11c], 1
jmp 0x57df10
mov eax, 1
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
cmp ebx, edi
je 0x57dc07
mov dword [ebx + 0x11c], 0xfffffffa
jmp 0x57df10
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov ecx, dword [ebx + 0x3c]
mov dword [edx + 0x60], ecx
mov eax, dword [ebx + 0x4c]
lea edx, [ebx + 0x9c]
cmp eax, edx
je 0x57dc35
push eax
call dword [0x5c0a4c]
add esp, 4
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dbd2
mov eax, dword [ebp + 0x6c]
mov dword [ebx + 0x11c], 1
mov dword [eax + 0x68], ebx
jmp 0x57df13
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dc85
mov ecx, dword [ebp + 0x6c]
mov dword [ebx + 0x11c], esi
mov dword [ecx + 0x68], ebx
jmp 0x57df13
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [ebx + 0x3c]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0x4c]
lea ecx, [ebx + 0x9c]
cmp eax, ecx
je 0x57dcb0
push eax
call dword [0x5c0a4c]
add esp, 4
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dae3
mov edx, dword [ebp + 0x6c]
mov dword [ebx + 0x11c], 0
mov dword [edx + 0x68], ebx
jmp 0x57df13
mov esi, dword [ebp + 0x6c]
mov eax, dword [esi + 0x68]
mov edi, dword [eax]
mov ebx, dword [eax + 0x11c]
add esi, 0x68
push eax
mov dword [ebp + 0x54], edi
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dd1e
test edi, edi
je 0x57db1d
mov dword [edi + 0x11c], ebx
mov dword [esi], edi
push 1
add edi, 0x120
push edi
jmp 0x57df1c
test edi, edi
je 0x57dae3
mov dword [edi + 0x11c], 0
mov dword [esi], edi
push 1
add edi, 0x120
push edi
jmp 0x57df1c
mov esi, dword [ebp + 0x6c]
mov eax, dword [esi + 0x68]
mov ebx, dword [eax]
mov edi, dword [eax + 0x11c]
add esi, 0x68
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test edi, edi
je 0x57dd77
test ebx, ebx
je 0x57da69
mov dword [ebx + 0x11c], edi
mov dword [esi], ebx
jmp 0x57df13
test ebx, ebx
je 0x57dae3
mov dword [ebx + 0x11c], 0
mov dword [esi], ebx
jmp 0x57df13
mov eax, dword [ebx + 4]
mov dword [esi + 0x50], eax
mov ecx, dword [ebx + 0xc]
mov eax, ebx
mov dword [esi + 0x54], ecx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
cmp ebx, edi
je 0x57dbd2
mov dword [ebx + 0x11c], 1
jmp 0x57df10
mov ebx, dword [ebp + 0x6c]
jmp 0x57dab3
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57db1d
mov dword [esi + 0x11c], ebx
mov dword [edi + 0x68], esi
push 1
add esi, 0x120
push esi
jmp 0x57df1c
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57dae3
mov dword [esi + 0x11c], 0
mov dword [edi + 0x68], esi
push 1
add esi, 0x120
push esi
jmp 0x57df1c
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
cmp ebx, edi
jmp 0x57df00
mov eax, 0xfffffff2
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57da69
mov dword [esi + 0x11c], edi
mov dword [ebx + 0x68], esi
push 1
add esi, 0x120
push esi
call fcn.00594dc4
mov eax, esi
mov esi, dword [esi]
push eax
mov dword [ebp + 0x54], esi
call dword [0x5c0a54]
add esp, 4
test esi, esi
je 0x57de48
mov dword [esi + 0x11c], 0xfffffff2
mov dword [ebx + 0x68], esi
push 1
add esi, 0x120
push esi
call fcn.00594dc4
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57dae3
mov dword [ebx + 0x11c], 0
mov dword [esi + 0x68], ebx
push 1
add ebx, 0x120
push ebx
call fcn.00594dc4
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
test ebx, ebx
je 0x57de48
mov dword [ebx + 0x11c], 0xfffffff2
mov dword [esi + 0x68], ebx
push 1
add ebx, 0x120
push ebx
call fcn.00594dc4
mov eax, ebx
mov ebx, dword [ebx]
push eax
mov dword [ebp + 0x54], ebx
call dword [0x5c0a54]
add esp, 4
cmp ebx, edi
je 0x57df51
mov dword [ebx + 0x11c], 0xfffffffb
mov dword [esi + 0x68], ebx
push 1
add ebx, 0x120
push ebx
call fcn.00594dc4
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20