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

Disassembly:
sub esp, 0x24
mov eax, dword [esp + 0x28]
push ebx
mov ebx, dword [esp + 0x44]
push ebp
xor ecx, ecx
or edx, 0xffffffff
mov ebp, dword [ebx + 0x10]
push esi
push edi
mov dword [esp + 0x14], ecx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x44], edx
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x50], ecx
mov dword [ebp + 0x4c], edx
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x3c]
cmp eax, ecx
mov dword [ebp], edx
mov edx, dword [esp + 0x4c]
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x10], edx
je 0x5ce85c
mov esi, dword [ebx + 0x10]
mov edx, ebp
sub edx, esi
mov dword [ebp + 0x4c], edx
mov edx, eax
and edx, 0xffff0000
cmp edx, 0x40000
jne 0x5ce858
and eax, 0xffff
mov dword [ebp + 0x44], eax
mov dword [esp + 0x50], ecx
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x20]
cmp eax, ecx
jae 0x5d1d64
mov edx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x24]
cmp edx, eax
jae 0x5d1d71
mov eax, dword [ebp]
mov al, byte [eax]
mov byte [ebp + 0x31], al
and eax, 0xff
cmp eax, 0xa6
ja case.0x5d15d1.15
xor ecx, ecx
mov cl, byte [eax + 0x5d1fac]
jmp dword [ecx*4 + 0x5d1e5c]
cmp dword [ebp + 0x44], 0xffffffff
jne 0x5ce90f
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x4c]
mov esi, dword [esp + 0x4c]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
cmp ecx, 0xffffffff
je case.0x5d15d1.15
mov eax, dword [ebx + 0x10]
mov edi, edx
add eax, ecx
or edi, 0x10000
mov ecx, eax
mov dword [esp + 0x14], eax
sub ecx, esi
cmp dword [eax + 0x1c], edi
je 0x5ce8e5
mov ecx, dword [ecx + 0x4c]
jmp 0x5ce8bd
lea eax, [edx + edx - 2]
mov dword [ebp + 0x48], edx
mov edx, dword [ecx + 0x38]
mov esi, dword [ebx + 0x5c]
sub edx, esi
mov dword [ebp + eax*4 + 0x54], edx
mov ecx, dword [ebp + 0x38]
sub ecx, dword [ebx + 0x5c]
mov dword [ebp + eax*4 + 0x58], ecx
mov ecx, dword [ebp + 0x50]
cmp eax, ecx
jb 0x5ce90f
add eax, 2
mov dword [ebp + 0x50], eax
mov eax, dword [ebp]
jmp 0x5d0c07
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x70]
cmp eax, ecx
jbe 0x5ce924
mov dword [ebx + 0x70], eax
mov dword [esp + 0x1c], ebp
mov esi, 0xfffffc19
jmp 0x5d0b96
cmp dword [ebp + 0x44], 0xffffffff
je 0x5ce983
mov ecx, dword [ebp + 0x4c]
mov edx, dword [esp + 0x4c]
cmp ecx, 0xffffffff
je case.0x5d15d1.15
mov eax, dword [ebx + 0x10]
add eax, ecx
mov dword [esp + 0x14], eax
mov ecx, eax
mov eax, dword [eax + 0x1c]
sub ecx, edx
and eax, 0xffff0000
cmp eax, 0x40000
je 0x5ce969
mov ecx, dword [ecx + 0x4c]
jmp 0x5ce93f
mov edx, dword [ebp + 0x38]
mov dword [ecx + 0x38], edx
mov eax, dword [ebp + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ecx]
add eax, 3
mov ebp, ecx
mov dword [ecx], eax
jmp 0x5ce87e
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x3c]
cmp edx, ecx
jne 0x5ce9af
mov eax, dword [ebx + 0x88]
test al, 4
jne case.0x5cf9aa.13
test al, 8
je 0x5ce9af
mov eax, dword [ebx + 0x5c]
mov edi, dword [ebx + 0x44]
add eax, edi
cmp ecx, eax
je case.0x5cf9aa.13
cmp edx, dword [ebx + 0x64]
jae 0x5d1d88
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x88]
or ecx, edx
test ecx, 0x20000000
je 0x5d1d88
mov al, byte [ebp + 0x31]
test al, al
jne 0x5d1d7e
jmp case.0x5cf9aa.13
mov esi, dword [ebx + 0x98]
test esi, esi
je 0x5cea15
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cea4d
xor edx, edx
push edx
lea edx, [ebx + 0x9c]
push edx
push ecx
push esi
push eax
call fcn.005d48a0
add esp, 0x14
test eax, eax
jne case.0x5cf9aa.13
jmp 0x5cea4d
mov esi, dword [ebx + 0x9c]
mov ecx, dword [ebx + 0x64]
mov eax, dword [ebp + 0x38]
sub ecx, esi
cmp eax, ecx
ja 0x5cea4d
mov dl, byte [eax]
mov cl, byte [ebx + 0xa0]
cmp dl, cl
jne 0x5cea4d
cmp esi, 1
je case.0x5cf9aa.13
mov al, byte [eax + 1]
mov cl, byte [ebx + 0xa1]
cmp al, cl
je case.0x5cf9aa.13
mov cx, word [ebx + 0x4c]
test cx, cx
je case.0x5ce89e.12
mov edx, dword [ebx + 0x64]
mov eax, dword [ebp + 0x38]
dec edx
cmp eax, edx
jne case.0x5ce89e.12
mov edx, dword [ebx + 0x98]
test edx, edx
jne case.0x5ce89e.12
cmp dword [ebx + 0x9c], 2
jne case.0x5ce89e.12
mov al, byte [eax]
mov dl, byte [ebx + 0xa0]
cmp al, dl
jne case.0x5ce89e.12
cmp cx, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jb 0x5ceaae
jmp 0x5d0368
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
mov ecx, dword [ebp + 0x38]
inc ecx
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp]
inc eax
mov dword [ebp], eax
jmp 0x5ce87e
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
sub ecx, eax
cmp ecx, 1
jge 0x5ceaf4
mov cx, word [ebx + 0x4c]
test cx, cx
je case.0x5cf9aa.13
cmp eax, dword [ebx + 0x6c]
ja 0x5d0a73
mov eax, dword [ebx + 0x34]
test eax, eax
je case.0x5cf9aa.13
jmp 0x5d0a73
mov esi, dword [ebp + 0x38]
mov edx, dword [ebp]
mov al, byte [edx + 1]
mov cl, byte [esi]
inc esi
cmp al, cl
mov dword [ebp + 0x38], esi
je 0x5ceb9f
jmp case.0x5cf9aa.13
mov esi, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp esi, eax
jb 0x5ceb2f
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
cmp esi, dword [ebx + 0x6c]
jmp 0x5d0378
mov edx, dword [ebp]
mov eax, dword [ebx + 0x38]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
mov dl, byte [esi]
mov cl, byte [ecx + eax]
cmp cl, byte [edx + eax]
jne case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp]
inc ecx
add eax, 2
mov dword [ebp + 0x38], ecx
mov dword [ebp], eax
jmp 0x5ce87e
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
mov edx, dword [ebp]
xor eax, eax
mov al, byte [edx + 1]
mov esi, eax
mov eax, ecx
xor ecx, ecx
mov cl, byte [eax]
inc eax
cmp esi, ecx
mov dword [ebp + 0x38], eax
je case.0x5cf9aa.13
cmp byte [ebp + 0x31], 0x20
jne 0x5ceb9f
mov edx, dword [ebx + 0x3c]
xor eax, eax
mov al, byte [edx + esi]
cmp eax, ecx
je case.0x5cf9aa.13
add dword [ebp], 2
jmp 0x5ce87e
mov esi, dword [ebp]
mov edi, dword [esp + 0x10]
xor eax, eax
xor ecx, ecx
mov ah, byte [esi + 1]
mov cl, byte [esi + 2]
or eax, ecx
add esi, 3
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x20], eax
mov dword [ebp], esi
jmp 0x5cecda
mov ecx, dword [ebp]
xor edx, edx
mov dword [ebp + 0x20], 0
mov edi, 2
mov dh, byte [ecx + 1]
mov dword [esp + 0x10], edi
mov dl, byte [ecx + 2]
add ecx, 3
mov dword [ebp + 0x24], edx
mov dword [ebp], ecx
jmp 0x5cecda
mov ecx, dword [ebp]
xor eax, eax
mov dword [ebp + 0x20], 0
mov edi, 1
mov ah, byte [ecx + 1]
mov dword [esp + 0x10], edi
mov al, byte [ecx + 2]
add ecx, 3
mov dword [ebp + 0x24], eax
mov dword [ebp], ecx
jmp 0x5cecda
mov ecx, dword [ebp]
xor edi, edi
xor edx, edx
mov dword [ebp + 0x20], edi
mov dh, byte [ecx + 1]
mov dword [esp + 0x10], edi
mov dl, byte [ecx + 2]
add ecx, 3
mov dword [ebp + 0x24], edx
mov dword [ebp], ecx
jmp 0x5cecda
mov eax, dword [ebp]
mov edi, 2
inc eax
mov dword [esp + 0x10], edi
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0xffffffff
mov dword [ebp], eax
jmp 0x5cecda
mov eax, dword [ebp]
mov edi, 2
inc eax
mov dword [esp + 0x10], edi
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x24], 0xffffffff
mov dword [ebp], eax
jmp 0x5cecda
mov eax, dword [ebp]
mov edi, 2
inc eax
mov dword [esp + 0x10], edi
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 1
mov dword [ebp], eax
jmp 0x5cecda
mov dl, byte [ebp + 0x31]
mov ecx, dword [ebp]
cmp dl, 0x2e
sbb edx, edx
xor eax, eax
mov al, byte [ecx]
and edx, 0xfffffff3
add edx, 0x2e
sub eax, edx
inc ecx
mov dword [ebp], ecx
mov ecx, dword [eax*4 + 0x729db0]
mov dword [ebp + 0x20], ecx
mov edx, dword [eax*4 + 0x729ddc]
mov dword [ebp + 0x24], edx
mov edi, dword [eax*4 + 0x729e08]
mov dword [esp + 0x10], edi
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp + 0x28], eax
mov al, byte [ebp + 0x31]
cmp al, 0x2e
mov dword [ebp], ecx
jb 0x5cedcc
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebp + 0x28]
xor eax, eax
mov al, byte [ecx + edx]
mov dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x20]
mov eax, 1
cmp ecx, eax
mov esi, eax
jb 0x5ced37
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebx + 0x64]
cmp ecx, edx
jae 0x5ced83
xor edx, edx
mov dl, byte [ecx]
cmp dword [ebp + 0x28], edx
je 0x5ced2b
cmp dword [ebp + 0x2c], edx
jne case.0x5cf9aa.13
inc ecx
inc esi
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x20]
cmp esi, ecx
jbe 0x5ced0f
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp edx, ecx
je 0x5ce87e
test edi, edi
je 0x5d1a65
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x20]
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x24]
cmp esi, ecx
jae 0x5cedbe
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebx + 0x64]
cmp ecx, edx
jae 0x5ced98
xor edx, edx
mov dl, byte [ecx]
cmp dword [ebp + 0x28], edx
je 0x5ced75
cmp dword [ebp + 0x2c], edx
jne 0x5cedbe
inc ecx
inc esi
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x24]
cmp esi, ecx
jb 0x5ced5d
jmp 0x5cedbe
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
jmp 0x5d0375
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5cedbe
mov edx, dword [ebp + 0x38]
mov esi, dword [ebx + 0x6c]
cmp edx, esi
ja 0x5cedb2
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x5cedbe
cmp cx, ax
mov dword [ebx + 0x2c], eax
ja 0x5d11ac
cmp edi, 2
je 0x5ce87e
jmp 0x5d1392
mov eax, dword [ebp + 0x20]
mov edx, 1
cmp eax, edx
mov esi, edx
jb 0x5cee05
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov ecx, eax
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x28]
cmp ecx, eax
jne case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jbe 0x5cedda
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
je 0x5ce87e
test edi, edi
je 0x5d1a85
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x20]
mov dword [ebp + 4], ecx
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5cee72
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cee4c
xor eax, eax
mov al, byte [ecx]
cmp dword [ebp + 0x28], eax
jne 0x5cee72
inc ecx
inc esi
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5cee2b
jmp 0x5cee72
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5cee72
mov eax, dword [ebp + 0x38]
mov esi, dword [ebx + 0x6c]
cmp eax, esi
ja 0x5cee66
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5cee72
cmp cx, dx
mov dword [ebx + 0x2c], edx
ja 0x5d11ac
cmp edi, 2
je 0x5ce87e
jmp 0x5d141c
mov esi, dword [ebp]
mov edi, dword [esp + 0x10]
xor eax, eax
xor ecx, ecx
mov ah, byte [esi + 1]
mov cl, byte [esi + 2]
or eax, ecx
add esi, 3
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x20], eax
mov dword [ebp], esi
jmp 0x5cefb5
mov ecx, dword [ebp]
xor edx, edx
mov dword [ebp + 0x20], 0
mov edi, 1
mov dh, byte [ecx + 1]
mov dword [esp + 0x10], edi
mov dl, byte [ecx + 2]
add ecx, 3
mov dword [ebp + 0x24], edx
mov dword [ebp], ecx
jmp 0x5cefb5
mov ecx, dword [ebp]
xor edi, edi
xor eax, eax
mov dword [ebp + 0x20], edi
mov ah, byte [ecx + 1]
mov dword [esp + 0x10], edi
mov al, byte [ecx + 2]
add ecx, 3
mov dword [ebp + 0x24], eax
mov dword [ebp], ecx
jmp 0x5cefb5
mov eax, dword [ebp]
mov edi, 2
inc eax
mov dword [esp + 0x10], edi
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0xffffffff
mov dword [ebp], eax
jmp 0x5cefb5
mov eax, dword [ebp]
mov edi, 2
inc eax
mov dword [esp + 0x10], edi
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x24], 0xffffffff
mov dword [ebp], eax
jmp 0x5cefb5
mov eax, dword [ebp]
mov edi, 2
inc eax
mov dword [esp + 0x10], edi
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 1
mov dword [ebp], eax
jmp 0x5cefb5
mov ecx, dword [ebp]
xor edx, edx
mov dword [ebp + 0x20], 0
mov edi, 2
mov dh, byte [ecx + 1]
mov dword [esp + 0x10], edi
mov dl, byte [ecx + 2]
add ecx, 3
mov dword [ebp + 0x24], edx
mov dword [ebp], ecx
jmp 0x5cefb5
mov dl, byte [ebp + 0x31]
mov ecx, dword [ebp]
cmp dl, 0x48
sbb edx, edx
xor eax, eax
mov al, byte [ecx]
and edx, 0xfffffff3
add edx, 0x48
sub eax, edx
inc ecx
mov dword [ebp], ecx
mov ecx, dword [eax*4 + 0x729db0]
mov dword [ebp + 0x20], ecx
mov edx, dword [eax*4 + 0x729ddc]
mov dword [ebp + 0x24], edx
mov edi, dword [eax*4 + 0x729e08]
mov dword [esp + 0x10], edi
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp + 0x28], eax
mov al, byte [ebp + 0x31]
cmp al, 0x48
mov dword [ebp], ecx
jb 0x5cf0d0
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebp + 0x28]
xor eax, eax
mov al, byte [ecx + edx]
mov dword [ebp + 0x2c], eax
mov ecx, dword [ebp + 0x20]
mov eax, 1
cmp ecx, eax
mov esi, eax
jb 0x5cf016
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebx + 0x64]
cmp ecx, edx
jae 0x5cf066
xor edx, edx
mov dl, byte [ecx]
cmp dword [ebp + 0x28], edx
je case.0x5cf9aa.13
cmp dword [ebp + 0x2c], edx
je case.0x5cf9aa.13
inc ecx
inc esi
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x20]
cmp esi, ecx
jbe 0x5cefea
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp edx, ecx
je 0x5ce87e
test edi, edi
je 0x5d1aa8
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x20]
mov dword [ebp + 4], ecx
mov ecx, dword [ebp + 0x24]
cmp esi, ecx
jae 0x5cf0c2
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebx + 0x64]
cmp ecx, edx
jae 0x5cf09c
xor edx, edx
mov dl, byte [ecx]
cmp dword [ebp + 0x28], edx
je 0x5cf0c2
cmp dword [ebp + 0x2c], edx
je 0x5cf0c2
inc ecx
inc esi
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x24]
cmp esi, ecx
jb 0x5cf040
jmp 0x5cf0c2
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebx + 0x6c]
cmp ecx, edx
ja 0x5d0385
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je case.0x5cf9aa.13
mov dword [ebx + 0x2c], 1
cmp ax, 1
jmp 0x5d0a7e
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5cf0c2
mov edx, dword [ebp + 0x38]
mov esi, dword [ebx + 0x6c]
cmp edx, esi
ja 0x5cf0b6
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x5cf0c2
cmp cx, ax
mov dword [ebx + 0x2c], eax
ja 0x5d11ac
cmp edi, 2
je 0x5ce87e
jmp 0x5d14a5
mov eax, dword [ebp + 0x20]
mov edx, 1
cmp eax, edx
mov esi, edx
jb 0x5cf109
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov ecx, eax
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x28]
cmp ecx, eax
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jbe 0x5cf0de
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
je 0x5ce87e
test edi, edi
je 0x5d1ac8
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x20]
mov dword [ebp + 4], ecx
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5cf176
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cf150
xor eax, eax
mov al, byte [ecx]
cmp dword [ebp + 0x28], eax
je 0x5cf176
inc ecx
inc esi
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5cf12f
jmp 0x5cf176
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5cf176
mov eax, dword [ebp + 0x38]
mov esi, dword [ebx + 0x6c]
cmp eax, esi
ja 0x5cf16a
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5cf176
cmp cx, dx
mov dword [ebx + 0x2c], edx
ja 0x5d11ac
cmp edi, 2
je 0x5ce87e
jmp 0x5d152b
mov eax, dword [ebp]
xor edx, edx
lea ecx, [eax + 1]
add eax, 0x21
mov dword [ebp + 8], ecx
mov dword [ebp], eax
mov dl, byte [eax]
mov eax, edx
add eax, 0xffffff9e
cmp eax, 0xb
ja case.default.0x5cf1a9
xor ecx, ecx
mov cl, byte [eax + 0x5d205c]
jmp dword [ecx*4 + 0x5d2054]
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
sub eax, 0x62
inc ecx
mov dword [ebp], ecx
mov edx, dword [eax*4 + 0x729db0]
mov dword [ebp + 0x20], edx
mov ecx, dword [eax*4 + 0x729ddc]
mov dword [ebp + 0x24], ecx
mov edx, dword [eax*4 + 0x729e08]
mov dword [esp + 0x10], edx
jmp 0x5cf22a
mov esi, dword [ebp]
xor eax, eax
xor ecx, ecx
mov ah, byte [esi + 1]
mov al, byte [esi + 2]
mov dword [ebp + 0x20], eax
mov cl, byte [esi + 4]
xor eax, eax
mov ah, byte [esi + 3]
or eax, ecx
mov dword [ebp + 0x24], eax
jne 0x5cf205
mov dword [ebp + 0x24], 0xffffffff
mov eax, dword [ebp]
xor edx, edx
mov dl, byte [eax]
add eax, 5
mov ecx, dword [edx*4 + 0x729c80]
mov dword [ebp], eax
mov dword [esp + 0x10], ecx
jmp 0x5cf22a
mov eax, 1
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x20]
mov edx, 1
cmp eax, edx
mov edi, edx
jb 0x5cf270
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov esi, ecx
mov dword [ebp + 0x38], eax
and ecx, 7
mov eax, edx
shl eax, cl
mov ecx, dword [ebp + 8]
shr esi, 3
mov cl, byte [esi + ecx]
test cl, al
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc edi
cmp edi, eax
jbe 0x5cf238
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp edx, eax
je 0x5ce87e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5d12db
mov eax, dword [ebp + 0x38]
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0x24]
jae 0x5cf2f8
mov edi, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp edi, ecx
jae 0x5cf2cd
xor ecx, ecx
mov edx, 1
mov cl, byte [edi]
mov esi, ecx
and ecx, 7
shl edx, cl
mov ecx, dword [ebp + 8]
shr esi, 3
mov cl, byte [esi + ecx]
test cl, dl
je 0x5cf2f8
inc edi
inc eax
mov dword [ebp + 0x38], edi
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
jb 0x5cf298
jmp 0x5cf2f8
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5cf2f8
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x6c]
cmp edx, ecx
ja 0x5cf2e7
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x5cf2f8
cmp ax, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
cmp dword [esp + 0x10], 2
jne 0x5d12f6
jmp 0x5ce87e
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5ceace
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x40]
test byte [eax + ecx], 8
je 0x5d0ade
jmp case.0x5cf9aa.13
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5ceace
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov edx, dword [ebx + 0x40]
test byte [edx + ecx], 8
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5ceace
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x40]
test byte [eax + ecx], 1
je 0x5d0ade
jmp case.0x5cf9aa.13
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5ceace
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov edx, dword [ebx + 0x40]
test byte [edx + ecx], 1
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5ceace
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebx + 0x40]
test byte [eax + ecx], 0x10
je 0x5d0ade
jmp case.0x5cf9aa.13
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5ceace
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov edx, dword [ebx + 0x40]
test byte [edx + ecx], 0x10
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0xd
mov dword [ebp + 0x38], ecx
ja 0x5cf48b
je 0x5cf437
cmp eax, 0xa
je 0x5d0ade
jbe case.0x5cf9aa.13
cmp eax, 0xc
jbe 0x5cf4a8
jmp case.0x5cf9aa.13
cmp ecx, dword [ebx + 0x64]
jb 0x5cf472
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d0ade
cmp ecx, dword [ebx + 0x6c]
ja 0x5cf459
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x5d0ade
cmp ax, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
inc dword [ebp]
jmp 0x5ce87e
cmp byte [ecx], 0xa
jne 0x5d0ade
inc ecx
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp]
inc eax
mov dword [ebp], eax
jmp 0x5ce87e
cmp eax, 0x85
je 0x5cf4a8
cmp eax, 0x2027
jbe case.0x5cf9aa.13
cmp eax, 0x2029
ja case.0x5cf9aa.13
cmp word [ebx + 0x4e], 2
jne 0x5d0ade
jmp case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x180e
mov dword [ebp + 0x38], ecx
ja 0x5cf515
je case.0x5cf9aa.13
cmp eax, 0xa0
ja 0x5cf502
je case.0x5cf9aa.13
cmp eax, 9
je case.0x5cf9aa.13
cmp eax, 0x20
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
cmp eax, 0x1680
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
cmp eax, 0x205f
ja 0x5cf54b
je case.0x5cf9aa.13
cmp eax, 0x2000
jb 0x5d0abc
cmp eax, 0x200a
jbe case.0x5cf9aa.13
cmp eax, 0x202f
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
cmp eax, 0x3000
je case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x180e
mov dword [ebp + 0x38], ecx
ja 0x5cf5b5
je 0x5d0ade
cmp eax, 0xa0
ja 0x5cf5a5
je 0x5d0ade
cmp eax, 9
je 0x5d0ade
cmp eax, 0x20
je 0x5d0ade
jmp case.0x5cf9aa.13
cmp eax, 0x1680
je 0x5d0ade
jmp case.0x5cf9aa.13
cmp eax, 0x205f
ja 0x5cf5e8
je 0x5d0ade
cmp eax, 0x2000
jb case.0x5cf9aa.13
cmp eax, 0x200a
jbe 0x5d0ade
cmp eax, 0x202f
je 0x5d0ade
jmp case.0x5cf9aa.13
cmp eax, 0x3000
je 0x5d0ade
jmp case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x85
mov dword [ebp + 0x38], ecx
ja 0x5cf635
je case.0x5cf9aa.13
cmp eax, 0xa
jb 0x5d0ade
cmp eax, 0xd
jbe case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
cmp eax, 0x2028
jb 0x5d0ade
cmp eax, 0x2029
ja 0x5d0ade
jmp case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0368
xor eax, eax
mov al, byte [ecx]
inc ecx
cmp eax, 0x85
mov dword [ebp + 0x38], ecx
ja 0x5cf68a
je 0x5d0abc
cmp eax, 0xa
jb case.0x5cf9aa.13
cmp eax, 0xd
jbe 0x5d0abc
jmp case.0x5cf9aa.13
cmp eax, 0x2028
jb case.0x5cf9aa.13
cmp eax, 0x2029
ja case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
mov esi, dword [ebp]
xor eax, eax
xor ecx, ecx
mov ah, byte [esi + 1]
mov cl, byte [esi + 2]
or eax, ecx
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x20], eax
add dword [ebp], 3
jmp 0x5cf7aa
mov dword [ebp + 0x20], 0
mov eax, dword [ebp]
xor edx, edx
xor ecx, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov dword [ebp + 0x24], edx
mov eax, dword [ebp]
cmp byte [eax], 0x5c
setne cl
add eax, 3
mov dword [esp + 0x10], ecx
mov dword [ebp], eax
jmp 0x5cf7aa
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0xffffffff
mov eax, dword [ebp]
mov dword [esp + 0x10], 2
inc eax
mov dword [ebp], eax
jmp 0x5cf7aa
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x24], 0xffffffff
mov eax, dword [ebp]
mov dword [esp + 0x10], 2
inc eax
mov dword [ebp], eax
jmp 0x5cf7aa
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 1
mov eax, dword [ebp]
mov dword [esp + 0x10], 2
inc eax
mov dword [ebp], eax
jmp 0x5cf7aa
mov dword [ebp + 0x20], 0
mov eax, dword [ebp]
xor edx, edx
mov dword [esp + 0x10], 2
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov dword [ebp + 0x24], edx
mov eax, dword [ebp]
add eax, 3
mov dword [ebp], eax
jmp 0x5cf7aa
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
sub eax, 0x55
inc ecx
mov dword [ebp], ecx
mov ecx, dword [eax*4 + 0x729db0]
mov dword [ebp + 0x20], ecx
mov edx, dword [eax*4 + 0x729ddc]
mov dword [ebp + 0x24], edx
mov eax, dword [eax*4 + 0x729e08]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp]
xor eax, eax
mov edx, 1
mov al, byte [ecx]
mov dword [ebp + 0x28], eax
mov esi, dword [ebp]
inc esi
mov dword [ebp], esi
mov eax, dword [ebp + 0x20]
test eax, eax
jbe 0x5cf8ee
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x5d15d1.15
jmp dword [ecx*4 + 0x5d2068]
cmp eax, edx
mov dword [esp + 0x3c], edx
jb 0x5cf8ee
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfc49
mov edx, dword [ebx + 0x98]
lea esi, [ebx + 0x9c]
test edx, edx
je 0x5cf824
xor edi, edi
push edi
push esi
push eax
push edx
push ecx
call fcn.005d48a0
add esp, 0x14
test eax, eax
jne case.0x5cf9aa.13
jmp 0x5cf852
mov edi, dword [esi]
sub eax, edi
cmp ecx, eax
ja 0x5cf852
mov dl, byte [ecx]
mov al, byte [ebx + 0xa0]
cmp dl, al
jne 0x5cf852
cmp edi, 1
je case.0x5cf9aa.13
mov al, byte [ecx + 1]
mov cl, byte [ebx + 0xa1]
cmp al, cl
je case.0x5cf9aa.13
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5cf894
mov eax, dword [ebp + 0x38]
mov edi, dword [ebx + 0x64]
lea edx, [eax + 1]
cmp edx, edi
jb 0x5cf894
mov edx, dword [ebx + 0x98]
test edx, edx
jne 0x5cf894
cmp dword [esi], 2
jne 0x5cf894
mov al, byte [eax]
mov dl, byte [ebx + 0xa0]
cmp al, dl
jne 0x5cf894
cmp cx, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
mov esi, dword [ebp + 0x38]
mov eax, dword [esp + 0x3c]
inc esi
inc eax
mov dword [ebp + 0x38], esi
mov ecx, dword [ebp + 0x20]
cmp eax, ecx
mov dword [esp + 0x3c], eax
ja 0x5cf8ee
mov edx, 1
jmp 0x5cf7ed
mov esi, dword [ebx + 0x64]
mov ecx, dword [ebp + 0x38]
sub esi, eax
cmp ecx, esi
jbe 0x5cf8e9
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
cmp ecx, dword [ebx + 0x6c]
ja 0x5cf8de
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je case.0x5cf9aa.13
mov dword [ebx + 0x2c], edx
cmp ax, dx
jmp 0x5d0a7e
add eax, ecx
mov dword [ebp + 0x38], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp edx, eax
je 0x5ce87e
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x5d15d1.13
mov eax, dword [ebp + 0x38]
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5d15d1.15
jmp dword [eax*4 + 0x5d20a8]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
mov dword [esp + 0x3c], eax
jae 0x5d00a3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfcee
mov edx, dword [ebx + 0x98]
lea esi, [ebx + 0x9c]
test edx, edx
je 0x5cfc5e
xor edi, edi
push edi
push esi
push eax
push edx
push ecx
call fcn.005d48a0
add esp, 0x14
test eax, eax
jne 0x5d00a3
jmp 0x5cfc8c
cmp eax, edx
mov edi, edx
jb 0x5cf8ee
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfc49
xor eax, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
mov dword [ebp + 0x38], esi
sub eax, 0xa
cmp eax, 0x7b
ja case.0x5cf9aa.13
xor ecx, ecx
mov cl, byte [eax + 0x5d20f8]
jmp dword [ecx*4 + 0x5d20e8]
cmp esi, dword [ebx + 0x64]
jae case.0x5cf9aa.10
cmp byte [esi], 0xa
jne case.0x5cf9aa.10
inc esi
mov dword [ebp + 0x38], esi
jmp case.0x5cf9aa.10
cmp word [ebx + 0x4e], 2
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc edi
cmp edi, eax
jbe 0x5cf97e
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
xor ecx, ecx
mov cl, byte [eax]
inc eax
cmp ecx, 9
mov dword [ebp + 0x38], eax
je case.0x5cf9aa.13
cmp ecx, 0x20
je case.0x5cf9aa.13
cmp ecx, 0xa0
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jbe 0x5cf9e3
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
xor ecx, ecx
mov cl, byte [eax]
inc eax
cmp ecx, 9
mov dword [ebp + 0x38], eax
je 0x5cfa5a
cmp ecx, 0x20
je 0x5cfa5a
cmp ecx, 0xa0
jne case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jbe 0x5cfa2e
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
xor ecx, ecx
mov cl, byte [eax]
inc eax
cmp ecx, 0xa
mov dword [ebp + 0x38], eax
jl 0x5cfaa1
cmp ecx, 0xd
jle case.0x5cf9aa.13
cmp ecx, 0x85
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jbe 0x5cfa71
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
xor ecx, ecx
mov cl, byte [eax]
inc eax
cmp ecx, 0xa
mov dword [ebp + 0x38], eax
jl case.0x5cf9aa.13
cmp ecx, 0xd
jle 0x5cfae8
cmp ecx, 0x85
jne case.0x5cf9aa.13
mov eax, dword [ebp + 0x20]
inc esi
cmp esi, eax
jbe 0x5cfab8
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov edi, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edi + ecx], 8
jne case.0x5cf9aa.13
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5cfaff
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov edi, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edi + ecx], 8
je case.0x5cf9aa.13
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5cfb39
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov edi, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edi + ecx], 1
jne case.0x5cf9aa.13
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5cfb73
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov edi, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edi + ecx], 1
je case.0x5cf9aa.13
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5cfbad
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov edi, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edi + ecx], 0x10
jne case.0x5cf9aa.13
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5cfbe7
jmp 0x5cf8ee
cmp eax, edx
mov esi, edx
jb 0x5cf8ee
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfc49
mov edi, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edi + ecx], 0x10
je case.0x5cf9aa.13
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5cfc1d
jmp 0x5cf8ee
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
jmp 0x5cf8ce
mov edi, dword [esi]
sub eax, edi
cmp ecx, eax
ja 0x5cfc8c
mov dl, byte [ecx]
mov al, byte [ebx + 0xa0]
cmp dl, al
jne 0x5cfc8c
cmp edi, 1
je 0x5d00a3
mov al, byte [ecx + 1]
mov cl, byte [ebx + 0xa1]
cmp al, cl
je 0x5d00a3
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5cfcce
mov eax, dword [ebp + 0x38]
mov edi, dword [ebx + 0x64]
lea edx, [eax + 1]
cmp edx, edi
jb 0x5cfcce
mov edx, dword [ebx + 0x98]
test edx, edx
jne 0x5cfcce
cmp dword [esi], 2
jne 0x5cfcce
mov al, byte [eax]
mov dl, byte [ebx + 0xa0]
cmp al, dl
jne 0x5cfcce
cmp cx, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
mov esi, dword [ebp + 0x38]
mov eax, dword [esp + 0x3c]
inc esi
inc eax
mov dword [ebp + 0x38], esi
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
mov dword [esp + 0x3c], eax
jae 0x5d00a3
jmp 0x5cf936
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d00a3
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebx + 0x6c]
cmp ecx, edx
ja 0x5cfd3d
jmp 0x5cfd32
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x38]
sub eax, ecx
mov ecx, dword [ebx + 0x64]
mov esi, ecx
sub esi, edx
cmp eax, esi
jbe 0x5cfd53
mov dword [ebp + 0x38], ecx
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d00a3
cmp ecx, dword [ebx + 0x6c]
ja 0x5cfd3d
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x5d00a3
cmp ax, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
jmp 0x5d00a3
add edx, eax
mov dword [ebp + 0x38], edx
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfdcb
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xd
jne 0x5cfd94
inc eax
mov dword [ebp + 0x38], eax
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5d00a3
cmp byte [eax], 0xa
jne 0x5cfdbe
jmp 0x5cfdba
cmp ecx, 0xa
je 0x5cfdba
cmp word [ebx + 0x4e], 2
je 0x5d00a3
cmp ecx, 0xb
je 0x5cfdba
cmp ecx, 0xc
je 0x5cfdba
cmp ecx, 0x85
jne 0x5d00a3
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
inc esi
cmp esi, eax
jb 0x5cfd6b
jmp 0x5d00a3
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d00a3
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x6c]
cmp edx, ecx
ja 0x5cfd3d
jmp 0x5cfd32
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp edx, eax
jae 0x5d00a3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfe2e
mov al, byte [ecx]
cmp al, 9
je 0x5d00a3
cmp al, 0x20
je 0x5d00a3
cmp al, 0xa0
je 0x5d00a3
inc ecx
inc edx
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x24]
cmp edx, eax
jb 0x5cfdf9
jmp 0x5d00a3
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d00a3
mov ecx, dword [ebp + 0x38]
jmp 0x5cfd2d
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp edx, eax
jae 0x5d00a3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfe7e
mov al, byte [ecx]
cmp al, 9
je 0x5cfe6d
cmp al, 0x20
je 0x5cfe6d
cmp al, 0xa0
jne 0x5d00a3
inc ecx
inc edx
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x24]
cmp edx, eax
jb 0x5cfe51
jmp 0x5d00a3
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d00a3
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x6c]
cmp edx, ecx
jmp 0x5cfd30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp edx, eax
jae 0x5d00a3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfe2e
mov al, byte [ecx]
cmp al, 0xa
jb 0x5cfeca
cmp al, 0xd
jbe 0x5d00a3
cmp al, 0x85
je 0x5d00a3
inc ecx
inc edx
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x24]
cmp edx, eax
jb 0x5cfea6
jmp 0x5d00a3
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp edx, eax
jae 0x5d00a3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5cfe7e
mov al, byte [ecx]
cmp al, 0xa
jb 0x5d00a3
cmp al, 0xd
jbe 0x5cff09
cmp al, 0x85
jne 0x5d00a3
inc ecx
inc edx
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x24]
cmp edx, eax
jb 0x5cfee9
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfcee
mov edx, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edx + ecx], 8
jne 0x5d00a3
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5cff28
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfdcb
mov ecx, dword [ebx + 0x40]
xor edx, edx
mov dl, byte [eax]
test byte [ecx + edx], 8
je 0x5d00a3
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5cff66
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfcee
mov edx, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edx + ecx], 1
jne 0x5d00a3
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5cffa4
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfdcb
mov ecx, dword [ebx + 0x40]
xor edx, edx
mov dl, byte [eax]
test byte [ecx + edx], 1
je 0x5d00a3
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5cffe2
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5cfcee
mov edx, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [eax]
test byte [edx + ecx], 0x10
jne 0x5d00a3
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5d0020
jmp 0x5d00a3
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp esi, eax
jae 0x5d00a3
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jae 0x5d0078
mov ecx, dword [ebx + 0x40]
xor edx, edx
mov dl, byte [eax]
test byte [ecx + edx], 0x10
je 0x5d00a3
inc eax
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5d0053
jmp 0x5d00a3
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d00a3
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x6c]
cmp edx, ecx
ja 0x5d0092
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x5d00a3
cmp ax, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
cmp dword [esp + 0x10], 2
jne 0x5d175c
jmp 0x5ce87e
mov cl, byte [ebp + 0x31]
xor eax, eax
cmp cl, 0x74
sete al
mov dword [ebp + 0x28], eax
mov eax, dword [ebp]
xor ecx, ecx
xor edx, edx
mov ch, byte [eax + 3]
mov dx, word [ebx + 0x52]
mov cl, byte [eax + 4]
add eax, 5
mov esi, ecx
xor ecx, ecx
mov ch, byte [eax - 4]
mov cl, byte [eax - 3]
imul ecx, edx
mov edx, dword [ebx + 0x54]
mov dword [ebp], eax
add ecx, edx
mov eax, esi
dec esi
test eax, eax
jle 0x5d0147
xor edx, edx
mov dh, byte [ecx]
mov dl, byte [ecx + 1]
lea eax, [edx + edx - 2]
mov dword [ebp + 0x14], eax
mov edx, dword [ebp + 0x50]
cmp eax, edx
jae 0x5d010d
cmp dword [ebp + eax*4 + 0x54], 0xffffffff
jne 0x5d0147
xor eax, eax
mov edx, esi
mov ax, word [ebx + 0x52]
add ecx, eax
dec esi
test edx, edx
jg 0x5d00f1
jmp 0x5d0147
mov cl, byte [ebp + 0x31]
xor eax, eax
cmp cl, 0x72
sete al
mov dword [ebp + 0x28], eax
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
lea edx, [ecx + ecx - 2]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp]
add eax, 3
mov dword [ebp], eax
mov eax, dword [ebp]
xor ecx, ecx
mov cl, byte [eax]
mov esi, ecx
lea edi, [esi - 0x62]
cmp edi, 7
ja case.default.0x5d0164
xor edx, edx
mov dl, byte [edi + 0x5d217c]
jmp dword [edx*4 + 0x5d2174]
inc eax
mov dword [ebp], eax
mov eax, dword [esi*4 + str.upper]
mov dword [ebp + 0x20], eax
mov ecx, dword [esi*4 + 0x729c54]
mov dword [ebp + 0x24], ecx
mov edi, dword [esi*4 + 0x729c80]
mov dword [esp + 0x10], edi
jmp 0x5d01ce
xor edx, edx
xor ecx, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
xor eax, eax
mov dword [ebp + 0x20], edx
mov esi, dword [ebp]
mov ah, byte [esi + 3]
mov cl, byte [esi + 4]
or eax, ecx
xor ecx, ecx
mov dword [ebp + 0x24], eax
mov edx, dword [ebp]
test eax, eax
mov cl, byte [edx]
mov edi, dword [ecx*4 + 0x729c80]
mov dword [esp + 0x10], edi
jne 0x5d01ca
mov dword [ebp + 0x24], 0xffffffff
add dword [ebp], 5
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x50]
cmp ecx, eax
jae 0x5d01ed
mov eax, dword [ebp + ecx*4 + 0x54]
cmp eax, 0xffffffff
je 0x5d01ed
cmp eax, dword [ebp + ecx*4 + 0x58]
je 0x5ce87e
jmp 0x5d0207
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x5ce87e
mov eax, dword [ebx + 0x8c]
test ah, 2
jne 0x5ce87e
mov eax, dword [ebp + 0x20]
mov esi, 1
cmp eax, esi
jb 0x5d0246
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x24]
push edx
push ebx
push ebp
push eax
push ecx
call fcn.005d2440
add esp, 0x14
test eax, eax
jne 0x5d02bd
mov edx, dword [esp + 0x24]
mov eax, dword [ebp + 0x38]
add eax, edx
inc esi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x20]
cmp esi, eax
jbe 0x5d0213
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
cmp ecx, eax
je 0x5ce87e
test edi, edi
je 0x5d11c5
mov edx, dword [ebp + 0x38]
mov edi, 1
mov dword [ebp + 4], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + eax*4 + 0x58]
mov edx, dword [ebp + eax*4 + 0x54]
sub ecx, edx
mov dword [ebp + 0xc], ecx
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebp + 0x24]
jae 0x5d11e8
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x28]
push edx
push ebx
push ebp
push eax
push ecx
call fcn.005d2440
add esp, 0x14
test eax, eax
jne 0x5d0304
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
je 0x5d02ab
xor edi, edi
mov edx, dword [ebp + 0x38]
add edx, eax
inc esi
mov dword [ebp + 0x38], edx
mov eax, dword [ebp + 0x24]
cmp esi, eax
jb 0x5d0283
jmp 0x5d032a
jle 0x5d02c5
mov eax, dword [ebx + 0x64]
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jb case.0x5cf9aa.13
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
cmp ecx, dword [ebx + 0x6c]
ja 0x5d0385
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je case.0x5cf9aa.13
mov dword [ebx + 0x2c], 1
cmp ax, 1
jmp 0x5d0a7e
jle 0x5d032a
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d032a
mov edx, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x6c]
cmp edx, ecx
jbe 0x5d032a
cmp ax, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
test edi, edi
je 0x5d17c7
jmp 0x5d11e8
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x14]
lea eax, [esp + 0x18]
push eax
push ebx
push ebp
push ecx
push edx
call fcn.005d2440
add esp, 0x14
test eax, eax
je 0x5d0395
jle 0x5d035a
mov eax, dword [ebx + 0x64]
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jb case.0x5cf9aa.13
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5cf9aa.13
cmp ecx, dword [ebx + 0x6c]
ja 0x5d0385
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je case.0x5cf9aa.13
mov dword [ebx + 0x2c], 1
cmp ax, 1
jmp 0x5d0a7e
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x38]
add eax, ecx
mov dword [ebp + 0x38], eax
jmp 0x5ce87e
inc dword [ebp]
mov eax, dword [ebp]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d03a9
add eax, 3
mov dword [ebp], eax
jmp 0x5ce87e
mov ecx, dword [ebx + 0x30]
xor eax, eax
cmp ecx, eax
jne 0x5d18d0
cmp dword [ebp + 0x18], eax
je 0x5d18d0
jmp 0x5d0bed
lea eax, [esp + 0x18]
push eax
push ebx
push ebp
call fcn.005d2340
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x5cf9aa.13
jl 0x5d0b96
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp]
add eax, ecx
mov dword [ebp], eax
jmp 0x5ce87e
mov esi, dword [ebp]
xor eax, eax
xor edx, edx
mov ah, byte [esi + 1]
mov dl, byte [esi + 2]
or eax, edx
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp]
cmp byte [eax + ecx], 0x78
je 0x5d0435
add eax, 0xfffffffd
mov dword [ebp + 0xc], eax
mov edx, dword [ebp]
add edx, 3
mov eax, edx
mov dword [ebp], edx
mov al, byte [eax]
cmp al, 0x76
je 0x5d044a
cmp al, 0x77
jne 0x5d047c
lea edx, [esp + 0x18]
push edx
push ebx
push ebp
call fcn.005d2340
mov esi, eax
add esp, 0xc
test esi, esi
jg case.0x5cf9aa.13
jl 0x5d0b96
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp]
add ecx, eax
mov dword [ebp], ecx
mov ecx, dword [esp + 0x18]
sub dword [ebp + 0xc], ecx
mov edi, dword [ebp]
xor esi, esi
mov al, byte [edi]
mov edx, eax
and edx, 0xff
lea ecx, [edx - 0x90]
cmp ecx, 0x12
ja case.0x5d04a2.150
xor edx, edx
mov dl, byte [ecx + 0x5d21a0]
jmp dword [edx*4 + 0x5d2184]
mov ecx, dword [ebp + 0x44]
cmp ecx, 0xffffffff
je case.0x5d04a2.148
xor eax, eax
mov ah, byte [edi + 1]
mov al, byte [edi + 2]
cmp eax, 0xffff
je case.0x5d04a2.149
cmp eax, ecx
je case.0x5d04a2.149
xor esi, esi
jmp case.0x5d04a2.148
cmp dword [ebp + 0x44], 0xffffffff
je case.0x5d04a2.148
xor edx, edx
xor ecx, ecx
mov dh, byte [edi + 1]
mov cx, word [ebx + 0x52]
mov dl, byte [edi + 2]
xor eax, eax
mov ah, byte [edi + 3]
imul edx, ecx
mov al, byte [edi + 4]
mov edi, dword [ebx + 0x54]
mov dword [esp + 0x3c], ecx
add edi, edx
mov ecx, eax
dec eax
test ecx, ecx
jle case.0x5d04a2.148
mov esi, dword [ebp + 0x44]
xor edx, edx
mov dl, byte [edi + 1]
xor ecx, ecx
mov dh, byte [edi]
cmp edx, esi
sete cl
test ecx, ecx
jne 0x5d0df8
mov ecx, dword [esp + 0x3c]
add edi, ecx
mov ecx, eax
dec eax
test ecx, ecx
jg 0x5d050e
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp]
add edx, eax
mov dword [ebp], edx
mov cl, byte [ebp + 0x31]
cmp cl, 0x8f
mov eax, edx
jne 0x5ce87e
mov dword [esp + 0x50], 0x2008f
mov dword [esp + 0x3c], eax
mov byte [ebp + 0x30], 0x23
jmp 0x5d1c84
mov ecx, dword [ebp + 0x50]
xor edx, edx
mov dh, byte [edi + 1]
mov dl, byte [edi + 2]
lea eax, [edx + edx - 2]
cmp eax, ecx
jae 0x5d04d0
cmp dword [ebp + eax*4 + 0x54], 0xffffffff
je 0x5d04d0
mov esi, 1
jmp case.0x5d04a2.148
xor edx, edx
xor ecx, ecx
mov dh, byte [edi + 1]
mov cx, word [ebx + 0x52]
mov dl, byte [edi + 2]
xor eax, eax
mov ah, byte [edi + 3]
imul edx, ecx
mov al, byte [edi + 4]
mov edi, dword [ebx + 0x54]
add edi, edx
mov edx, eax
dec eax
test edx, edx
jle case.0x5d04a2.148
mov esi, dword [ebp + 0x50]
xor edx, edx
mov dl, byte [edi + 1]
mov dh, byte [edi]
lea edx, [edx + edx - 2]
cmp edx, esi
jae 0x5d05d4
cmp dword [ebp + edx*4 + 0x54], 0xffffffff
jne 0x5d0df8
add edi, ecx
mov edx, eax
dec eax
test edx, edx
jle 0x5d0534
jmp 0x5d05ba
mov eax, dword [ebp]
mov edi, dword [ebx + 0x5c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov eax, dword [ebp + 0x38]
mov edx, eax
sub edx, edi
cmp ecx, edx
jg case.0x5cf9aa.13
sub eax, ecx
mov dword [ebp + 0x38], eax
mov ecx, dword [ebx + 0x6c]
cmp eax, ecx
jae 0x5d060f
mov dword [ebx + 0x6c], eax
add dword [ebp], 3
jmp 0x5ce87e
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je case.0x5ce89e.56
jmp 0x5ce87e
mov eax, dword [ebp]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
sub eax, edx
mov edi, eax
mov al, byte [edi]
cmp al, 0x86
je 0x5d06b5
cmp al, 0x8a
je 0x5d06b5
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp + 0x4c]
mov edx, dword [esp + 0x4c]
add eax, esi
mov esi, eax
mov dword [esp + 0x14], eax
sub esi, edx
mov dword [esp + 0x3c], esi
mov ecx, dword [esi + 0x4c]
mov dword [ebp + 0x4c], ecx
mov edx, dword [eax + 0x1c]
and edx, 0xffff0000
cmp edx, 0x30000
jne 0x5d06bb
mov ecx, dword [ebp + 0x50]
mov eax, dword [esp + 0x3c]
shl ecx, 2
mov edx, ecx
lea esi, [ebp + 0x54]
lea edi, [eax + 0x54]
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 [ebp + 0x50]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp + 0x40]
mov ecx, ebp
mov dword [eax + 0x40], edx
sub ecx, eax
mov dword [ebp + 0x10], ecx
mov esi, 1
jmp 0x5d0b96
xor esi, esi
mov dword [esp + 0x3c], esi
xor eax, eax
mov al, byte [edi]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x5d06d3.132
xor edx, edx
mov dl, byte [eax + 0x5d21d0]
jmp dword [edx*4 + 0x5d21b4]
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x70]
cmp eax, ecx
jbe 0x5d06e7
mov dword [ebx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [ebp + 0x38], eax
jmp case.0x5d06d3.132
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x70]
cmp eax, ecx
jbe 0x5d06ff
mov dword [ebx + 0x70], eax
mov ecx, dword [esi + 0x38]
mov dword [ebp + 0x38], ecx
mov edx, ebp
xor ecx, ecx
sub edx, esi
mov dword [ebp + 0x10], edx
mov eax, dword [esi]
mov edx, dword [esi]
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
mov eax, ecx
mov cl, byte [eax + edx]
add eax, edx
cmp cl, 0x78
jne case.0x5d06d3.132
xor ecx, ecx
mov dword [esi], eax
mov ch, byte [eax + 1]
mov edx, dword [esi]
mov cl, byte [eax + 2]
mov eax, ecx
mov cl, byte [eax + edx]
add eax, edx
cmp cl, 0x78
je 0x5d0728
jmp case.0x5d06d3.132
mov ecx, dword [esi + 0x38]
xor eax, eax
push eax
mov eax, dword [ebp + 0x38]
push eax
push ecx
call fcn.005d4a40
add esp, 0xc
test eax, eax
jne case.0x5d06d3.132
jmp case.0x5cf9aa.13
mov eax, dword [ebp + 0x44]
xor ecx, ecx
mov ch, byte [edi + 3]
mov cl, byte [edi + 4]
cmp eax, ecx
jne 0x5d07b7
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
sub eax, edi
lea edi, [ebp + 0x54]
mov ecx, dword [eax + 0x50]
lea esi, [eax + 0x54]
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 + 0x50]
mov dword [ebp + 0x50], ecx
mov edx, dword [eax + 0x48]
mov dword [ebp + 0x48], edx
mov ecx, dword [eax + 0x44]
mov dword [ebp + 0x44], ecx
mov edx, dword [eax]
add edx, 3
mov dword [ebp], edx
jmp 0x5ce87e
lea eax, [ecx + ecx - 2]
mov dword [ebp + 0x48], ecx
mov ecx, dword [esi + 0x38]
mov edx, dword [ebx + 0x5c]
sub ecx, edx
mov dword [ebp + eax*4 + 0x54], ecx
mov edx, dword [ebp + 0x38]
sub edx, dword [ebx + 0x5c]
mov dword [ebp + eax*4 + 0x58], edx
mov ecx, dword [ebp + 0x50]
cmp eax, ecx
jb case.0x5d06d3.132
add eax, 2
mov dword [ebp + 0x50], eax
mov eax, dword [ebp]
cmp byte [eax], 0x7c
jne 0x5d0812
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
add ecx, 0xffffffc8
lea esi, [ebp + 0x38]
mov eax, ecx
lea edi, [edx + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0xfffffc1a
jmp 0x5d0b96
cmp byte [ebp + 0x31], 0x79
je 0x5d0eb8
test esi, esi
je 0x5d1a0b
mov ecx, dword [ebp + 0x38]
mov eax, dword [esi + 0x38]
cmp ecx, eax
jne 0x5d1a0b
add dword [ebp], 3
jmp 0x5ce87e
mov edx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x5c]
cmp edx, eax
jne case.0x5cf9aa.13
test byte [ebx + 0x88], 1
jne case.0x5cf9aa.13
inc dword [ebp]
jmp 0x5ce87e
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x5c]
cmp eax, ecx
je 0x5d0ade
jmp case.0x5cf9aa.13
test byte [ebx + 0x88], 2
jne case.0x5cf9aa.13
test byte [ebx + 0x8c], 0x10
je case.0x5ce89e.19
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jb case.0x5cf9aa.13
mov ax, word [ebx + 0x4c]
test ax, ax
jmp 0x5d0aa9
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0895
mov edx, dword [ebx + 0x98]
lea esi, [ebx + 0x9c]
test edx, edx
je 0x5d08d3
xor edi, edi
push edi
push esi
push eax
push edx
push ecx
call fcn.005d48a0
add esp, 0x14
test eax, eax
jne 0x5d0905
jmp 0x5d0a2e
mov edi, dword [esi]
sub eax, edi
cmp ecx, eax
ja 0x5d0a2e
mov dl, byte [ecx]
mov al, byte [ebx + 0xa0]
cmp dl, al
jne 0x5d0a2e
cmp edi, 1
je 0x5d0905
mov al, byte [ecx + 1]
mov cl, byte [ebx + 0xa1]
cmp al, cl
jne 0x5d0a2e
mov ecx, dword [ebx + 0x64]
mov edx, dword [esi]
mov eax, dword [ebp + 0x38]
sub ecx, edx
cmp eax, ecx
je 0x5d0895
jmp 0x5d0a2e
test byte [ebx + 0x88], 1
je 0x5d092f
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x5c]
cmp ecx, eax
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x5c]
cmp eax, ecx
je 0x5d0ade
cmp eax, dword [ebx + 0x64]
jne 0x5d0952
test dword [ebx + 0x8c], 0x200000
je case.0x5cf9aa.13
mov edx, dword [ebx + 0x98]
test edx, edx
je 0x5d0986
cmp eax, ecx
jbe case.0x5cf9aa.13
xor esi, esi
push esi
lea esi, [ebx + 0x9c]
push esi
push ecx
push edx
push eax
call fcn.005d4970
add esp, 0x14
test eax, eax
jne 0x5d0ade
jmp case.0x5cf9aa.13
mov edx, dword [ebx + 0x9c]
add ecx, edx
cmp eax, ecx
jb case.0x5cf9aa.13
mov cl, byte [ebx + 0xa0]
mov esi, eax
sub esi, edx
mov al, byte [esi]
cmp al, cl
jne case.0x5cf9aa.13
cmp edx, 1
je 0x5d0ade
mov cl, byte [esi + 1]
mov al, byte [ebx + 0xa1]
cmp cl, al
je 0x5d0ade
jmp case.0x5cf9aa.13
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x5d0a89
mov edx, dword [ebx + 0x98]
lea esi, [ebx + 0x9c]
test edx, edx
je 0x5d0a00
xor edi, edi
push edi
push esi
push eax
push edx
push ecx
call fcn.005d48a0
add esp, 0x14
test eax, eax
jne 0x5d0abc
jmp 0x5d0a2e
mov edi, dword [esi]
sub eax, edi
cmp ecx, eax
ja 0x5d0a2e
mov dl, byte [ecx]
mov al, byte [ebx + 0xa0]
cmp dl, al
jne 0x5d0a2e
cmp edi, 1
je 0x5d0abc
mov al, byte [ecx + 1]
mov cl, byte [ebx + 0xa1]
cmp al, cl
je 0x5d0abc
mov cx, word [ebx + 0x4c]
test cx, cx
je case.0x5cf9aa.13
mov eax, dword [ebp + 0x38]
mov edi, dword [ebx + 0x64]
lea edx, [eax + 1]
cmp edx, edi
jb case.0x5cf9aa.13
mov edx, dword [ebx + 0x98]
test edx, edx
jne case.0x5cf9aa.13
cmp dword [esi], 2
jne case.0x5cf9aa.13
mov al, byte [eax]
mov dl, byte [ebx + 0xa0]
cmp al, dl
jne case.0x5cf9aa.13
mov dword [ebx + 0x2c], 1
cmp cx, 1
ja 0x5d11ac
jmp case.0x5cf9aa.13
test byte [ebx + 0x88], 2
jne case.0x5cf9aa.13
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d0abc
cmp ecx, dword [ebx + 0x6c]
ja 0x5d0aab
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x5d0abc
cmp ax, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
inc dword [ebp]
jmp 0x5ce87e
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ebx + 0x44]
mov eax, dword [ebp + 0x38]
add ecx, edx
cmp eax, ecx
je 0x5d0ade
jmp case.0x5cf9aa.13
mov edx, dword [ebp + 0x38]
mov dword [ebp + 0x3c], edx
inc dword [ebp]
jmp 0x5ce87e
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x60]
cmp eax, ecx
jne 0x5d0af4
xor edi, edi
jmp 0x5d0b13
mov edx, dword [ebx + 0x6c]
dec eax
xor ecx, ecx
cmp eax, edx
mov cl, byte [eax]
jae 0x5d0b03
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x40]
xor edx, edx
mov dl, byte [eax + ecx]
mov edi, edx
shr edi, 4
and edi, 1
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x5d0b47
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5d0b43
cmp eax, dword [ebx + 0x6c]
ja 0x5d0b32
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5d0b43
cmp cx, 1
mov dword [ebx + 0x2c], 1
ja 0x5d11ac
xor eax, eax
jmp 0x5d0b6a
xor ecx, ecx
lea esi, [eax + 1]
mov cl, byte [eax]
mov eax, ecx
mov ecx, dword [ebx + 0x70]
cmp esi, ecx
jbe 0x5d0b5a
mov dword [ebx + 0x70], esi
mov edx, dword [ebx + 0x40]
xor ecx, ecx
mov cl, byte [edx + eax]
mov eax, ecx
shr eax, 4
and eax, 1
mov esi, dword [ebp]
mov dl, byte [esi]
inc esi
cmp dl, 5
mov dword [ebp], esi
jne 0x5d0b83
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
jmp 0x5d0b8c
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x5ce87e
xor esi, esi
mov edi, 1
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x70]
cmp eax, ecx
jbe 0x5d0ba8
mov dword [ebx + 0x70], eax
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x5d0bb9
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [ebp + 0x10]
sub ebp, eax
mov eax, dword [ebx + 0xa4]
mov edx, dword [eax + 0x3c]
or edx, 2
mov dword [eax + 0x3c], edx
xor eax, eax
mov al, byte [ebp + 0x30]
dec eax
cmp eax, 0x23
ja case.0x5d15d1.15
jmp dword [eax*4 + 0x5d21e4]
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 4]
mov dword [ebp], eax
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 4], eax
mov cl, byte [eax]
mov eax, dword [ebp]
cmp cl, 0x78
je 0x5d0c1d
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [edx + 0x72a44c]
add ecx, eax
mov dword [ebp], ecx
jmp 0x5ce87e
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [edx + 0x72a44c]
mov byte [ebp + 0x30], 1
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
cmp esi, 0xfffffc1f
jne 0x5d0c68
mov eax, dword [ebp]
mov edx, dword [ebx + 0x7c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, eax
cmp edx, ecx
jae case.0x5d0bdc.35
cmp byte [eax], 0x78
je 0x5d0c70
cmp byte [ecx], 0x78
jne case.0x5d0bdc.35
jmp 0x5d0c70
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d189f
xor esi, esi
jmp case.0x5d0bdc.35
cmp esi, 0xfffffc19
jne 0x5d0ce2
mov eax, dword [esp + 0x1c]
lea edi, [ebp + 0x54]
mov ecx, dword [eax + 0x50]
lea esi, [eax + 0x54]
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 + 0x50]
mov dword [ebp + 0x50], ecx
mov edx, dword [eax + 0x40]
mov dword [ebp + 0x40], edx
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d0cc2
add eax, 3
mov dword [ebp], eax
jmp 0x5ce87e
test esi, esi
je 0x5d0cf2
cmp esi, 0xfffffc1f
jne case.0x5d0bdc.35
mov eax, dword [ebp]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d1984
xor esi, esi
jmp case.0x5d0bdc.35
cmp esi, 0xfffffc1f
jg 0x5d0d5c
je 0x5d0d71
cmp esi, 0xfffffc19
je case.0x5d15ec.13
cmp esi, 0xfffffc1a
jle case.0x5d0bdc.35
cmp esi, 0xfffffc1d
jg case.0x5d0bdc.35
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d0d3c
add eax, 3
mov dword [ebp], eax
jmp 0x5ce87e
mov eax, esi
sub eax, 0
je 0x5d0d71
dec eax
jne case.0x5d0bdc.35
xor esi, esi
jmp case.0x5d0bdc.35
mov eax, dword [ebp]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d19b9
add eax, 3
mov dword [ebp], eax
jmp 0x5ce87e
cmp esi, 0xfffffc1f
jg 0x5d0e37
je 0x5d0e4a
cmp esi, 0xfffffc19
je 0x5d0e0e
cmp esi, 0xfffffc1a
jle case.0x5d0bdc.35
cmp esi, 0xfffffc1d
jg case.0x5d0bdc.35
mov ecx, dword [ebp + 0x20]
xor eax, eax
test ecx, ecx
sete al
mov esi, eax
test esi, esi
je 0x5d0534
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d0ddb
test esi, esi
je 0x5d0534
mov edx, dword [ebp]
xor eax, eax
xor ecx, ecx
mov al, byte [edx]
mov cl, byte [eax + 0x72a44c]
mov eax, ecx
jmp 0x5d0537
mov eax, dword [esp + 0x1c]
lea edi, [ebp + 0x54]
mov ecx, dword [eax + 0x50]
lea esi, [eax + 0x54]
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 eax, dword [eax + 0x50]
mov dword [ebp + 0x50], eax
mov esi, dword [ebp + 0x20]
jmp 0x5d0dd3
mov eax, esi
sub eax, 0
je 0x5d0e4a
dec eax
jne case.0x5d0bdc.35
mov esi, dword [ebp + 0x20]
jmp 0x5d0dd3
mov eax, dword [ebp + 4]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 4], eax
cmp byte [eax], 0x78
jne 0x5d0dc7
mov edx, dword [ebp]
xor eax, eax
xor ecx, ecx
mov al, byte [edx]
xor edx, edx
or eax, 0x30000
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 4]
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 5
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
sub eax, edx
mov dword [ebp], eax
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp]
add eax, 3
mov dword [ebp], eax
jmp 0x5ce87e
cmp esi, 0xfffffc1a
jne 0x5d0f26
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x24], edi
cmp eax, dword [ebp + 4]
jne 0x5d0ef3
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d0ed9
jmp 0x5d0f73
mov edx, dword [ebp + 8]
mov dword [ebp], edx
mov edx, dword [ebp + 0x38]
xor ecx, ecx
mov dword [ebp + 4], edx
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x50], eax
mov eax, dword [ebp]
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 8
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
cmp esi, 0xfffffc1f
jne 0x5d0f56
mov eax, dword [ebp]
mov edx, dword [ebx + 0x7c]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, eax
cmp edx, ecx
jae case.0x5d0bdc.35
cmp byte [eax], 0x78
je 0x5d0f5e
cmp byte [ecx], 0x78
jne case.0x5d0bdc.35
jmp 0x5d0f5e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp], eax
cmp byte [eax], 0x78
je 0x5d0ef9
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x5d0ebb
mov ecx, dword [ebp + 0x28]
test ecx, ecx
jne 0x5d0ebb
xor esi, esi
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 4]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 4], eax
cmp byte [eax], 0x78
je 0x5d0f98
add eax, 3
mov dword [ebp], eax
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
inc dword [ebp]
jmp 0x5ce87e
mov eax, dword [ebp + 4]
xor edx, edx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
add eax, edx
cmp esi, 0xfffffc1b
jl 0x5d1019
cmp esi, 0xfffffc1f
jg 0x5d1019
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebx + 0x84]
xor ecx, 0x40000
cmp edx, ecx
jne 0x5d1019
cmp esi, 0xfffffc1f
jne 0x5d1012
cmp dword [ebx + 0x7c], eax
jae 0x5d1012
mov edx, dword [ebp + 4]
cmp byte [edx], 0x78
je 0x5d1021
cmp byte [eax], 0x78
je 0x5d1021
xor esi, esi
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov dword [ebp + 4], eax
mov cl, byte [eax]
cmp cl, 0x78
je 0x5d1950
xor esi, esi
jmp case.0x5d0bdc.35
cmp esi, 0xfffffc1e
jne case.0x5d0bdc.35
mov ecx, dword [ebp]
mov eax, dword [ebx + 0x80]
add ecx, 2
push eax
push ecx
call fcn.005d4820
add esp, 8
test eax, eax
jne case.0x5d0bdc.35
mov edx, dword [ebp + 0x38]
mov esi, 0xfffffc1d
mov dword [ebx + 0x80], edx
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov ecx, dword [ebp + 0x44]
mov esi, 0xfffffc1c
mov dword [ebx + 0x84], ecx
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov edx, dword [ebp + 0x44]
mov esi, 0xfffffc1c
mov dword [ebx + 0x84], edx
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov esi, 0xfffffc1d
mov dword [ebx + 0x80], eax
mov ecx, dword [ebp + 0x44]
mov dword [ebx + 0x84], ecx
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov edx, dword [ebp]
mov esi, 0xfffffc1e
add edx, 2
mov dword [ebx + 0x80], edx
mov eax, dword [ebp + 0x44]
mov dword [ebx + 0x84], eax
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov ecx, dword [ebp]
mov esi, 0xfffffc1f
mov dword [ebx + 0x7c], ecx
mov edx, dword [ebp + 0x44]
mov dword [ebx + 0x84], edx
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp]
mov esi, 0xfffffc1f
mov dword [ebx + 0x7c], eax
mov ecx, dword [ebp + 0x44]
mov dword [ebx + 0x84], ecx
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
lea edx, [eax + 1]
mov dword [ebp + 0x20], edx
jae case.0x5d0bdc.35
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x14]
lea eax, [esp + 0x2c]
push eax
push ebx
push ebp
push ecx
push edx
call fcn.005d2440
add esp, 0x14
test eax, eax
je 0x5d11b9
jle 0x5d1175
mov eax, dword [ebx + 0x64]
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jb case.0x5d15ec.13
mov ax, word [ebx + 0x4c]
test ax, ax
je case.0x5d15ec.13
cmp ecx, dword [ebx + 0x6c]
ja 0x5d11a0
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je case.0x5d15ec.13
mov dword [ebx + 0x2c], edi
cmp ax, di
jbe case.0x5d15ec.13
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x24
ret
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x38]
add eax, ecx
mov dword [ebp + 0x38], eax
mov edx, dword [ebp]
mov byte [ebp + 0x30], 0x14
mov dword [esp + 0x3c], edx
jmp 0x5d1c84
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x38]
sub ecx, eax
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 4]
cmp ecx, eax
jb case.0x5cf9aa.13
mov edx, dword [ebp]
mov byte [ebp + 0x30], 0x15
mov dword [esp + 0x3c], edx
jmp 0x5d1c84
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 0x38]
cmp ecx, eax
je case.0x5cf9aa.13
mov edx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x20]
dec edx
mov dword [ebp + 0x38], eax
mov eax, edx
mov dword [ebp + 0x24], edx
cmp esi, eax
jae 0x5d125a
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x14]
lea eax, [esp + 0x30]
push eax
push ebx
push ebp
push ecx
push edx
call fcn.005d2440
mov eax, dword [esp + 0x44]
mov edx, dword [ebp + 0x38]
add esp, 0x14
add edx, eax
mov eax, dword [ebp + 0x24]
inc esi
cmp esi, eax
mov dword [ebp + 0x38], edx
jb 0x5d122f
mov ecx, dword [ebp]
mov byte [ebp + 0x30], 0x16
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
lea edx, [eax + 1]
mov dword [ebp + 0x20], edx
jae case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x5d12b8
mov cx, word [ebx + 0x4c]
test cx, cx
je case.0x5d15ec.13
cmp eax, dword [ebx + 0x6c]
ja 0x5d12ad
mov eax, dword [ebx + 0x34]
test eax, eax
je case.0x5d15ec.13
mov dword [ebx + 0x2c], edi
cmp cx, di
jmp 0x5d11a6
xor ecx, ecx
mov edx, dword [ebp + 8]
mov cl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov esi, ecx
and ecx, 7
mov eax, edi
shr esi, 3
shl eax, cl
test byte [esi + edx], al
jne 0x5d12db
xor esi, esi
jmp case.0x5d0bdc.35
mov eax, dword [ebp]
mov byte [ebp + 0x30], 0x17
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
test esi, esi
jne case.0x5d0bdc.35
dec dword [ebp + 0x38]
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 4]
cmp ecx, eax
jb case.0x5cf9aa.13
mov edx, dword [ebp]
mov byte [ebp + 0x30], 0x18
mov dword [esp + 0x3c], edx
jmp 0x5d1c84
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
jae case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x5d1362
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5d135b
cmp eax, dword [ebx + 0x6c]
ja 0x5d134f
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5d135b
cmp cx, di
mov dword [ebx + 0x2c], edi
ja 0x5d11ac
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebp + 0x28]
xor edx, edx
mov dl, byte [eax]
mov eax, edx
cmp ecx, eax
je 0x5d1a62
cmp dword [ebp + 0x2c], eax
je 0x5d1a62
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebp + 0x38]
dec ecx
test esi, esi
mov dword [ebp + 0x38], ecx
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 4]
cmp eax, ecx
jne 0x5d1a75
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
jae case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x5d13f3
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5d13ec
cmp eax, dword [ebx + 0x6c]
ja 0x5d13e0
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5d13ec
cmp cx, di
mov dword [ebx + 0x2c], edi
ja 0x5d11ac
xor esi, esi
jmp case.0x5d0bdc.35
xor edx, edx
mov dl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x28]
cmp eax, edx
je 0x5d1a85
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebp + 0x38]
dec ecx
test esi, esi
mov dword [ebp + 0x38], ecx
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 4]
cmp eax, ecx
ja 0x5d1a95
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
jae case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x5d147d
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5d1476
cmp eax, dword [ebx + 0x6c]
ja 0x5d146a
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5d1476
cmp cx, di
mov dword [ebx + 0x2c], edi
ja 0x5d11ac
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebp + 0x28]
xor edx, edx
mov dl, byte [eax]
mov eax, edx
cmp ecx, eax
je 0x5d1493
cmp dword [ebp + 0x2c], eax
jne 0x5d1aa5
xor esi, esi
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
dec dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 4]
cmp eax, ecx
jne 0x5d1ab8
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
jae case.0x5d0bdc.35
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x5d1506
mov cx, word [ebx + 0x4c]
test cx, cx
je 0x5d14ff
cmp eax, dword [ebx + 0x6c]
ja 0x5d14f3
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x5d14ff
cmp cx, di
mov dword [ebx + 0x2c], edi
ja 0x5d11ac
xor esi, esi
jmp case.0x5d0bdc.35
xor edx, edx
mov dl, byte [eax]
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x28]
cmp eax, edx
jne 0x5d1ac8
xor esi, esi
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
dec dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 4]
cmp eax, ecx
jne 0x5d1ad8
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x20]
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp + 0x24]
cmp eax, ecx
jae case.0x5d0bdc.35
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jb 0x5d158c
mov ax, word [ebx + 0x4c]
test ax, ax
je 0x5d1585
cmp ecx, dword [ebx + 0x6c]
ja 0x5d1579
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x5d1585
cmp ax, di
mov dword [ebx + 0x2c], edi
ja 0x5d11ac
xor esi, esi
jmp case.0x5d0bdc.35
cmp dword [ebp + 0x28], 0xc
jne 0x5d15b5
mov edx, dword [ebx + 0x98]
test edx, edx
je 0x5d1605
xor esi, esi
push esi
lea esi, [ebx + 0x9c]
push esi
push eax
push edx
push ecx
call fcn.005d48a0
add esp, 0x14
test eax, eax
jne 0x5d162e
mov ecx, dword [ebp + 0x38]
xor eax, eax
mov al, byte [ecx]
lea edx, [ecx + 1]
mov ecx, dword [ebp + 0x28]
mov dword [ebp + 0x38], edx
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x5d15d1.15
jmp dword [ecx*4 + 0x5d2274]
lea esi, [eax - 0xa]
cmp esi, 0x7b
ja case.0x5d15ec.13
xor ecx, ecx
mov cl, byte [esi + 0x5d22c4]
jmp dword [ecx*4 + 0x5d22b4]
cmp word [ebx + 0x4e], 2
jne case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov esi, dword [ebx + 0x9c]
sub eax, esi
cmp ecx, eax
ja 0x5d15b5
mov dl, byte [ecx]
mov al, byte [ebx + 0xa0]
cmp dl, al
jne 0x5d15b5
cmp esi, edi
je 0x5d162e
mov al, byte [ecx + 1]
mov cl, byte [ebx + 0xa1]
cmp al, cl
jne 0x5d15b5
xor esi, esi
jmp case.0x5d0bdc.35
cmp eax, 9
je 0x5d164a
cmp eax, 0x20
je 0x5d164a
cmp eax, 0xa0
jne case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
cmp eax, 9
je case.0x5d15d1.13
cmp eax, 0x20
je case.0x5d15d1.13
cmp eax, 0xa0
je case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
cmp eax, 0xa
jb case.0x5d15d1.13
cmp eax, 0xd
jbe 0x5d168e
cmp eax, 0x85
jne case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
cmp eax, 0xa
jb 0x5d16ae
cmp eax, 0xd
jbe case.0x5d15d1.13
cmp eax, 0x85
je case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov edx, dword [ebx + 0x40]
test byte [edx + eax], 8
je case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebx + 0x40]
test byte [ecx + eax], 8
jne case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov edx, dword [ebx + 0x40]
test byte [edx + eax], 1
je case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov edx, dword [ebx + 0x40]
test byte [edx + eax], 0x10
je case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
mov ecx, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5d15d1.13
xor esi, esi
jmp case.0x5d0bdc.35
test esi, esi
jne case.0x5d0bdc.35
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x28]
dec edx
cmp ecx, 0x11
mov dword [ebp + 0x38], edx
mov eax, edx
jne 0x5d175c
cmp eax, dword [ebp + 4]
jbe 0x5d175c
cmp byte [eax], 0xa
jne 0x5d175c
mov cl, byte [eax - 1]
dec eax
cmp cl, 0xd
jne 0x5d175c
mov dword [ebp + 0x38], eax
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 4]
cmp edx, eax
jne 0x5d1b4f
jmp 0x5ce87e
test esi, esi
jne case.0x5d0bdc.35
mov eax, dword [ebp + 0x44]
mov esi, 0xfffffc1b
mov dword [ebx + 0x84], eax
jmp case.0x5d0bdc.35
mov edx, dword [ebx + 0x90]
inc edx
mov dword [ebx + 0x90], edx
mov ecx, dword [ebx + 0x94]
mov eax, edx
cmp eax, ecx
mov eax, dword [ebp]
ja 0x5d1c1c
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
xor ecx, ecx
mov cl, byte [eax + 1]
add eax, edx
add ecx, eax
mov dword [ebp], ecx
jmp 0x5ce87e
mov dword [ebp + 0x24], esi
mov ecx, dword [ebp]
mov dword [esp + 0x3c], ecx
mov byte [ebp + 0x30], 0x16
jmp 0x5d1c84
mov eax, dword [ebp]
inc eax
mov dword [ebp + 4], eax
mov dword [esp + 0x3c], eax
mov byte [ebp + 0x30], 9
jmp 0x5d1c84
mov edx, dword [ebp]
inc edx
mov dword [ebp + 4], edx
mov eax, dword [ebp + 4]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
mov dword [ebp + 4], eax
cmp byte [eax], 0x78
je 0x5d17f5
add eax, 3
mov byte [ebp + 0x30], 0xa
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
mov dword [ebp + 0x28], 1
mov edx, dword [ebp]
inc edx
mov eax, edx
mov dword [ebp], edx
mov al, byte [eax]
cmp al, 0x89
je 0x5d185d
cmp al, 0x8e
jne 0x5d183d
jmp 0x5d185d
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x20], 0x20000
mov dword [ebp + 0x24], 0
mov edx, dword [ebp]
mov dword [ebp + 8], edx
jmp 0x5d0ef9
mov dword [ebp + 0x28], 0
mov eax, dword [ebp]
xor edx, edx
xor ecx, ecx
mov dl, byte [eax + 3]
mov cl, byte [eax + 4]
or dh, 1
shl edx, 8
or edx, ecx
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], 0
mov edx, dword [ebp]
mov dword [ebp + 8], edx
jmp 0x5d0ef9
mov eax, dword [ebp]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax + 3]
mov dl, byte [eax + 4]
or ch, 1
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x20], ecx
mov eax, dword [ebp]
mov edx, dword [ebp + 0x20]
xor ecx, ecx
mov dword [esp + 0x50], edx
mov cl, byte [eax]
xor edx, edx
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 2
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
xor eax, eax
mov al, byte [ebp + 0x31]
or eax, 0x20000
mov dword [ebp + 0x20], eax
jmp 0x5d189f
mov eax, dword [ebp]
mov esi, dword [ebx + 0x58]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add ecx, esi
mov eax, ecx
cmp eax, esi
mov dword [esp + 0x3c], eax
jne 0x5d18f3
xor edi, edi
jmp 0x5d1901
mov eax, dword [esp + 0x3c]
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [eax + 4]
mov edi, edx
cmp dword [ebp + 0x44], 0xffffffff
je 0x5d1940
mov eax, dword [ebp + 0x4c]
cmp eax, 0xffffffff
je 0x5d1940
mov esi, dword [ebx + 0x10]
mov edx, edi
or edx, 0x40000
lea ecx, [esi + eax]
mov eax, ecx
sub eax, dword [esp + 0x4c]
cmp dword [ecx + 0x1c], edx
je 0x5d1932
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
jne 0x5d191a
jmp 0x5d1940
mov ecx, dword [ebp + 0x38]
mov edx, dword [eax + 0x38]
cmp ecx, edx
je 0x5d1e25
mov edx, dword [esp + 0x3c]
or edi, 0x40000
mov dword [ebp + 4], edx
mov dword [ebp + 0x20], edi
mov eax, dword [ebp + 0x20]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 4]
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 0xb
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
xor eax, eax
mov al, byte [ebp + 0x31]
or eax, 0x20000
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x20]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebp]
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 3
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
xor ecx, ecx
mov cl, byte [ebp + 0x31]
or ecx, 0x20000
mov dword [ebp + 0x20], ecx
mov eax, dword [ebp + 0x20]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebp]
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 4
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
cmp al, 0x7e
je 0x5d19f8
cmp al, 0x80
je 0x5d19f8
xor eax, eax
mov dword [ebp + 0x20], eax
mov edx, dword [ebp]
mov dword [ebp + 4], edx
jmp 0x5d0e63
mov eax, 1
mov dword [ebp + 0x20], eax
mov edx, dword [ebp]
mov dword [ebp + 4], edx
jmp 0x5d0e63
cmp byte [ebp + 0x31], 0x7b
jne 0x5d1a24
mov eax, dword [ebp]
mov byte [ebp + 0x30], 6
add eax, 3
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
mov dword [esp + 0x3c], edi
mov byte [ebp + 0x30], 7
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
add eax, 2
xor edx, edx
mov dword [ebx + 0x78], eax
mov dword [ebp + 0x40], eax
mov eax, dword [ebp]
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
xor ecx, ecx
mov cl, byte [eax + 1]
add eax, edx
add ecx, eax
mov byte [ebp + 0x30], 0xc
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
inc dword [ebp + 0x38]
mov eax, dword [ebp]
mov byte [ebp + 0x30], 0x19
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
mov ecx, dword [ebp]
mov byte [ebp + 0x30], 0x1a
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov edx, dword [ebp]
mov byte [ebp + 0x30], 0x1b
mov dword [esp + 0x3c], edx
jmp 0x5d1c84
mov eax, dword [ebp]
mov byte [ebp + 0x30], 0x1c
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
inc dword [ebp + 0x38]
mov ecx, dword [ebp]
mov byte [ebp + 0x30], 0x1d
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov edx, dword [ebp]
mov byte [ebp + 0x30], 0x1e
mov dword [esp + 0x3c], edx
jmp 0x5d1c84
mov eax, dword [ebp]
mov byte [ebp + 0x30], 0x1f
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
mov ecx, dword [ebp]
mov byte [ebp + 0x30], 0x20
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov si, word [ebx + 0x4c]
test si, si
je case.0x5d15d1.13
cmp edx, dword [ebx + 0x64]
jb case.0x5d15d1.13
mov ecx, dword [ebx + 0x98]
test ecx, ecx
jne case.0x5d15d1.13
cmp dword [ebx + 0x9c], 2
jne case.0x5d15d1.13
xor edx, edx
mov dl, byte [ebx + 0xa0]
cmp eax, edx
jne case.0x5d15d1.13
cmp si, di
mov dword [ebx + 0x2c], edi
ja 0x5d11ac
mov eax, dword [ebp]
mov byte [ebp + 0x30], 0x21
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
cmp edx, dword [ebx + 0x64]
jae case.0x5d15d1.13
cmp byte [edx], 0xa
jne case.0x5d15d1.13
inc edx
mov dword [ebp + 0x38], edx
mov eax, dword [ebp]
mov byte [ebp + 0x30], 0x21
mov dword [esp + 0x3c], eax
jmp 0x5d1c84
mov ecx, dword [ebp]
mov byte [ebp + 0x30], 0x22
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [edx + 0x72a44c]
mov byte [ebp + 0x30], 0xd
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
add eax, 2
xor edx, edx
mov dword [ebx + 0x78], eax
mov dword [ebp + 0x40], eax
mov eax, dword [ebp]
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
xor ecx, ecx
mov cl, byte [eax + 1]
add eax, edx
add ecx, eax
mov byte [ebp + 0x30], 0x24
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 0xe
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
add eax, 2
xor edx, edx
mov dword [ebx + 0x78], eax
mov dword [ebp + 0x40], eax
mov eax, dword [ebp]
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
xor ecx, ecx
mov cl, byte [eax + 1]
add eax, edx
add ecx, eax
mov byte [ebp + 0x30], 0xf
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 0x10
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
xor ecx, ecx
mov cl, byte [eax + 1]
add eax, edx
add ecx, eax
mov byte [ebp + 0x30], 0x11
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
mov byte [ebp + 0x30], 0x12
mov ecx, edx
add ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x5d1c84
mov eax, dword [ebp]
xor ecx, ecx
add eax, 2
xor edx, edx
mov dword [ebx + 0x78], eax
mov dword [ebp + 0x40], eax
mov eax, dword [ebp]
mov cl, byte [eax]
mov dl, byte [ecx + 0x72a44c]
xor ecx, ecx
mov cl, byte [eax + 1]
add eax, edx
add ecx, eax
mov byte [ebp + 0x30], 0x13
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebx + 0x14]
add eax, ebp
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x5d1d31
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x1c]
lea eax, [ecx + ecx]
mov esi, eax
mov dword [esp + 0x20], eax
shr esi, 0xa
cmp esi, edx
jbe 0x5d1ccb
mov esi, dword [esp + 0x4c]
mov eax, edx
shl eax, 0xa
xor edx, edx
div esi
imul eax, esi
cmp ecx, eax
jae 0x5d1e32
mov dword [esp + 0x20], eax
mov ecx, dword [ebx + 8]
push ecx
push eax
call dword [ebx]
add esp, 8
mov dword [esp + 0x38], eax
test eax, eax
je 0x5d1e3f
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov edx, eax
mov eax, ecx
mov edi, edx
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 + 0x10]
mov ecx, edx
sub ecx, eax
add ebp, ecx
mov ecx, dword [esp + 0x4c]
add ecx, ebp
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x18]
cmp eax, ecx
je 0x5d1d22
mov edx, dword [ebx + 8]
push edx
push eax
call dword [ebx + 4]
mov edx, dword [esp + 0x40]
add esp, 8
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x10], edx
add edx, eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x14], edx
mov eax, dword [esp + 0x4c]
lea esi, [ebp + 0x38]
lea ecx, [eax - 0x38]
mov eax, dword [esp + 0x14]
mov edx, ecx
lea edi, [eax + 0x38]
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 [ebp + 0x18]
mov ebp, eax
inc ecx
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x50]
xor ecx, ecx
jmp 0x5ce821
pop edi
pop esi
pop ebp
mov eax, 0xffffffd1
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffcb
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov edx, dword [ebp + 0x38]
mov dword [ebx + 0x68], edx
mov eax, dword [ebp + 0x50]
mov dword [ebx + 0x48], eax
mov ecx, dword [ebp + 0x40]
mov dword [ebx + 0x74], ecx
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebx + 0x70]
jbe 0x5d1da5
mov dword [ebx + 0x70], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x40]
sub eax, ecx
mov dword [edx], eax
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebx + 0x5c]
sub ecx, eax
mov eax, dword [esp + 0x48]
and eax, 0xffff
mov dword [edx + 4], ecx
lea ecx, [eax + 1]
mov eax, dword [esp + 0x44]
and eax, 0xffff
cmp ecx, eax
jg 0x5d1dd9
mov eax, ecx
add eax, eax
lea esi, [ebp + 0x54]
lea edi, [edx + 8]
lea ecx, [eax*4 - 8]
mov ebx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
dec eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x50]
add ecx, 2
cmp eax, ecx
jb 0x5d1e18
lea ecx, [edx + eax*4]
mov dword [ecx], 0xffffffff
mov edx, dword [ebp + 0x50]
dec eax
add edx, 2
sub ecx, 4
cmp eax, edx
jae 0x5d1e04
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffcc
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffc1
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffd0
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffd4
pop ebx
add esp, 0x24
ret