Function at 0x5b9bb2
Capabilities:
Authenticate hmac
Encode data using base64
Parse credit card information
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0xc8
mov eax, dword [ebp + 0x5c]
mov edx, dword [eax]
mov eax, dword [ebp + 0x60]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 0x64]
push esi
mov esi, dword [eax]
mov eax, edx
shr eax, 9
and eax, 1
mov dword [ebp - 0x50], eax
xor eax, 1
push edi
mov edi, dword [ebp + 0x78]
mov dword [ebp - 0x4c], eax
xor ecx, ecx
push 0xfffffffffffffffe
pop eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x34], eax
mov eax, edx
and eax, 1
shl eax, 8
mov dword [ebp + 0x24], ecx
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x2c], edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 4], ecx
mov dword [ebp - 0x3c], eax
movzx eax, byte [esi]
mov dword [ebp + 0x44], eax
mov eax, dword [edi + 0x10]
add eax, 0x1000
cmp dword [ebp + 0x7c], ecx
je 0x5b9c8e
cmp ebx, eax
ja 0x5bb963
cmp ebx, dword [ebp - 0x10]
jae 0x5b9c49
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x7c]
mov edx, ebx
sub edx, dword [ebp - 0x10]
add dword [eax], edx
cmp dword [ebp + 0x4c], ecx
je 0x5b9c86
mov eax, dword [ebp - 0x48]
cmp dword [ebp + 0x4c], eax
jbe 0x5b9c89
mov esi, dword [ebp - 0x48]
mov eax, ebx
sub eax, dword [ebp + 0x4c]
push eax
push dword [ebp + 0x4c]
push esi
call fcn.005cceb0
mov eax, esi
sub eax, dword [ebp + 0x4c]
add esp, 0xc
add ebx, eax
mov dword [ebp + 0x4c], esi
mov esi, dword [ebp + 0x50]
xor ecx, ecx
jmp 0x5b9c89
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x10], ebx
jmp 0x5b9c97
cmp dword [edi + 0x20], eax
ja 0x5bb963
cmp dword [ebp + 0x10], ecx
je 0x5b9d21
cmp dword [ebp + 0x44], ecx
je 0x5b9d21
cmp dword [ebp + 0x44], 0x5c
jne 0x5b9cbb
lea eax, [esi + 1]
cmp byte [eax], 0x45
jne 0x5b9cbb
mov dword [ebp + 0x10], ecx
jmp 0x5ba892
mov eax, dword [ebp + 0xc]
cmp eax, ecx
je 0x5b9cea
cmp dword [ebp + 0x7c], ecx
jne 0x5b9ce7
xor edx, edx
mov dh, byte [eax + 2]
mov dl, byte [eax + 3]
mov eax, esi
mov esi, dword [ebp + 0xc]
sub eax, edx
sub eax, dword [edi + 0x18]
mov edx, eax
sar edx, 8
mov byte [esi + 4], dl
mov byte [esi + 5], al
mov esi, dword [ebp + 0x50]
mov dword [ebp + 0xc], ecx
test byte [ebp + 0x2d], 0x40
je 0x5ba7fd
mov byte [ebx], 0x52
mov dword [ebp + 0xc], ebx
mov eax, esi
inc ebx
or byte [ebx], 0xff
mov ecx, eax
sub ecx, dword [edi + 0x18]
inc ebx
sar ecx, 8
mov byte [ebx], cl
sub al, byte [edi + 0x18]
and byte [ebx + 2], 0
and byte [ebx + 3], 0
mov byte [ebx + 1], al
add ebx, 4
jmp 0x5ba7fd
mov eax, dword [ebp + 0x44]
cmp eax, 0x2a
je 0x5b9da5
cmp eax, 0x2b
je 0x5b9da5
cmp eax, 0x3f
je 0x5b9da5
cmp eax, 0x7b
jne 0x5b9d44
lea eax, [esi + 1]
call fcn.005b8f28
test eax, eax
jne 0x5b9da5
and dword [ebp + 0x38], 0
cmp dword [ebp + 0xc], 0
je 0x5b9d82
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x40]
test eax, eax
jg 0x5b9d82
cmp dword [ebp + 0x7c], 0
jne 0x5b9d7e
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dh, byte [ecx + 2]
mov eax, esi
mov dl, byte [ecx + 3]
sub eax, edx
sub eax, dword [edi + 0x18]
mov edx, eax
sar edx, 8
mov byte [ecx + 4], dl
mov byte [ecx + 5], al
mov esi, dword [ebp + 0x50]
and dword [ebp + 0xc], 0
test byte [ebp + 0x2c], 8
je 0x5b9df9
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x44]
test byte [ecx + eax], 1
jne 0x5bb956
cmp ecx, 0x23
mov esi, dword [ebp + 0x50]
jne 0x5b9df9
jmp 0x5b9e9e
mov dword [ebp + 0x38], 1
jmp 0x5b9d82
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x5b9e78
mov eax, dword [edi + 0x1c]
cmp esi, eax
jae 0x5b9e9e
push 0
lea edx, [edi + 0x4c]
push edx
push eax
push ecx
push esi
call fcn.005bc3ba
mov esi, dword [ebp + 0x50]
add esp, 0x14
test eax, eax
je 0x5b9e9e
mov eax, dword [edi + 0x4c]
lea eax, [esi + eax - 1]
mov dword [ebp + 0x50], eax
cmp byte [eax], 0
jne 0x5bb956
mov esi, eax
and dword [ebp + 0x44], 0
xor edx, edx
test byte [ebp + 0x2d], 0x40
je 0x5b9e2f
cmp dword [ebp + 0x38], edx
jne 0x5b9e2f
mov byte [ebx], 0x52
mov dword [ebp + 0xc], ebx
mov eax, esi
inc ebx
or byte [ebx], 0xff
mov ecx, eax
sub ecx, dword [edi + 0x18]
inc ebx
sar ecx, 8
mov byte [ebx], cl
sub al, byte [edi + 0x18]
and byte [ebx + 2], dl
and byte [ebx + 3], dl
mov byte [ebx + 1], al
mov esi, dword [ebp + 0x50]
add ebx, 4
mov eax, dword [ebp + 0x44]
cmp eax, 0x2e
jg 0x5ba7a5
je 0x5ba784
sub eax, edx
je 0x5ba7ca
sub eax, 0x24
je 0x5ba779
sub eax, 4
je 0x5b9eba
dec eax
je 0x5ba7ca
dec eax
je 0x5b9eb1
dec eax
jne 0x5ba7fd
or dword [ebp + 0x30], 0xffffffff
mov dword [ebp + 0x24], 1
jmp 0x5bb232
mov ecx, dword [edi + 0x4c]
mov edx, dword [edi + 0x1c]
sub edx, ecx
cmp esi, edx
ja 0x5b9e9e
cmp al, byte [edi + 0x50]
jne 0x5b9e9e
cmp ecx, 1
je 0x5b9de0
mov al, byte [esi + 1]
cmp al, byte [edi + 0x51]
je 0x5b9de0
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
jne 0x5b9dae
jmp 0x5b9df5
or dword [ebp + 0x30], 0xffffffff
jmp 0x5bb22f
mov eax, dword [ebp + 0x2c]
mov ecx, dword [edi + 0x20]
inc esi
mov dword [ebp + 0x50], esi
cmp byte [esi], 0x3f
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x28], 0x5e
mov dword [ebp + 4], ecx
mov dword [ebp - 4], edx
jne 0x5ba621
inc esi
mov dword [ebp + 0x50], esi
mov cl, byte [esi]
movzx eax, cl
cmp eax, 0x3a
jg 0x5ba1d5
je 0x5ba20e
cmp eax, 0x28
jg 0x5ba1bb
je 0x5b9f68
sub eax, 0x21
je 0x5b9f5b
dec eax
dec eax
je 0x5b9f2c
sub eax, 3
je 0x5b9f1d
dec eax
je 0x5ba4a4
jmp 0x5ba251
push 0x29
pop ecx
mov dword [ebp + 0x38], 1
jmp 0x5ba911
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
je 0x5b9f4d
cmp al, 0x29
je 0x5b9f44
inc esi
mov dword [ebp + 0x50], esi
mov al, byte [esi]
test al, al
jne 0x5b9f36
cmp byte [esi], 0
jne 0x5bb956
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x12
jmp 0x5bbac8
mov dword [ebp + 0x28], 0x58
inc esi
jmp 0x5ba5fb
cmp byte [esi + 1], 0x3f
mov dword [ebp + 0x28], 0x5f
jne 0x5b9f90
mov al, byte [esi + 2]
cmp al, 0x3d
je 0x5ba5e4
cmp al, 0x21
je 0x5ba5e4
cmp al, 0x3c
je 0x5ba5e4
or dword [ebp + 0x4c], 0xffffffff
mov byte [ebx + 3], 0x63
mov eax, dword [ebp + 0x50]
inc eax
mov cl, byte [eax]
cmp cl, 0x52
mov dword [ebp + 0x38], 3
jne 0x5b9fc2
mov esi, dword [ebp + 0x50]
add esi, 2
cmp byte [esi], 0x26
jne 0x5b9fc2
or dword [ebp + 0x3c], 0xffffffff
mov dword [ebp + 0x50], esi
mov byte [ebx + 3], 0x64
jmp 0x5b9ff7
cmp cl, 0x3c
jne 0x5b9fd3
mov dword [ebp + 0x3c], 0x3e
mov dword [ebp + 0x50], eax
jmp 0x5b9ff7
cmp cl, 0x27
jne 0x5b9fe1
mov dword [ebp + 0x3c], 0x27
jmp 0x5b9fce
cmp cl, 0x2d
mov dword [ebp + 0x3c], edx
je 0x5b9fee
cmp cl, 0x2b
jne 0x5b9ff7
mov dword [ebp + 0x50], eax
movzx eax, byte [eax]
mov dword [ebp + 0x4c], eax
mov esi, dword [ebp + 0x50]
mov ecx, dword [edi + 0xc]
inc esi
movzx eax, byte [esi]
test byte [eax + ecx], 0x10
je 0x5bb971
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor edx, edx
test byte [ecx + eax], 0x10
mov dword [ebp + 0x44], edx
mov dword [ebp + 0x48], esi
je 0x5ba048
test edx, edx
jl 0x5ba038
test byte [eax + 0x5f6668], 4
je 0x5ba035
lea edx, [edx + edx*4]
lea edx, [eax + edx*2 - 0x30]
jmp 0x5ba038
or edx, 0xffffffff
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [ecx + eax], 0x10
jne 0x5ba01f
mov dword [ebp + 0x44], edx
mov eax, esi
sub eax, dword [ebp + 0x48]
cmp dword [ebp + 0x3c], 0
mov dword [ebp + 0x40], eax
jle 0x5ba066
movzx eax, byte [esi]
inc esi
cmp eax, dword [ebp + 0x3c]
mov dword [ebp + 0x50], esi
jne 0x5bb982
mov al, byte [esi]
inc esi
cmp al, 0x29
mov dword [ebp + 0x50], esi
jne 0x5bb982
cmp dword [ebp + 0x7c], 0
jne 0x5ba5e4
cmp dword [ebp + 0x4c], 0
jle 0x5ba0bc
test edx, edx
jle 0x5bb9b4
cmp dword [ebp + 0x4c], 0x2d
jne 0x5ba0ac
mov eax, dword [edi + 0x30]
sub eax, edx
inc eax
mov edx, eax
test edx, edx
jg 0x5ba0af
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xf
jmp 0x5bbac8
add edx, dword [edi + 0x30]
mov eax, edx
sar eax, 8
mov byte [ebx + 5], dl
jmp 0x5ba5e1
and dword [ebp + 0x4c], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x5ba0ed
push dword [ebp + 0x40]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x48]
call fcn.005cfbd0
add esp, 0xc
test eax, eax
je 0x5ba0ed
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jl 0x5ba0c9
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jge 0x5ba10b
movzx eax, byte [esi + 1]
mov ah, byte [esi]
mov ecx, eax
sar ecx, 8
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
jmp 0x5ba5e4
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x50]
shr eax, 3
xor esi, esi
inc esi
and eax, esi
push eax
push dword [ebp + 0x40]
mov eax, dword [edi + 0x30]
push dword [ebp + 0x48]
call fcn.005b901f
add esp, 0xc
test eax, eax
jg 0x5ba0fb
xor eax, eax
cmp dword [ebp + 0x3c], eax
jne 0x5ba09e
mov edx, dword [ebp + 0x48]
cmp byte [edx], 0x52
jne 0x5ba174
cmp dword [ebp + 0x40], esi
jle 0x5ba169
movzx ecx, byte [esi + edx]
test byte [ecx + 0x5f6668], 4
je 0x5ba09e
inc esi
cmp esi, dword [ebp + 0x40]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
jl 0x5ba147
test eax, eax
jne 0x5ba16e
mov eax, 0xffff
mov byte [ebx + 3], 0x64
jmp 0x5ba0fb
cmp dword [ebp + 0x40], 6
jne 0x5ba19c
push 6
push str.DEFINE
push dword [ebp + 0x48]
call fcn.005cfbd0
add esp, 0xc
test eax, eax
jne 0x5ba19c
mov byte [ebx + 3], 0x65
mov dword [ebp + 0x38], esi
jmp 0x5ba5e4
mov eax, dword [ebp + 0x44]
test eax, eax
jg 0x5ba0fb
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov ecx, dword [ebp + 0x68]
mov dword [ecx], eax
jmp 0x5bbac8
cmp eax, 0x2b
je 0x5ba222
cmp eax, 0x2d
je 0x5ba222
cmp eax, 0x2f
jle 0x5ba251
cmp eax, 0x39
jle 0x5ba222
jmp 0x5ba251
sub eax, 0x3c
je 0x5ba481
dec eax
je 0x5ba475
dec eax
je 0x5ba469
sub eax, 5
je 0x5ba3fb
sub eax, 0xd
je 0x5ba3c2
dec eax
dec eax
je 0x5ba21e
sub eax, 0x2a
jne 0x5ba251
mov dword [ebp - 4], 1
mov dword [ebp + 0x28], 0x5d
inc esi
mov dword [ebp + 0x50], esi
jmp 0x5ba5e4
inc esi
mov dword [ebp + 0x50], esi
mov cl, byte [esi]
movzx edx, cl
cmp edx, 0x2b
mov dword [ebp + 0x4c], edx
jne 0x5ba235
inc esi
jmp 0x5ba34c
cmp edx, 0x2d
jne 0x5ba34f
lea eax, [esi + 1]
movzx edx, byte [eax]
test byte [edx + 0x5f6668], 4
jne 0x5ba347
and dword [ebp + 0x48], 0
and dword [ebp + 0x3c], 0
lea eax, [ebp + 0x3c]
jmp 0x5ba2ca
cmp cl, 0x3a
je 0x5ba2cf
movzx ecx, cl
inc esi
cmp ecx, 0x69
mov dword [ebp + 0x50], esi
jg 0x5ba2a8
je 0x5ba2a3
cmp ecx, 0x2d
je 0x5ba29e
cmp ecx, 0x4a
je 0x5ba294
cmp ecx, 0x55
je 0x5ba28e
cmp ecx, 0x58
jne 0x5bb994
or dword [eax], 0x40
jmp 0x5ba2c8
or byte [eax + 1], 2
jmp 0x5ba2c8
or byte [eax + 2], 8
or byte [edi + 0x3f], 8
jmp 0x5ba2c8
lea eax, [ebp + 0x48]
jmp 0x5ba2c8
or dword [eax], 1
jmp 0x5ba2c8
cmp ecx, 0x6d
je 0x5ba2c5
cmp ecx, 0x73
je 0x5ba2c0
cmp ecx, 0x78
jne 0x5bb994
or dword [eax], 8
jmp 0x5ba2c8
or dword [eax], 4
jmp 0x5ba2c8
or dword [eax], 2
mov cl, byte [esi]
cmp cl, 0x29
jne 0x5ba25e
mov eax, dword [ebp + 0x3c]
or eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x48]
not ecx
and eax, ecx
cmp byte [esi], 0x29
mov dword [ebp + 0x20], eax
jne 0x5ba20e
mov ecx, dword [edi + 0x14]
add ecx, 3
cmp ebx, ecx
jne 0x5ba306
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x5ba2fe
cmp dword [ecx], 6
jne 0x5ba306
mov dword [edi + 0x3c], eax
mov dword [ebp + 0x2c], eax
jmp 0x5ba33e
mov ecx, eax
xor ecx, dword [ebp + 0x2c]
test cl, 7
je 0x5ba31c
mov byte [ebx], 0x18
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x5c]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [ebp + 0x2c], eax
mov dword [ebp - 0x50], ecx
xor ecx, 1
and eax, 1
shl eax, 8
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x3c], eax
and dword [ebp + 0x4c], 0
jmp 0x5bb956
mov edx, dword [ebp + 0x4c]
mov esi, eax
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
xor ecx, ecx
test byte [eax + 0x5f6668], 4
mov dword [ebp + 0x44], ecx
je 0x5ba37a
inc esi
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + 0x5f6668], 4
jne 0x5ba360
mov dword [ebp + 0x44], ecx
cmp byte [esi], 0x29
jne 0x5bb9a6
cmp edx, 0x2d
jne 0x5ba3a6
test ecx, ecx
je 0x5bb9b4
mov eax, dword [edi + 0x30]
sub eax, ecx
inc eax
test eax, eax
mov dword [ebp + 0x44], eax
jle 0x5ba09e
jmp 0x5ba9d2
cmp edx, 0x2b
jne 0x5ba9d2
test ecx, ecx
je 0x5bb9b4
add ecx, dword [edi + 0x30]
mov dword [ebp + 0x44], ecx
jmp 0x5ba9d2
inc esi
mov dword [ebp + 0x50], esi
mov cl, byte [esi]
cmp cl, 0x3d
je 0x5ba3e9
cmp cl, 0x3e
je 0x5ba3e9
cmp cl, 0x3c
je 0x5ba4a4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x29
jmp 0x5bbac8
xor eax, eax
cmp cl, 0x3e
sete al
push 0x29
mov dword [ebp + 0x38], eax
jmp 0x5ba900
mov byte [ebx], 0x52
mov esi, dword [ebp + 0x50]
mov dword [ebp + 0xc], ebx
inc ebx
mov dword [ebp - 0x40], 1
xor ecx, ecx
jmp 0x5ba417
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + 0x5f6668], 4
jne 0x5ba410
cmp byte [esi], 0x29
jne 0x5bb9c2
cmp ecx, 0xff
jg 0x5bb9d0
mov byte [ebx], cl
mov eax, dword [ebp + 0x50]
sub eax, dword [edi + 0x18]
inc ebx
inc eax
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp + 0x50]
sub al, byte [edi + 0x18]
and byte [ebx + 2], 0
and byte [ebx + 3], 0
inc al
mov byte [ebx + 1], al
add ebx, 4
mov dword [ebp + 0x4c], edx
jmp 0x5bb956
mov dword [ebp + 0x28], 0x5c
jmp 0x5ba215
mov dword [ebp + 0x28], 0x57
jmp 0x5b9f62
mov al, byte [esi + 1]
cmp al, 0x21
je 0x5ba5f2
cmp al, 0x3d
je 0x5ba5e9
mov edx, dword [edi + 0xc]
movzx eax, al
test byte [eax + edx], 0x10
je 0x5bb9ec
xor eax, eax
cmp cl, 0x3c
mov ecx, dword [edi + 0xc]
setne al
dec eax
and eax, 0x17
add eax, 0x27
inc esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x3c], eax
movzx eax, byte [esi]
test byte [eax + ecx], 0x10
mov dword [ebp + 0x48], esi
je 0x5ba4d8
mov eax, ecx
inc esi
mov dword [ebp + 0x50], esi
movzx ecx, byte [esi]
test byte [ecx + eax], 0x10
jne 0x5ba4cb
mov eax, esi
sub eax, dword [ebp + 0x48]
cmp dword [ebp + 0x7c], 0
mov dword [ebp + 0x40], eax
je 0x5ba525
movzx ecx, byte [esi]
cmp ecx, dword [ebp + 0x3c]
jne 0x5bba28
cmp dword [edi + 0x28], 0x2710
jge 0x5bb9de
lea ecx, [eax + 3]
cmp ecx, dword [edi + 0x2c]
jle 0x5ba5c4
cmp eax, 0x20
mov dword [edi + 0x2c], ecx
jle 0x5ba5c4
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x30
jmp 0x5bbac8
and dword [ebp + 0x4c], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x5ba596
push dword [ebp + 0x40]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x48]
call fcn.005d1f70
add esp, 0xc
test eax, eax
jne 0x5ba56b
mov eax, dword [ebp + 0x40]
cmp byte [esi + eax + 2], 0
jne 0x5ba566
test byte [ebp + 0x2e], 8
jne 0x5ba56d
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2b
jmp 0x5bbac8
or eax, 0xffffffff
test eax, eax
jl 0x5ba57d
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jl 0x5ba532
jmp 0x5ba596
mov ecx, dword [edi + 0x28]
mov eax, dword [edi + 0x2c]
sub ecx, dword [ebp + 0x4c]
imul ecx, eax
push ecx
add eax, esi
push esi
push eax
call fcn.005cceb0
add esp, 0xc
mov eax, dword [edi + 0x30]
push dword [ebp + 0x40]
inc eax
push dword [ebp + 0x48]
sar eax, 8
mov byte [esi], al
mov al, byte [edi + 0x30]
inc al
mov byte [esi + 1], al
lea eax, [esi + 2]
push eax
call fcn.005d1a10
mov eax, dword [ebp + 0x40]
add esp, 0xc
and byte [esi + eax + 2], 0
mov esi, dword [ebp + 0x50]
inc esi
inc dword [edi + 0x28]
mov dword [ebp + 0x50], esi
inc dword [edi + 0x30]
mov eax, dword [edi + 0x30]
sar eax, 8
mov byte [ebx + 3], al
mov al, byte [edi + 0x30]
mov dword [ebp + 0x38], 2
mov byte [ebx + 4], al
mov dword [ebp + 0x4c], ebx
jmp 0x5ba601
mov dword [ebp + 0x28], 0x59
jmp 0x5ba5f9
mov dword [ebp + 0x28], 0x5a
inc esi
inc esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x4c], edx
mov eax, dword [ebp + 0x28]
mov byte [ebx], al
mov ecx, dword [edi + 0x40]
and dword [ebp - 8], 0
cmp eax, 0x59
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x3c], ecx
je 0x5ba62f
cmp eax, 0x5a
je 0x5ba62f
xor eax, eax
jmp 0x5ba632
test ah, 0x10
je 0x5ba5cb
mov dword [ebp + 0x28], 0x5d
jmp 0x5ba5e4
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x7c]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 8]
and ecx, edx
push ecx
push edi
push dword [ebp + 0x74]
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push dword [ebp + 0x38]
push dword [ebp - 4]
push eax
push dword [ebp + 0x68]
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x2c]
and eax, 7
push eax
push dword [ebp + 0x20]
call fcn.005bbada
add esp, 0x34
test eax, eax
je 0x5bbac8
cmp dword [ebp + 0x28], 0x5f
mov ecx, dword [ebp + 0x7c]
jne 0x5ba6ae
test ecx, ecx
jne 0x5ba6ae
mov eax, ebx
xor esi, esi
xor edx, edx
mov dh, byte [eax + 1]
inc esi
mov dl, byte [eax + 2]
add eax, edx
cmp byte [eax], 0x54
jne 0x5ba688
cmp byte [ebx + 3], 0x65
jne 0x5ba6e5
cmp esi, 1
jg 0x5bb9fe
mov dword [ebp + 0x28], 0x65
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp + 0x50]
cmp byte [edx], 0x29
jne 0x5bba1a
xor edx, edx
cmp ecx, edx
je 0x5ba6fe
mov eax, dword [ebp - 8]
add eax, 0xfffffffa
add dword [ecx], eax
inc ebx
and byte [ebx], dl
mov byte [ebx + 1], 3
inc ebx
inc ebx
mov byte [ebx], 0x54
inc ebx
and byte [ebx], dl
mov byte [ebx + 1], 3
mov eax, dword [ebp - 0x38]
inc ebx
inc ebx
jmp 0x5ba701
cmp esi, 2
jg 0x5bba0c
cmp esi, 1
jne 0x5ba6ae
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x38], eax
jmp 0x5ba6b1
mov ebx, dword [ebp + 0x1c]
cmp dword [ebp + 0x28], 0x65
je 0x5bb956
cmp dword [ebp + 0x28], 0x5c
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 0x34]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x44], edx
jl 0x5ba762
cmp ecx, 0xfffffffe
jne 0x5ba73f
cmp eax, edx
jl 0x5ba735
mov dword [ebp + 0x34], eax
mov dword [ebp - 0x44], 1
jmp 0x5ba739
or dword [ebp + 0x34], 0xffffffff
or dword [ebp + 8], 0xffffffff
jmp 0x5ba74e
cmp eax, edx
jl 0x5ba74e
cmp dword [ebp - 0xc], edx
jge 0x5ba757
or eax, dword [ebp + 0x3c]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edx
jl 0x5bb956
mov eax, dword [ebp - 0xc]
mov dword [ebp + 0x18], eax
jmp 0x5bb956
cmp dword [ebp + 0x28], 0x57
jne 0x5bb956
mov eax, dword [ebp - 0xc]
cmp eax, edx
jl 0x5bb956
jmp 0x5ba75a
mov dword [ebp + 0x4c], edx
mov byte [ebx], 0x1a
jmp 0x5bb17c
cmp dword [ebp + 0x34], 0xfffffffe
jne 0x5ba78e
or dword [ebp + 0x34], 0xffffffff
mov eax, dword [ebp + 0x34]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x4c], ebx
mov byte [ebx], 0xc
jmp 0x5bb17c
sub eax, 0x3f
je 0x5bb228
sub eax, 0x1c
je 0x5bab66
dec eax
je 0x5ba84a
dec eax
dec eax
je 0x5ba82f
sub eax, 0x1d
je 0x5ba7f8
dec eax
jne 0x5ba7fd
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x34]
mov dword [eax], ecx
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp + 0x60]
mov dword [eax], ebx
mov eax, dword [ebp + 0x64]
mov dword [eax], esi
mov eax, dword [ebp + 0x7c]
cmp eax, edx
je 0x5ba7f0
sub ebx, dword [ebp - 0x10]
add dword [eax], ebx
xor eax, eax
inc eax
jmp 0x5bbad2
cmp dword [ebp + 0x38], edx
jne 0x5ba805
mov al, byte [ebp + 0x44]
jmp 0x5bb185
push dword [ebp + 0x68]
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x24]
push eax
lea eax, [esi + 1]
call fcn.005b8f8a
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp dword [eax], 0
jne 0x5bbac8
jmp 0x5bb232
test byte [ebp + 0x2c], 2
je 0x5ba83f
cmp dword [ebp + 0x34], 0xfffffffe
jne 0x5ba83f
or dword [ebp + 0x34], 0xffffffff
mov dword [ebp + 0x4c], edx
mov byte [ebx], 0x19
jmp 0x5bb17c
push 0
push dword [ebp + 0x2c]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
mov dword [ebp - 0x34], esi
push dword [ebp + 0x68]
push eax
call fcn.005b8c37
mov ecx, dword [ebp + 0x68]
add esp, 0x14
cmp dword [ecx], 0
jne 0x5bbac8
test eax, eax
jge 0x5bb185
mov ecx, eax
neg ecx
cmp ecx, 0x19
jne 0x5ba8a6
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x5ba89a
add eax, 2
cmp byte [eax], 0x45
jne 0x5ba89a
mov dword [ebp + 0x50], eax
jmp 0x5bb956
mov dword [ebp + 0x10], 1
jmp 0x5bb956
cmp ecx, 0x18
je 0x5bb956
cmp dword [ebp + 0x34], 0xfffffffe
jne 0x5ba8c3
cmp ecx, 5
jle 0x5ba8c3
cmp ecx, 0x16
jge 0x5ba8c3
or dword [ebp + 0x34], 0xffffffff
cmp ecx, 0x1a
mov edx, dword [ebp + 0x34]
mov dword [ebp + 8], edx
mov edx, dword [ebp + 0x18]
mov dword [ebp + 0x14], edx
jne 0x5baae6
mov esi, dword [ebp + 0x50]
inc esi
mov dl, byte [esi]
cmp dl, 0x3c
je 0x5ba8f1
cmp dl, 0x27
je 0x5ba8f1
cmp dl, 0x7b
jne 0x5baae6
and dword [ebp + 0x38], 0
mov dword [ebp + 0x50], esi
mov al, byte [esi]
cmp al, 0x3c
jne 0x5ba903
push 0x3e
pop ecx
jmp 0x5ba911
xor ecx, ecx
cmp al, 0x27
setne cl
dec ecx
and ecx, 0xffffffaa
add ecx, 0x7d
mov edx, dword [edi + 0xc]
inc esi
mov dword [ebp + 0x50], esi
movzx eax, byte [esi]
test byte [eax + edx], 0x10
mov dword [ebp + 0x48], esi
je 0x5ba933
mov eax, edx
inc esi
mov dword [ebp + 0x50], esi
movzx edx, byte [esi]
test byte [edx + eax], 0x10
jne 0x5ba926
mov eax, esi
sub eax, dword [ebp + 0x48]
cmp dword [ebp + 0x7c], 0
mov dword [ebp + 0x40], eax
je 0x5ba95b
movzx edx, byte [esi]
cmp edx, ecx
jne 0x5bba28
cmp eax, 0x20
jg 0x5ba517
and dword [ebp + 0x44], 0
jmp 0x5ba9c8
and dword [ebp + 0x4c], 0
cmp dword [edi + 0x28], 0
mov esi, dword [edi + 0x24]
jle 0x5ba98c
push dword [ebp + 0x40]
lea eax, [esi + 2]
push eax
push dword [ebp + 0x48]
call fcn.005cfbd0
add esp, 0xc
test eax, eax
je 0x5ba98c
add esi, dword [edi + 0x2c]
inc dword [ebp + 0x4c]
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jl 0x5ba968
mov eax, dword [ebp + 0x4c]
cmp eax, dword [edi + 0x28]
jge 0x5ba99f
movzx eax, byte [esi + 1]
mov ah, byte [esi]
mov dword [ebp + 0x44], eax
jmp 0x5ba9c8
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x50]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x40]
mov eax, dword [edi + 0x30]
push dword [ebp + 0x48]
call fcn.005b901f
add esp, 0xc
test eax, eax
mov dword [ebp + 0x44], eax
jle 0x5ba09e
cmp dword [ebp + 0x38], 0
je 0x5baaf3
mov eax, dword [edi + 0x14]
xor edx, edx
cmp dword [ebp + 0x7c], edx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x3c], eax
jne 0x5baa54
and byte [ebx], dl
cmp dword [ebp + 0x44], edx
je 0x5ba9fa
push dword [ebp + 0x44]
mov eax, dword [edi + 0x14]
push edx
call fcn.005b9356
pop ecx
pop ecx
mov dword [ebp + 0x3c], eax
cmp eax, edx
jne 0x5baaa1
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x50]
shr eax, 3
and eax, 1
push eax
push dword [ebp + 0x44]
mov eax, dword [edi + 0x30]
push edx
call fcn.005b901f
add esp, 0xc
test eax, eax
jl 0x5ba09e
mov eax, dword [edi + 0x14]
mov ecx, dword [ebp + 0x44]
add ecx, eax
mov dword [ebp + 0x3c], ecx
mov ecx, ebx
sub ecx, eax
mov eax, dword [edi + 0x20]
add ecx, 4
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [edi + 0x20]
mov al, bl
sub al, byte [edi + 0x14]
add al, 4
mov byte [ecx + 1], al
add dword [edi + 0x20], 2
mov eax, dword [ebp + 0x3c]
and byte [ebx + 1], 0
mov byte [ebx], 0x5c
mov byte [ebx + 2], 6
add ebx, 3
mov byte [ebx], 0x51
mov ecx, eax
sub ecx, dword [edi + 0x14]
add ebx, 3
sar ecx, 8
mov byte [ebx - 2], cl
sub al, byte [edi + 0x14]
mov byte [ebx - 1], al
and byte [ebx + 1], 0
mov byte [ebx], 0x54
mov byte [ebx + 2], 6
add ebx, 3
cmp dword [ebp + 0x34], 0xfffffffe
mov dword [ebp - 8], 9
jne 0x5bb956
or dword [ebp + 0x34], 0xffffffff
jmp 0x5bb956
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x5baa54
mov esi, dword [ebp + 0x74]
test esi, esi
je 0x5bba36
mov ecx, dword [esi + 4]
cmp ecx, eax
jb 0x5bba36
push 0
push ebx
push ecx
call fcn.005b9396
add esp, 0xc
test eax, eax
je 0x5baa51
mov esi, dword [esi]
test esi, esi
je 0x5bba36
mov eax, dword [ebp + 0x3c]
jmp 0x5baab8
cmp ecx, 0x1b
jl 0x5bab31
push 0xffffffffffffffe5
pop ecx
sub ecx, eax
mov dword [ebp + 0x44], ecx
cmp dword [ebp + 0x34], 0xfffffffe
jne 0x5baafd
or dword [ebp + 0x34], 0xffffffff
mov ecx, dword [ebp + 0x44]
mov byte [ebx], 0x50
mov dword [ebp + 0x4c], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
xor eax, eax
inc ebx
inc eax
cmp ecx, 0x20
jge 0x5bab1d
shl eax, cl
or dword [edi + 0x38], eax
cmp ecx, dword [edi + 0x34]
jle 0x5bb956
mov dword [edi + 0x34], ecx
jmp 0x5bb956
cmp ecx, 0x15
je 0x5bba44
cmp ecx, 0xe
je 0x5bba44
cmp ecx, 0xf
je 0x5bba44
cmp ecx, 5
jle 0x5bab5b
cmp ecx, 0x16
jge 0x5bab5b
mov dword [ebp + 0x4c], ebx
jmp 0x5bab5f
and dword [ebp + 0x4c], 0
neg al
jmp 0x5bb17a
mov al, byte [esi + 1]
cmp al, 0x3a
mov dword [ebp + 0x4c], ebx
je 0x5bab78
cmp al, 0x2e
je 0x5bab78
cmp al, 0x3d
jne 0x5bab8e
lea eax, [ebp - 0x34]
push eax
mov ecx, edi
mov eax, esi
call fcn.005b94fb
test eax, eax
pop ecx
jne 0x5bba4f
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
cmp esi, 0x5e
jne 0x5babae
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
mov dword [ebp + 0x3c], 1
jmp 0x5babb2
and dword [ebp + 0x3c], 0
and dword [ebp + 0x48], 0
or dword [ebp + 0x38], 0xffffffff
push 0x20
lea eax, [ebp - 0x30]
push 0
push eax
call fcn.005d1d50
add esp, 0xc
test esi, esi
je 0x5bba93
cmp dword [ebp + 0x10], 0
je 0x5babf7
cmp esi, 0x5c
jne 0x5baf5a
mov eax, dword [ebp + 0x50]
inc eax
cmp byte [eax], 0x45
jne 0x5baf5a
and dword [ebp + 0x10], 0
jmp 0x5bad90
cmp esi, 0x5b
jne 0x5bad29
mov eax, dword [ebp + 0x50]
mov al, byte [eax + 1]
cmp al, 0x3a
je 0x5bac16
cmp al, 0x2e
je 0x5bac16
cmp al, 0x3d
jne 0x5baf5a
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp + 0x50]
mov ecx, edi
call fcn.005b94fb
test eax, eax
pop ecx
je 0x5baf5a
mov eax, dword [edi + 8]
and dword [ebp + 0x20], 0
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x3a
jne 0x5bba67
inc eax
inc eax
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5e
jne 0x5bac59
inc eax
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x50], eax
mov ecx, dword [ebp - 0x34]
sub ecx, eax
push ecx
push eax
call fcn.005b9531
test eax, eax
pop ecx
pop ecx
jl 0x5bba72
test byte [ebp + 0x2c], 1
je 0x5bac7c
cmp eax, 2
jg 0x5bac7c
xor eax, eax
lea eax, [eax + eax*2]
mov esi, eax
shl esi, 2
mov eax, dword [esi + 0x5f65c0]
add eax, dword [ebp + 0x14]
push 0x20
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.005d1a10
mov eax, dword [esi + 0x5f65c4]
mov edx, dword [esi + 0x5f65c8]
add esp, 0xc
test eax, eax
jl 0x5bacd5
mov esi, dword [ebp + 0x14]
xor ecx, ecx
add esi, eax
test edx, edx
jl 0x5bacc6
mov al, byte [esi + ecx]
or byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 0x20
jl 0x5bacb7
jmp 0x5bacd5
mov al, byte [esi + ecx]
not al
and byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 0x20
jl 0x5bacc6
xor eax, eax
cmp edx, eax
jge 0x5bacdd
neg edx
cmp edx, 1
jne 0x5bace8
and byte [ebp - 0x73], 0xc3
jmp 0x5bacf1
cmp edx, 2
jne 0x5bacf1
and byte [ebp - 0x69], 0x7f
cmp dword [ebp + 0x20], eax
je 0x5bad08
mov cl, byte [ebp + eax - 0x74]
not cl
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x5bacf6
jmp 0x5bad16
mov cl, byte [ebp + eax - 0x74]
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x5bad08
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x48], 0xa
jmp 0x5bb12d
cmp esi, 0x5c
jne 0x5baf5a
push 1
push dword [ebp + 0x2c]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
push dword [ebp + 0x68]
push eax
call fcn.005b8c37
mov esi, eax
mov eax, dword [ebp + 0x68]
add esp, 0x14
cmp dword [eax], 0
jne 0x5bbac8
mov edx, esi
neg edx
cmp edx, 5
jne 0x5bad64
push 8
jmp 0x5bad74
cmp edx, 0x15
jne 0x5bad6d
push 0x58
jmp 0x5bad74
cmp edx, 0x10
jne 0x5bad7a
push 0x52
pop esi
jmp 0x5baf5a
cmp edx, 0x19
jne 0x5bada4
mov eax, dword [ebp + 0x50]
cmp byte [eax + 1], 0x5c
jne 0x5bad98
add eax, 2
cmp byte [eax], 0x45
jne 0x5bad98
mov dword [ebp + 0x50], eax
jmp 0x5bb12d
mov dword [ebp + 0x10], 1
jmp 0x5bb12d
test esi, esi
jge 0x5baf5a
add dword [ebp + 0x48], 2
cmp dword [ebp + 0x7c], 0
mov eax, dword [edi + 8]
jne 0x5bae81
mov ecx, edx
sub ecx, 6
je 0x5bae6a
dec ecx
je 0x5bae55
dec ecx
je 0x5bae34
dec ecx
je 0x5bae15
dec ecx
je 0x5badfb
dec ecx
je 0x5bade3
sub ecx, 0xd
jmp 0x5baeb1
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x5bade5
jmp 0x5bb12d
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x5badfd
jmp 0x5bb12d
lea ecx, [ebp - 0x30]
xor esi, esi
sub eax, ecx
lea ecx, [ebp + esi - 0x30]
mov dl, byte [eax + ecx]
or byte [ecx], dl
inc esi
cmp esi, 0x20
jl 0x5bae1c
and byte [ebp - 0x2f], 0xf7
jmp 0x5bb12d
lea ecx, [ebp - 0x30]
xor esi, esi
sub eax, ecx
lea ecx, [ebp + esi - 0x30]
mov dl, byte [eax + ecx]
not dl
or byte [ecx], dl
inc esi
cmp esi, 0x20
jl 0x5bae3b
or byte [ebp - 0x2f], 8
jmp 0x5bb12d
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x5bae57
jmp 0x5bb12d
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x30], cl
inc esi
cmp esi, 0x20
jl 0x5bae6c
jmp 0x5bb12d
cmp esi, 0xfffffff9
je 0x5bb12d
cmp esi, 0xfffffffa
je 0x5bb12d
cmp esi, 0xfffffff5
je 0x5bb12d
cmp esi, 0xfffffff6
je 0x5bb12d
cmp esi, 0xfffffff7
je 0x5bb12d
cmp esi, 0xfffffff8
je 0x5bb12d
cmp edx, 0x12
jne 0x5baecd
or byte [ebp - 0x2f], 2
or byte [ebp - 0x2c], 1
or byte [ebp - 0x1c], 1
jmp 0x5bb12d
cmp edx, 0x11
jne 0x5baf05
xor ecx, ecx
mov esi, 0xfe
mov eax, ecx
dec eax
mov edx, 0xff
je 0x5baef1
sub eax, 3
je 0x5baeed
sub eax, 0x10
jne 0x5baef6
mov edx, esi
jmp 0x5baef6
mov edx, 0xfd
or byte [ebp + ecx - 0x30], dl
inc ecx
cmp ecx, 0x20
jl 0x5baed9
jmp 0x5bb12d
cmp edx, 0x14
jne 0x5baf17
or byte [ebp - 0x2f], 0x3c
or byte [ebp - 0x20], 0x20
jmp 0x5bb12d
cmp edx, 0x13
jne 0x5baf46
xor eax, eax
mov edx, eax
dec edx
mov ecx, 0xff
je 0x5baf32
sub edx, 0xf
jne 0x5baf37
add ecx, 0xffffffe0
jmp 0x5baf37
mov ecx, 0xc3
or byte [ebp + eax - 0x30], cl
inc eax
cmp eax, 0x20
jl 0x5baf1e
jmp 0x5bb12d
test byte [ebp + 0x2c], 0x40
jne 0x5bba7d
mov eax, dword [ebp + 0x50]
sub dword [ebp + 0x48], 2
movzx esi, byte [eax]
mov eax, dword [ebp + 0x50]
jmp 0x5baf70
lea ecx, [eax + 2]
cmp byte [ecx], 0x45
jne 0x5baf76
and dword [ebp + 0x10], 0
mov eax, ecx
mov dword [ebp + 0x50], eax
cmp byte [eax + 1], 0x5c
je 0x5baf5f
cmp dword [ebp + 0x10], 0
mov edx, eax
mov dword [ebp + 0x20], edx
jne 0x5bb0ec
cmp byte [eax + 1], 0x2d
jne 0x5bb0ec
push 2
pop ecx
add eax, ecx
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5c
jne 0x5bafd7
cmp byte [eax + 1], 0x45
jne 0x5bafc9
add eax, ecx
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5c
je 0x5baf9c
jmp 0x5bafc9
cmp byte [eax + 1], 0x51
jne 0x5bafd7
add eax, ecx
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5c
jne 0x5bafd0
cmp byte [eax + 1], 0x45
jne 0x5bafd0
add eax, ecx
mov dword [ebp + 0x50], eax
cmp byte [eax], 0x5c
je 0x5bafae
jmp 0x5bafd7
mov dword [ebp + 0x10], 1
mov al, byte [eax]
test al, al
je 0x5bb0e9
cmp dword [ebp + 0x10], 0
jne 0x5bafef
cmp al, 0x5d
je 0x5bb0e9
cmp dword [ebp + 0x10], 0
movzx eax, al
mov dword [ebp + 0x40], eax
jne 0x5bb03d
cmp eax, 0x5c
jne 0x5bb03d
push 1
push dword [ebp + 0x2c]
lea eax, [ebp + 0x50]
push dword [edi + 0x30]
push dword [ebp + 0x68]
push eax
call fcn.005b8c37
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x68]
add esp, 0x14
cmp dword [eax], 0
jne 0x5bbac8
mov eax, dword [ebp + 0x40]
test eax, eax
jge 0x5bb03d
cmp eax, 0xfffffffb
jne 0x5bb0bf
mov dword [ebp + 0x40], 8
mov eax, dword [ebp + 0x40]
cmp eax, esi
jl 0x5bba88
je 0x5bb0ec
mov edx, dword [ebp + 0x48]
mov ecx, eax
sub ecx, esi
cmp dword [ebp + 0x7c], 0
lea ecx, [edx + ecx + 1]
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x38], eax
jne 0x5bb12d
cmp esi, eax
jg 0x5bb12d
mov eax, dword [ebp + 0x2c]
and eax, 1
mov dword [ebp + 0x20], eax
mov eax, esi
cdq
push 8
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
mov dl, 1
shl dl, cl
lea eax, [ebp + eax - 0x30]
or byte [eax], dl
cmp dword [ebp + 0x20], 0
je 0x5bb0b7
mov eax, dword [edi + 4]
movzx eax, byte [eax + esi]
mov dword [ebp - 4], eax
cdq
push 8
pop ecx
idiv ecx
mov ecx, dword [ebp - 4]
and ecx, 7
mov dl, 1
shl dl, cl
lea eax, [ebp + eax - 0x30]
or byte [eax], dl
inc esi
cmp esi, dword [ebp + 0x40]
jle 0x5bb07a
jmp 0x5bb12d
cmp eax, 0xffffffeb
jne 0x5bb0d0
mov dword [ebp + 0x40], 0x58
jmp 0x5bb03d
cmp eax, 0xfffffff0
jne 0x5bb0e1
mov dword [ebp + 0x40], 0x52
jmp 0x5bb03d
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x50], eax
jmp 0x5bb0ec
mov dword [ebp + 0x50], edx
mov eax, esi
cdq
push 8
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
mov dl, 1
shl dl, cl
lea eax, [ebp + eax - 0x30]
or byte [eax], dl
test byte [ebp + 0x2c], 1
je 0x5bb127
mov eax, dword [edi + 4]
movzx esi, byte [eax + esi]
mov eax, esi
cdq
push 8
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
mov dl, 1
shl dl, cl
lea eax, [ebp + eax - 0x30]
or byte [eax], dl
inc dword [ebp + 0x48]
mov dword [ebp + 0x38], esi
inc dword [ebp + 0x50]
mov eax, dword [ebp + 0x50]
movzx esi, byte [eax]
test esi, esi
je 0x5bba93
cmp esi, 0x5d
jne 0x5babd2
cmp dword [ebp + 0x10], 0
jne 0x5babd8
cmp dword [ebp + 0x48], 1
jne 0x5bb1d0
cmp dword [ebp + 0x3c], 0
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
je 0x5bb182
cmp dword [ebp + 0x34], 0xfffffffe
jne 0x5bb16d
or dword [ebp + 0x34], 0xffffffff
mov eax, dword [ebp + 0x34]
mov dword [ebp + 8], eax
mov al, byte [ebp + 0x38]
mov byte [ebx], 0x1d
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x5bb956
mov al, byte [ebp + 0x38]
test byte [ebp + 0x2c], 1
mov dword [ebp + 0x4c], ebx
setne cl
add cl, 0x1b
mov byte [ebx], cl
mov ecx, dword [ebp + 0x34]
inc ebx
mov byte [ebx], al
inc ebx
cmp ecx, 0xfffffffe
jne 0x5bb1b8
or dword [ebp + 8], 0xffffffff
mov ecx, dword [ebp + 0x18]
movzx eax, al
or eax, dword [ebp - 0x3c]
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x34], eax
jmp 0x5bb956
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x40]
mov dword [ebp + 8], ecx
or eax, dword [ebp - 0x3c]
jmp 0x5ba75a
cmp dword [ebp + 0x34], 0xfffffffe
jne 0x5bb1da
or dword [ebp + 0x34], 0xffffffff
cmp dword [ebp + 0x3c], 0
mov eax, dword [ebp + 0x34]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
je 0x5bb20d
mov byte [ebx], 0x4e
inc ebx
cmp dword [ebp + 0x7c], 0
jne 0x5bb220
lea eax, [ebp - 0x30]
push 0x20
mov esi, ebx
sub eax, ebx
pop ecx
mov dl, byte [eax + esi]
not dl
mov byte [esi], dl
inc esi
dec ecx
jne 0x5bb200
jmp 0x5bb220
push 0x20
lea eax, [ebp - 0x30]
mov byte [ebx], 0x4d
push eax
inc ebx
push ebx
call fcn.005d1a10
add esp, 0xc
add ebx, 0x20
jmp 0x5bb956
mov dword [ebp + 0x30], 1
mov dword [ebp + 0x24], edx
cmp dword [ebp + 0x4c], 0
je 0x5bba9e
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x5bb24f
mov ecx, dword [ebp + 8]
mov dword [ebp + 0x34], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 0x18], ecx
sub eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x50]
neg eax
sbb eax, eax
and dword [ebp + 0x38], 0
and dword [ebp + 0x3c], 0
and eax, 0x200
mov esi, edx
inc ecx
mov dword [ebp - 0x54], eax
mov dword [ebp + 0x1c], esi
mov al, byte [ecx]
cmp al, 0x2b
jne 0x5bb286
xor eax, eax
mov dword [ebp + 0x3c], 1
mov dword [ebp + 0x50], ecx
jmp 0x5bb295
cmp al, 0x3f
jne 0x5bb292
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 0x50], ecx
jmp 0x5bb295
mov eax, dword [ebp - 0x50]
mov cl, byte [edx]
cmp cl, 0x1b
mov dword [ebp + 0x48], eax
je 0x5bb6cf
cmp cl, 0x1c
je 0x5bb6cf
cmp cl, 0x1d
jne 0x5bb2e9
cmp dword [ebp + 0x3c], 0
movzx eax, byte [edx + 1]
mov dword [ebp + 0x38], 0xd
mov dword [ebp + 0x44], eax
jne 0x5bb71f
cmp dword [ebp + 0x30], 0
jge 0x5bb71f
push dword [ebp + 0x2c]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x44]
push 0x1d
jmp 0x5bb706
cmp cl, 0x16
jae 0x5bb324
cmp dword [ebp + 0x3c], 0
movzx eax, cl
mov dword [ebp + 0x38], 0x1a
mov dword [ebp + 0x44], eax
jne 0x5bb71f
cmp dword [ebp + 0x30], 0
jge 0x5bb71f
push dword [ebp + 0x2c]
mov eax, dword [ebp + 0x50]
inc eax
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp + 0x44]
jmp 0x5bb706
cmp cl, 0x4d
je 0x5bb658
cmp cl, 0x4e
je 0x5bb658
cmp cl, 0x50
je 0x5bb658
cmp cl, 0x5d
je 0x5bb357
cmp cl, 0x5e
je 0x5bb357
cmp cl, 0x5c
je 0x5bb357
cmp cl, 0x5f
jne 0x5bbaa9
and dword [ebp - 4], 0
and dword [ebp + 0x44], 0
mov eax, ebx
sub eax, edx
cmp cl, 0x5f
mov dword [ebp + 0x40], eax
jne 0x5bb375
cmp byte [edx + 3], 0x65
je 0x5bbab4
cmp eax, 0x7530
jg 0x5bbabf
cmp dword [ebp + 0x30], 0xffffffff
jne 0x5bb39e
mov eax, edx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x54
jne 0x5bb388
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 4], ecx
cmp dword [ebp + 0x24], 0
jne 0x5bb430
cmp dword [ebp + 0x30], 0
jne 0x5bb3b5
mov ebx, edx
jmp 0x5bb949
push dword [ebp + 4]
and byte [ebx], 0
cmp dword [ebp + 0x30], 1
mov esi, dword [ebp + 0x4c]
push edi
push 0
jg 0x5bb3ec
push 1
push esi
call fcn.005b956f
push dword [ebp + 0x40]
inc esi
push dword [ebp + 0x4c]
push esi
call fcn.005cceb0
mov al, byte [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
add esp, 0x20
inc ebx
add al, 0x66
mov byte [ecx], al
jmp 0x5bb41f
push 4
push esi
call fcn.005b956f
push dword [ebp + 0x40]
lea eax, [esi + 4]
push esi
push eax
call fcn.005cceb0
mov al, byte [ebp + 0x48]
add al, 0x66
mov byte [esi], al
add esp, 0x20
add ebx, 4
inc esi
mov byte [esi], 0x5d
and byte [esi + 2], 0
inc esi
and byte [esi], 0
mov dword [ebp + 0x44], esi
inc esi
inc esi
dec dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x4c], esi
mov esi, dword [ebp + 0x1c]
jmp 0x5bb4cd
cmp dword [ebp + 0x24], 1
jle 0x5bb4c0
mov eax, dword [ebp + 0x7c]
test eax, eax
je 0x5bb44d
mov ecx, dword [ebp + 0x24]
dec ecx
imul ecx, dword [ebp - 8]
add dword [eax], ecx
jmp 0x5bb4c0
cmp dword [ebp - 0x44], 0
je 0x5bb45f
cmp dword [ebp + 0x18], 0
jge 0x5bb45f
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x18], eax
cmp dword [ebp + 0x24], 1
jle 0x5bb4c0
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 4]
dec eax
mov dword [ebp + 0x20], eax
push dword [ebp + 0x40]
mov eax, dword [edi + 0x20]
push dword [ebp + 0x4c]
mov dword [ebp + 0x38], eax
push ebx
call fcn.005d1a10
add esp, 0xc
jmp 0x5bb4aa
mov ecx, dword [edi + 0x20]
xor eax, eax
mov ah, byte [esi]
mov al, byte [esi + 1]
add eax, dword [ebp + 0x40]
sar eax, 8
mov byte [ecx], al
mov al, byte [esi + 1]
add al, byte [ebp + 0x40]
mov ecx, dword [edi + 0x20]
mov byte [ecx + 1], al
add dword [edi + 0x20], 2
inc esi
inc esi
cmp esi, dword [ebp + 0x38]
jb 0x5bb486
mov esi, dword [ebp + 0x38]
add ebx, dword [ebp + 0x40]
dec dword [ebp + 0x20]
mov dword [ebp + 4], esi
jne 0x5bb46f
mov esi, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x30]
test eax, eax
jle 0x5bb4cf
sub eax, dword [ebp + 0x24]
mov dword [ebp + 0x30], eax
test eax, eax
jl 0x5bb5f6
mov ecx, dword [ebp + 0x7c]
test ecx, ecx
je 0x5bb4f3
test eax, eax
jle 0x5bb4f3
mov edx, dword [ebp - 8]
add edx, 7
imul edx, eax
sub edx, 6
add dword [ecx], edx
jmp 0x5bb5ae
dec eax
test eax, eax
mov dword [ebp + 0x28], eax
jl 0x5bb5ae
mov al, byte [ebp + 0x48]
add al, 0x66
mov byte [ebp + 2], al
mov esi, dword [edi + 0x20]
mov al, byte [ebp + 2]
mov byte [ebx], al
inc ebx
cmp dword [ebp + 0x28], 0
mov dword [ebp + 0x20], esi
je 0x5bb539
mov eax, dword [ebp + 0x44]
mov byte [ebx], 0x5d
inc ebx
mov ecx, ebx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, eax
sar ecx, 8
mov dword [ebp + 0x44], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push dword [ebp + 0x40]
push dword [ebp + 0x4c]
push ebx
call fcn.005d1a10
mov eax, dword [ebp + 4]
add esp, 0xc
cmp eax, esi
jae 0x5bb59c
mov esi, dword [ebp + 0x28]
neg esi
sbb esi, esi
and esi, 3
inc esi
cmp dword [ebp + 0x28], 0
sete cl
dec cl
and cl, 3
inc cl
mov byte [ebp + 3], cl
mov edx, dword [edi + 0x20]
xor ecx, ecx
mov ch, byte [eax]
mov cl, byte [eax + 1]
add ecx, esi
add ecx, dword [ebp + 0x40]
sar ecx, 8
mov byte [edx], cl
mov cl, byte [ebp + 3]
add cl, byte [ebp + 0x40]
mov edx, dword [edi + 0x20]
add cl, byte [eax + 1]
mov byte [edx + 1], cl
add dword [edi + 0x20], 2
inc eax
inc eax
cmp eax, dword [ebp + 0x20]
jb 0x5bb56b
mov esi, dword [ebp + 0x20]
add ebx, dword [ebp + 0x40]
dec dword [ebp + 0x28]
mov dword [ebp + 4], esi
jns 0x5bb507
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x44], 0
je 0x5bb859
mov esi, dword [ebp + 0x44]
xor edx, edx
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [ebx], 0x54
mov byte [ebx + 2], cl
sub esi, edx
mov dword [ebp + 0x20], edx
neg edx
sbb edx, edx
and esi, edx
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
inc ebx
inc ebx
test esi, esi
mov byte [eax + 1], dl
mov byte [eax + 2], cl
jne 0x5bb5bb
jmp 0x5bb856
xor eax, eax
mov esi, ebx
sub esi, dword [ebp - 4]
mov ah, byte [esi + 1]
mov edi, esi
mov al, byte [esi + 2]
sub edi, eax
mov al, byte [ebp + 0x48]
add al, 0x55
cmp dword [ebp + 0x7c], 0
mov byte [esi], al
jne 0x5bb856
cmp byte [edi], 0x5c
je 0x5bb856
mov dword [ebp + 0x38], edi
push 0
push esi
push dword [ebp + 0x38]
call fcn.005b9396
add esp, 0xc
test eax, eax
jne 0x5bb650
mov eax, dword [ebp + 0x38]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
mov dword [ebp + 0x38], eax
je 0x5bb624
jmp 0x5bb856
add byte [edi], 3
jmp 0x5bb856
cmp dword [ebp + 0x30], 0
je 0x5bb3ae
mov ecx, dword [ebp + 0x30]
xor esi, esi
inc esi
cmp ecx, esi
je 0x5bb66f
mov dword [edi + 0x44], esi
cmp dword [ebp + 0x24], 0
jne 0x5bb681
cmp ecx, 0xffffffff
jne 0x5bb693
add al, 0x45
jmp 0x5bb853
cmp dword [ebp + 0x24], 1
jne 0x5bb69e
cmp ecx, 0xffffffff
jne 0x5bb69e
add al, 0x47
jmp 0x5bb853
cmp ecx, esi
jne 0x5bb69e
add al, 0x49
jmp 0x5bb853
add al, 0x4b
mov byte [ebx], al
mov eax, dword [ebp + 0x24]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp ecx, 0xffffffff
jne 0x5bb6be
and dword [ebp + 0x30], 0
mov ecx, dword [ebp + 0x30]
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x5bb856
cmp dword [ebp + 0x24], 1
movzx esi, byte [ebx - 1]
mov dword [ebp + 0x44], esi
jle 0x5bb6e7
mov eax, dword [edi + 0x40]
or eax, esi
or eax, dword [ebp - 0x3c]
mov dword [ebp + 0x18], eax
cmp dword [ebp + 0x3c], 0
jne 0x5bb71f
cmp dword [ebp + 0x30], 0
jge 0x5bb71f
push dword [ebp + 0x2c]
mov eax, dword [ebp + 0x50]
inc eax
push eax
push 0
push 0
push dword [ebp + 0x44]
movzx eax, cl
push eax
mov esi, edi
call fcn.005b960f
add esp, 0x18
test eax, eax
je 0x5bb71f
and dword [ebp + 0x48], 0
mov dword [ebp + 0x3c], 1
mov eax, dword [ebp + 0x4c]
mov cl, byte [eax]
cmp cl, 0xf
je 0x5bb738
cmp cl, 0xe
je 0x5bb738
or dword [ebp + 0x28], 0xffffffff
or dword [ebp + 0x40], 0xffffffff
jmp 0x5bb746
movzx ecx, byte [eax + 1]
mov dword [ebp + 0x40], ecx
movzx ecx, byte [eax + 2]
mov dword [ebp + 0x28], ecx
cmp dword [ebp + 0x30], 0
mov esi, ebx
mov ebx, eax
je 0x5bb949
mov edx, dword [ebp + 0x30]
xor eax, eax
inc eax
cmp edx, eax
je 0x5bb761
mov dword [edi + 0x44], eax
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x38]
add eax, ecx
cmp dword [ebp + 0x24], 0
mov dword [ebp + 0x48], eax
jne 0x5bb796
cmp edx, 0xffffffff
jne 0x5bb77b
add al, 0x1e
jmp 0x5bb7a3
cmp edx, 1
mov ebx, dword [ebp + 0x4c]
je 0x5bb838
add al, 0x24
mov byte [ebx], al
inc ebx
mov eax, edx
mov byte [ebx + 1], dl
jmp 0x5bb849
cmp dword [ebp + 0x24], 1
jne 0x5bb7d5
cmp edx, 0xffffffff
jne 0x5bb7ae
add al, 0x20
mov ebx, dword [ebp + 0x4c]
mov byte [ebx], al
inc ebx
jmp 0x5bb850
cmp edx, 1
mov ebx, esi
je 0x5bb949
mov al, byte [ebp + 0x48]
add al, 0x24
mov byte [esi], al
mov eax, dword [ebp + 0x30]
lea ecx, [eax - 1]
sar ecx, 8
lea ebx, [esi + 1]
dec al
mov byte [ebx], cl
mov byte [ebx + 1], al
jmp 0x5bb84e
mov ebx, dword [ebp + 0x4c]
add cl, 0x26
mov byte [ebx], cl
mov ecx, dword [ebp + 0x24]
inc ebx
sar ecx, 8
mov byte [ebx], cl
mov cl, byte [ebp + 0x24]
mov byte [ebx + 1], cl
inc ebx
inc ebx
test edx, edx
jge 0x5bb80c
mov cl, byte [ebp + 0x44]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x40]
inc ebx
test ecx, ecx
jl 0x5bb808
mov byte [ebx], cl
mov cl, byte [ebp + 0x28]
inc ebx
mov byte [ebx], cl
inc ebx
add al, 0x1e
jmp 0x5bb7a6
mov ecx, dword [ebp + 0x24]
cmp dword [ebp + 0x30], ecx
je 0x5bb850
mov cl, byte [ebp + 0x44]
mov byte [ebx], cl
mov ecx, dword [ebp + 0x40]
inc ebx
test ecx, ecx
jl 0x5bb82a
mov byte [ebx], cl
mov cl, byte [ebp + 0x28]
inc ebx
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 0x30]
sub ecx, dword [ebp + 0x24]
cmp ecx, 1
mov dword [ebp + 0x30], ecx
jne 0x5bb83f
add al, 0x22
jmp 0x5bb7a6
add al, 0x24
mov byte [ebx], al
inc ebx
mov eax, ecx
mov byte [ebx + 1], cl
sar eax, 8
mov byte [ebx], al
inc ebx
inc ebx
mov al, byte [ebp + 0x44]
mov byte [ebx], al
inc ebx
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x3c], 0
je 0x5bb949
mov al, byte [esi]
cmp al, 0x26
je 0x5bb871
cmp al, 0x40
je 0x5bb871
cmp al, 0x33
jne 0x5bb880
movzx eax, al
movzx eax, byte [eax + 0x5f70b8]
add esi, eax
mov dword [ebp + 0x1c], esi
mov eax, ebx
sub eax, esi
test eax, eax
mov dword [ebp + 0x20], eax
jle 0x5bb949
movzx eax, byte [esi]
cmp eax, 0x2f
jg 0x5bb8df
je 0x5bb8da
sub eax, 0x1e
je 0x5bb8d5
push 2
pop ecx
sub eax, ecx
je 0x5bb8d0
sub eax, ecx
je 0x5bb8cb
sub eax, ecx
je 0x5bb8c6
sub eax, 7
je 0x5bb8be
sub eax, ecx
jne 0x5bb8f5
mov byte [esi], 0x35
jmp 0x5bb949
mov byte [esi], 0x34
jmp 0x5bb949
mov byte [esi], 0x2a
jmp 0x5bb949
mov byte [esi], 0x29
jmp 0x5bb949
mov byte [esi], 0x28
jmp 0x5bb949
mov byte [esi], 0x27
jmp 0x5bb949
mov byte [esi], 0x36
jmp 0x5bb949
sub eax, 0x31
je 0x5bb946
sub eax, 7
je 0x5bb941
dec eax
dec eax
je 0x5bb93c
dec eax
dec eax
je 0x5bb937
dec eax
dec eax
je 0x5bb932
push dword [ebp + 0x20]
push esi
add esi, 3
push esi
call fcn.005cceb0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov byte [eax], 0x5c
add ecx, 3
add ebx, 3
mov byte [ebx], 0x54
add esp, 0xc
inc ebx
mov byte [ebx + 1], cl
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp + 0x1c]
mov byte [edx + 1], al
mov eax, dword [ebp + 0x1c]
inc ebx
inc ebx
mov byte [eax + 2], cl
jmp 0x5bb949
mov byte [esi], 0x44
jmp 0x5bb949
mov byte [esi], 0x43
jmp 0x5bb949
mov byte [esi], 0x42
jmp 0x5bb949
mov byte [esi], 0x41
jmp 0x5bb949
mov byte [esi], 0x37
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp + 0x78]
and dword [ebp + 0x4c], 0
or dword [edi + 0x40], eax
inc dword [ebp + 0x50]
mov esi, dword [ebp + 0x50]
xor ecx, ecx
jmp 0x5b9c26
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x34
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
inc dword [ebp + 0x50]
mov dword [eax], 0x1c
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
dec esi
mov dword [ebp + 0x50], esi
mov dword [eax], 0x1a
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
dec esi
mov dword [eax], 0xc
mov dword [ebp + 0x50], esi
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1d
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x3a
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x27
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x26
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x31
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
inc esi
mov dword [ebp + 0x50], esi
mov dword [eax], 0x18
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x36
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1b
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xe
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2a
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x28
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x2d
jmp 0x5bbac8
mov ecx, dword [ebp + 0x50]
xor eax, eax
cmp byte [ecx + 1], 0x3a
setne al
dec eax
and eax, 0xffffffee
add eax, 0x1f
jmp 0x5ba1b1
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1f
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x1e
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 7
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 8
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 6
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 9
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0xb
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x37
jmp 0x5bbac8
mov eax, dword [ebp + 0x68]
mov dword [eax], 0x32
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x64]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret