Function at 0x5a66e8
Capabilities:
Check http status code
Encode data using base64
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x60]
sub esp, 0x478
mov eax, dword [0x67e540]
or dword [ebp - 0xc0], 0xffffffff
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x74]
push edi
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x80], 3
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xc4], edi
jne 0x5a6757
mov eax, dword [ebp + 0x70]
cmp eax, edi
je 0x5a6750
mov dword [eax], 0x63
xor eax, eax
jmp 0x5a77cd
mov dword [eax], edi
mov eax, dword [ebp + 0x70]
cmp eax, edi
je 0x5a6762
mov dword [eax], edi
push ebx
push esi
mov esi, dword [ebp + 0x78]
cmp esi, edi
jne 0x5a6773
push 0x10
pop ecx
jmp 0x5a753c
mov eax, dword [ebp + 0x6c]
mov ebx, dword [ebp + 0x68]
shr eax, 0xb
and eax, 1
mov dword [esi], edi
mov dword [ebp - 0xb4], eax
je 0x5a67a3
test byte [ebp + 0x6d], 0x20
jne 0x5a67a3
push 0xffffffffffffffff
push ebx
call fcn.005cfcf8
cmp eax, edi
pop ecx
pop ecx
mov dword [esi], eax
jl 0x5a67a3
push 0x2c
jmp 0x5a676d
test dword [ebp + 0x6c], 0xfffb8580
je 0x5a67b0
push 0x11
jmp 0x5a676d
mov eax, dword [ebp + 0x7c]
cmp eax, edi
jne 0x5a67bf
mov eax, 0x63f458
mov dword [ebp + 0x7c], eax
lea ecx, [eax + 0x100]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf8], eax
lea ecx, [eax + 0x200]
add eax, 0x340
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edi
movzx esi, byte [ebx]
cmp esi, edi
jmp 0x5a6f73
xor edi, edi
cmp dword [ebp - 0xac], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
je 0x5a6827
test byte [ebp + 0x6d], 0x40
je 0x5a6df2
add dword [ebp - 0x80], 6
jmp 0x5a6df2
test byte [ebp + 0x6c], 8
je 0x5a6879
cmp esi, 0x100
jge 0x5a6847
mov eax, dword [ebp - 0xec]
test byte [esi + eax], 1
jne 0x5a6f6d
jmp 0x5a6856
push esi
call fcn.0059f59f
cmp al, 1
pop ecx
je 0x5a6f6d
cmp esi, 0x23
jne 0x5a6877
inc ebx
movzx eax, byte [ebx]
test eax, eax
je 0x5a6f7f
push eax
call fcn.0059f57b
test al, al
pop ecx
je 0x5a685b
jmp 0x5a6f6d
xor edi, edi
inc dword [ebp - 0xc0]
test byte [ebp + 0x6d], 0x40
je 0x5a68b1
cmp esi, 0x2a
je 0x5a68b1
cmp esi, 0x2b
je 0x5a68b1
cmp esi, 0x3f
je 0x5a6da1
cmp esi, 0x7b
jne 0x5a68ad
lea eax, [ebx + 1]
call fcn.005a4413
test eax, eax
jne 0x5a6da9
add dword [ebp - 0x80], 6
cmp esi, 0x3f
jg 0x5a6da9
je 0x5a6da1
cmp esi, 0x24
je 0x5a6ee8
cmp esi, 0x28
je 0x5a694b
cmp esi, 0x29
je 0x5a6915
jle 0x5a68e7
cmp esi, 0x2b
jle 0x5a6da1
cmp esi, 0x2e
je 0x5a6ee8
add dword [ebp - 0x80], 2
cmp dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 1
je 0x5a6f6d
mov eax, esi
and ax, 0xc0
cmp al, 0xc0
jne 0x5a6f6d
jmp 0x5a6e2b
mov eax, dword [ebp - 0xc4]
add dword [ebp - 0x80], 3
cmp eax, edi
jbe 0x5a6944
mov esi, dword [ebp - 0x80]
dec eax
sub esi, dword [ebp + eax*4 - 0x418]
mov dword [ebp - 0xc4], eax
movzx eax, byte [ebp + eax - 0x7c]
mov dword [ebp - 0xa8], eax
jmp 0x5a6b19
xor esi, esi
jmp 0x5a6b19
push 3
lea ecx, [ebx + 1]
cmp byte [ecx], 0x3f
pop esi
mov dword [ebp - 0x8c], esi
jne 0x5a6d35
lea edx, [ebx + 2]
movzx eax, byte [edx]
cmp eax, 0x3c
jg 0x5a6aac
je 0x5a6a92
cmp eax, 0x21
je 0x5a6c6f
cmp eax, 0x23
je 0x5a6a6f
cmp eax, 0x28
je 0x5a69fb
cmp eax, 0x2f
jle 0x5a69a3
cmp eax, 0x39
jle 0x5a6adb
cmp eax, 0x3a
je 0x5a6c6f
xor esi, esi
push 2
mov ebx, edx
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x90], esi
lea eax, [ebp - 0x90]
pop edx
movzx ecx, byte [ebx]
cmp ecx, 0x58
jg 0x5a6c83
je 0x5a6c7e
cmp ecx, 0x29
je 0x5a6cb2
cmp ecx, 0x2d
je 0x5a6c76
cmp ecx, 0x3a
je 0x5a6ce8
cmp ecx, 0x55
jne 0x5a7523
or byte [eax + 1], 2
jmp 0x5a6cac
mov dl, byte [ebx + 3]
cmp dl, 0x52
jne 0x5a6a12
lea eax, [ebx + 4]
cmp byte [eax], 0x29
jne 0x5a6a12
mov ebx, eax
jmp 0x5a6aa4
movzx eax, dl
test byte [eax + 0x62b620], 4
je 0x5a6a43
add ebx, 4
add dword [ebp - 0x80], esi
jmp 0x5a6a27
inc ebx
movzx eax, byte [ebx]
test byte [eax + 0x62b620], 4
jne 0x5a6a26
cmp byte [ebx], 0x29
je 0x5a6d61
push 0x1a
jmp 0x5a755a
mov ebx, ecx
cmp byte [ebx + 2], 0x3f
jne 0x5a6a66
mov al, byte [ebx + 3]
cmp al, 0x3d
je 0x5a6d61
cmp al, 0x21
je 0x5a6d61
cmp al, 0x3c
je 0x5a6d61
inc ebx
inc ebx
push 0x1c
jmp 0x5a755a
add ebx, esi
mov al, byte [ebx]
test al, al
je 0x5a6a8b
cmp al, 0x29
je 0x5a6a82
inc ebx
mov al, byte [ebx]
test al, al
jne 0x5a6a77
cmp byte [ebx], 0
jne 0x5a6f6d
push 0x12
jmp 0x5a755a
add ebx, esi
mov al, byte [ebx]
cmp al, 0x3d
je 0x5a6aa2
cmp al, 0x21
jne 0x5a7517
mov edi, esi
add dword [ebp - 0x80], esi
jmp 0x5a6d61
cmp eax, 0x3d
jl 0x5a69a3
cmp eax, 0x3e
jle 0x5a6c6f
cmp eax, 0x43
je 0x5a6c50
cmp eax, 0x50
je 0x5a6be1
cmp eax, 0x52
jne 0x5a69a3
mov ebx, ecx
inc ebx
inc ebx
cmp eax, 0x52
je 0x5a6aef
inc ebx
movzx eax, byte [ebx]
test byte [eax + 0x62b620], 4
jne 0x5a6ae2
cmp byte [ebx], 0x29
jne 0x5a751b
mov al, byte [ebx + 1]
add dword [ebp - 0x80], esi
cmp al, 0x2b
je 0x5a6b12
cmp al, 0x2a
je 0x5a6b12
cmp al, 0x3f
je 0x5a6b12
cmp al, 0x7b
jne 0x5a6f6d
add dword [ebp - 0x80], 6
push 0xb
pop esi
lea ecx, [ebx + 1]
movzx eax, byte [ecx]
cmp eax, 0x7b
jne 0x5a6b73
lea edi, [ebx + 2]
mov eax, edi
call fcn.005a4413
test eax, eax
je 0x5a6bbe
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
mov eax, edi
call fcn.005a4475
mov ecx, dword [ebp - 0x88]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x5a7534
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
jmp 0x5a6bc3
cmp eax, 0x2a
jne 0x5a6b7d
or eax, 0xffffffff
jmp 0x5a6bba
cmp eax, 0x2b
jne 0x5a6bb2
xor edx, edx
inc edx
or eax, 0xffffffff
mov ebx, ecx
lea ecx, [edx - 1]
imul ecx, esi
add dword [ebp - 0x80], ecx
cmp eax, edx
jle 0x5a6ed1
mov ecx, dword [ebp - 0x80]
sub eax, edx
add esi, 7
imul eax, esi
lea eax, [ecx + eax - 6]
mov dword [ebp - 0x80], eax
jmp 0x5a6ed1
cmp eax, 0x3f
jne 0x5a6bbe
xor eax, eax
inc eax
mov ebx, ecx
jmp 0x5a6bc7
xor eax, eax
inc eax
mov edx, eax
test edx, edx
jne 0x5a6b8a
inc dword [ebp - 0x80]
test eax, eax
jle 0x5a6ed1
add esi, 7
dec eax
imul esi, eax
add dword [ebp - 0x80], esi
jmp 0x5a6ed1
add ebx, esi
mov al, byte [ebx]
cmp al, 0x3c
jne 0x5a6c24
mov eax, dword [ebp - 0xec]
inc ebx
mov ecx, ebx
jmp 0x5a6bf5
inc ebx
movzx edx, byte [ebx]
test byte [edx + eax], 0x10
jne 0x5a6bf4
cmp byte [ebx], 0x3e
jne 0x5a6c49
inc dword [ebp - 0xb0]
mov eax, ebx
sub eax, ecx
cmp eax, dword [ebp - 0xb8]
jle 0x5a6d48
mov dword [ebp - 0xb8], eax
jmp 0x5a6d48
cmp al, 0x3d
je 0x5a6c30
cmp al, 0x3e
jne 0x5a751f
mov ecx, dword [ebp - 0xec]
inc ebx
movzx eax, byte [ebx]
test byte [eax + ecx], 0x10
jne 0x5a6c30
cmp byte [ebx], 0x29
je 0x5a6d61
push 0x2a
jmp 0x5a755a
mov ebx, edx
inc ebx
movzx eax, byte [ebx]
test byte [eax + 0x62b620], 4
jne 0x5a6c52
cmp byte [ebx], 0x29
je 0x5a6edf
push 0x27
jmp 0x5a755a
mov ebx, edx
jmp 0x5a6d61
lea eax, [ebp - 0x9c]
jmp 0x5a6cac
or dword [eax], 0x40
jmp 0x5a6cac
cmp ecx, 0x69
je 0x5a6ca9
cmp ecx, 0x6d
je 0x5a6ca5
cmp ecx, 0x73
je 0x5a6ca0
cmp ecx, 0x78
jne 0x5a7523
or dword [eax], 8
jmp 0x5a6cac
or dword [eax], 4
jmp 0x5a6cac
or dword [eax], edx
jmp 0x5a6cac
or dword [eax], 1
inc ebx
jmp 0x5a69bc
cmp dword [ebp - 0xc0], esi
jne 0x5a6ce8
mov eax, dword [ebp - 0x90]
or eax, dword [ebp + 0x6c]
mov esi, dword [ebp - 0x9c]
and dword [ebp - 0x9c], 0
and dword [ebp - 0x90], 0
or dword [ebp - 0xc0], 0xffffffff
not esi
and eax, esi
add dword [ebp - 0x80], edx
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0x90]
test al, 7
je 0x5a6d06
add dword [ebp - 0x80], 4
test al, 1
mov edi, edx
je 0x5a6d06
or byte [ebp + 0x6f], 8
cmp ecx, 0x29
jne 0x5a6d61
cmp edi, edx
jne 0x5a6f6d
cmp dword [ebp - 0xa8], 0
je 0x5a6d29
cmp dword [ebp - 0xa8], 3
jne 0x5a6f6d
add dword [ebp - 0xa8], 2
jmp 0x5a6f6d
mov eax, dword [ebp + 0x6c]
shr eax, 0xc
not eax
and eax, 1
mov dword [ebp - 0xbc], eax
je 0x5a6d61
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 0x64
jle 0x5a6d61
mov dword [ebp - 0x8c], 6
mov eax, dword [ebp - 0xc4]
cmp eax, 0xc8
jae 0x5a7527
mov cl, byte [ebp - 0xa8]
mov byte [ebp + eax - 0x7c], cl
mov ecx, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x418], ecx
inc eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x8c]
add dword [ebp - 0x80], eax
mov dword [ebp - 0xa8], edi
jmp 0x5a6f6d
inc dword [ebp - 0x80]
jmp 0x5a6ed1
mov eax, esi
sub eax, 0x5b
je 0x5a708b
dec eax
je 0x5a6ef7
dec eax
dec eax
je 0x5a6ee8
sub eax, 0x1d
je 0x5a6de4
dec eax
jne 0x5a68e7
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0xa8]
lea eax, [ecx + eax + 3]
mov dword [ebp - 0x80], eax
jmp 0x5a6f6d
lea edi, [ebx + 1]
mov eax, edi
call fcn.005a4413
test eax, eax
jne 0x5a6e3d
cmp dword [ebp - 0xac], 0
je 0x5a68e7
cmp esi, 0x5c
jne 0x5a68e7
lea eax, [ebx + 1]
cmp byte [eax], 0x45
jne 0x5a68e7
and dword [ebp - 0xac], 0
jmp 0x5a7510
inc dword [ebp - 0xa4]
inc dword [ebp - 0x80]
mov ebx, eax
lea eax, [ebx + 1]
mov cl, byte [eax]
and cl, 0xc0
cmp cl, 0x80
je 0x5a6e20
jmp 0x5a6f6d
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
mov eax, edi
call fcn.005a4475
mov ecx, dword [ebp - 0x88]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x5a7534
cmp dword [ebp - 0x98], ecx
mov eax, dword [ebp - 0x94]
jne 0x5a6e84
cmp eax, 1
je 0x5a6e92
cmp eax, 0xffffffff
je 0x5a6e92
cmp dword [ebp - 0x98], 1
jne 0x5a6e97
cmp eax, 0xffffffff
jne 0x5a6eb3
inc dword [ebp - 0x80]
jmp 0x5a6ec7
mov ecx, dword [ebp - 0xa4]
sub dword [ebp - 0x80], ecx
cmp dword [ebp - 0x98], 0
jle 0x5a6eb3
mov edx, dword [ebp - 0x80]
lea ecx, [edx + ecx + 3]
mov dword [ebp - 0x80], ecx
xor ecx, ecx
test eax, eax
setg cl
lea ecx, [ecx + ecx + 1]
add ecx, dword [ebp - 0xa4]
add dword [ebp - 0x80], ecx
lea eax, [ebx + 1]
cmp byte [eax], 0x3f
jne 0x5a6ed1
mov ebx, eax
lea eax, [ebx + 1]
cmp byte [eax], 0x2b
jne 0x5a6f6d
mov ebx, eax
add dword [ebp - 0x80], 6
jmp 0x5a6f6d
inc dword [ebp - 0x80]
mov dword [ebp - 0xa4], 1
jmp 0x5a6f6d
push edi
push dword [ebp + 0x6c]
lea eax, [ebp - 0x88]
push dword [ebp - 0xa0]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.005a420c
mov ecx, dword [ebp - 0x88]
add esp, 0x14
cmp ecx, edi
jne 0x5a752e
xor edx, edx
inc edx
cmp eax, edi
mov dword [ebp - 0xa4], edx
jl 0x5a6fa1
add dword [ebp - 0x80], 2
cmp dword [ebp - 0xb4], edi
je 0x5a6f67
cmp eax, 0x7f
jle 0x5a6f67
mov edx, dword [0x63f224]
xor ecx, ecx
cmp edx, edi
jle 0x5a6f5d
cmp eax, dword [ecx*4 + 0x63f20c]
jle 0x5a6f5d
inc ecx
cmp ecx, edx
jl 0x5a6f4f
add dword [ebp - 0x80], ecx
inc ecx
mov dword [ebp - 0xa4], ecx
mov ebx, dword [ebp - 0x84]
inc ebx
movzx esi, byte [ebx]
test esi, esi
mov dword [ebp - 0x84], ebx
jne 0x5a67fe
add dword [ebp - 0x80], 4
test byte [ebp + 0x6d], 0x40
je 0x5a6f8d
add dword [ebp - 0x80], 6
cmp dword [ebp - 0x80], 0x10000
jle 0x5a7561
push 0x14
jmp 0x5a676d
mov ecx, eax
neg ecx
cmp ecx, 0x13
jne 0x5a6fb2
mov dword [ebp - 0xac], edx
jmp 0x5a6f67
cmp ecx, 0xf
je 0x5a752b
cmp ecx, 0xd
je 0x5a752b
cmp ecx, 0xe
je 0x5a752b
inc dword [ebp - 0x80]
push 0xffffffffffffffec
pop ecx
cmp eax, ecx
jg 0x5a6f67
sub ecx, eax
cmp ecx, 0x20
mov eax, edx
jge 0x5a6fe2
shl eax, cl
or dword [ebp - 0xd0], eax
cmp ecx, dword [ebp - 0xd4]
jle 0x5a6ff6
mov dword [ebp - 0xd4], ecx
mov ebx, dword [ebp - 0x84]
add dword [ebp - 0x80], 2
cmp byte [ebx + 1], 0x7b
jne 0x5a6f6d
lea esi, [ebx + 2]
mov eax, esi
call fcn.005a4413
test eax, eax
je 0x5a6f6d
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
mov eax, esi
call fcn.005a4475
mov ecx, dword [ebp - 0x88]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x5a7534
cmp dword [ebp - 0x98], ecx
jne 0x5a7065
cmp dword [ebp - 0x94], 1
je 0x5a7077
cmp dword [ebp - 0x94], 0xffffffff
je 0x5a7077
cmp dword [ebp - 0x98], 1
jne 0x5a707c
cmp dword [ebp - 0x94], 0xffffffff
jne 0x5a707c
inc dword [ebp - 0x80]
jmp 0x5a7080
add dword [ebp - 0x80], 5
lea eax, [ebx + 1]
cmp byte [eax], 0x3f
jmp 0x5a750a
inc ebx
cmp byte [ebx], 0x5e
mov dword [ebp - 0x84], ebx
jne 0x5a70aa
inc ebx
mov dword [ebp - 0x90], 0xa
mov dword [ebp - 0x84], ebx
jmp 0x5a70b0
mov dword [ebp - 0x90], edi
mov al, byte [ebx]
cmp al, 0x5d
mov dword [ebp - 0x9c], edi
jne 0x5a70ca
xor edi, edi
inc edi
mov dword [ebp - 0x90], edi
jmp 0x5a727c
test al, al
je 0x5a755d
xor edi, edi
inc edi
xor esi, esi
cmp dword [ebp - 0xac], esi
je 0x5a7100
cmp al, 0x5c
jne 0x5a7308
lea eax, [ebx + 1]
cmp byte [eax], 0x45
jne 0x5a7308
mov dword [ebp - 0xac], esi
mov ebx, eax
jmp 0x5a7257
cmp al, 0x5c
jne 0x5a72d5
push edi
push dword [ebp + 0x6c]
lea eax, [ebp - 0x88]
push dword [ebp - 0xa0]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.005a420c
mov ecx, dword [ebp - 0x88]
add esp, 0x14
cmp ecx, esi
mov dword [ebp - 0x8c], eax
jne 0x5a752e
neg eax
cmp eax, 4
jne 0x5a7232
mov dword [ebp - 0x8c], 8
mov ebx, dword [ebp - 0x84]
inc dword [ebp - 0x90]
cmp byte [ebx + 1], 0x2d
jne 0x5a740e
mov dword [ebp - 0xbc], ebx
add ebx, 2
mov al, byte [ebx]
cmp al, 0x5c
jne 0x5a7388
push edi
push dword [ebp + 0x6c]
lea eax, [ebp - 0x88]
push dword [ebp - 0xa0]
mov dword [ebp - 0x84], ebx
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.005a420c
mov ecx, dword [ebp - 0x88]
add esp, 0x14
cmp ecx, esi
jne 0x5a752e
mov ebx, dword [ebp - 0x84]
mov ecx, eax
neg ecx
cmp ecx, 4
jne 0x5a737e
push 8
pop eax
cmp eax, dword [ebp - 0x8c]
mov dword [ebp - 0x90], 0xa
jl 0x5a7558
cmp dword [ebp - 0xb4], esi
je 0x5a7257
cmp eax, 0xff
jg 0x5a71f4
test byte [ebp + 0x6c], 1
je 0x5a7257
cmp eax, 0x7f
jle 0x5a7257
cmp dword [ebp - 0x9c], esi
jne 0x5a7206
add dword [ebp - 0x80], 4
mov dword [ebp - 0x9c], edi
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.005cfef5
mov esi, eax
lea eax, [ebp + 0x54]
push eax
push dword [ebp - 0x8c]
call fcn.005cfef5
add eax, dword [ebp - 0x80]
add esp, 0x10
lea eax, [eax + esi + 1]
mov dword [ebp - 0x80], eax
xor esi, esi
jmp 0x5a7257
cmp eax, 0xf
jne 0x5a7246
mov dword [ebp - 0x8c], 0x58
jmp 0x5a7151
cmp eax, 0x13
jne 0x5a729a
mov dword [ebp - 0xac], edi
mov ebx, dword [ebp - 0x84]
inc ebx
mov al, byte [ebx]
test al, al
mov dword [ebp - 0x84], ebx
je 0x5a755d
cmp dword [ebp - 0xac], esi
jne 0x5a70d5
cmp al, 0x5d
jne 0x5a70d5
cmp byte [ebx], 0
je 0x5a755d
cmp dword [ebp - 0x90], edi
jne 0x5a7479
add dword [ebp - 0x80], 3
jmp 0x5a6f6d
cmp dword [ebp - 0x8c], esi
jge 0x5a7151
cmp eax, 0xe
mov dword [ebp - 0x90], 0xa
je 0x5a72ba
cmp eax, 0xd
jne 0x5a7251
cmp dword [ebp - 0x9c], esi
jne 0x5a72cc
add dword [ebp - 0x80], 4
mov dword [ebp - 0x9c], edi
add dword [ebp - 0x80], 2
jmp 0x5a7251
cmp al, 0x5b
jne 0x5a7308
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xf8]
mov eax, ebx
call fcn.005a49b6
test eax, eax
mov ebx, dword [ebp - 0x84]
pop ecx
je 0x5a7308
inc ebx
mov dword [ebp - 0x90], 0xa
jmp 0x5a7257
cmp dword [ebp - 0xb4], esi
movzx eax, byte [ebx]
mov dword [ebp - 0x8c], eax
je 0x5a7157
and ax, 0xc0
cmp al, 0xc0
jne 0x5a7375
mov eax, dword [ebp - 0x8c]
and eax, 0x3f
movzx esi, byte [eax + 0x63f258]
mov eax, dword [esi*4 + 0x63f240]
and eax, dword [ebp - 0x8c]
lea edi, [esi + esi*2]
shl edi, 1
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x8c], eax
xor eax, eax
inc eax
cmp esi, eax
jl 0x5a7372
xor edx, edx
mov dl, byte [eax + ebx]
sub edi, 6
mov ecx, edi
and edx, 0x3f
shl edx, cl
or dword [ebp - 0x8c], edx
inc eax
cmp eax, esi
jle 0x5a7358
xor edi, edi
inc edi
add ebx, esi
xor esi, esi
jmp 0x5a7157
cmp ecx, 0xf
jne 0x5a7400
push 0x58
pop eax
jmp 0x5a7400
test al, al
je 0x5a7408
cmp al, 0x5d
je 0x5a7408
cmp dword [ebp - 0xb4], esi
movzx eax, byte [ebx]
je 0x5a7400
mov ecx, eax
and cx, 0xc0
cmp cl, 0xc0
jne 0x5a73fc
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x63f258]
mov edx, dword [esi*4 + 0x63f240]
lea edi, [esi + esi*2]
shl edi, 1
and edx, eax
mov ecx, edi
shl edx, cl
xor ecx, ecx
inc ecx
cmp esi, ecx
mov eax, edx
mov dword [ebp - 0x84], ecx
jl 0x5a73f9
mov ecx, dword [ebp - 0x84]
xor edx, edx
mov dl, byte [ecx + ebx]
sub edi, 6
mov ecx, edi
and edx, 0x3f
shl edx, cl
or eax, edx
inc dword [ebp - 0x84]
cmp dword [ebp - 0x84], esi
jle 0x5a73d4
xor edi, edi
inc edi
add ebx, esi
xor esi, esi
cmp eax, esi
jge 0x5a71c4
mov ebx, dword [ebp - 0xbc]
cmp dword [ebp - 0xb4], esi
je 0x5a7257
cmp dword [ebp - 0x8c], 0xff
jg 0x5a743d
test byte [ebp + 0x6c], 1
je 0x5a7257
cmp dword [ebp - 0x8c], 0x7f
jle 0x5a7257
cmp dword [ebp - 0x9c], esi
mov dword [ebp - 0x90], 0xa
jne 0x5a7459
add dword [ebp - 0x80], 4
mov dword [ebp - 0x9c], edi
lea eax, [ebp + 0x4c]
push eax
push dword [ebp - 0x8c]
call fcn.005cfef5
pop ecx
pop ecx
mov ecx, dword [ebp - 0x80]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x80], eax
jmp 0x5a7257
add dword [ebp - 0x80], 0x21
cmp byte [ebx + 1], 0x7b
jne 0x5a6f6d
lea esi, [ebx + 2]
mov eax, esi
call fcn.005a4413
test eax, eax
je 0x5a6f6d
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
mov eax, esi
call fcn.005a4475
mov ecx, dword [ebp - 0x88]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x5a7534
cmp dword [ebp - 0x98], ecx
jne 0x5a74de
cmp dword [ebp - 0x94], 1
je 0x5a74f0
cmp dword [ebp - 0x94], 0xffffffff
je 0x5a74f0
cmp dword [ebp - 0x98], 1
jne 0x5a74f5
cmp dword [ebp - 0x94], 0xffffffff
jne 0x5a74f5
inc dword [ebp - 0x80]
jmp 0x5a74f9
add dword [ebp - 0x80], 5
lea eax, [ebx + 1]
mov cl, byte [eax]
cmp cl, 0x2b
je 0x5a6edd
cmp cl, 0x3f
jne 0x5a6f6d
mov ebx, eax
jmp 0x5a6f6d
push 0x18
jmp 0x5a755a
push 0x1d
jmp 0x5a755a
push 0x29
jmp 0x5a755a
push 0xc
jmp 0x5a755a
push 0x13
jmp 0x5a755a
push 0x2d
pop ecx
mov ebx, dword [ebp - 0x84]
sub ebx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x78]
mov dword [eax], ebx
mov eax, dword [ecx*4 + 0x67a500]
mov edx, dword [ebp + 0x74]
mov dword [edx], eax
mov eax, dword [ebp + 0x70]
test eax, eax
je 0x5a7551
mov dword [eax], ecx
xor eax, eax
jmp 0x5a77cb
push 8
pop ecx
jmp 0x5a7534
push 6
jmp 0x5a755a
mov edi, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x80]
add edi, 3
mov eax, edi
imul eax, dword [ebp - 0xb0]
lea ebx, [eax + ecx + 0x28]
push ebx
call dword [0x67a4ec]
mov esi, eax
test esi, esi
pop ecx
jne 0x5a758f
push 0x15
jmp 0x5a676d
mov eax, dword [ebp + 0x6c]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xb8]
add eax, 3
mov word [esi + 0x1a], ax
mov ax, word [ebp - 0xb0]
mov word [esi + 0x1c], ax
mov eax, dword [ebp + 0x7c]
sub eax, 0x63f458
mov dword [esi + 4], ebx
xor ebx, ebx
neg eax
sbb eax, eax
and eax, dword [ebp + 0x7c]
mov word [esi + 0x18], 0x28
mov dword [esi + 0x20], eax
mov dword [esi], 0x50435245
mov dword [esi + 0xc], ebx
mov word [esi + 0x1e], bx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xdc], ebx
movzx eax, word [esi + 0x18]
add eax, esi
mov dword [ebp - 0xe0], eax
movzx edi, word [esi + 0x1a]
movzx ecx, word [esi + 0x1c]
imul edi, ecx
add edi, eax
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0xf8]
push eax
push ebx
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xbc]
push eax
push ebx
push ebx
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp + 0x6c]
and eax, 7
push eax
push dword [ebp + 0x6c]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov byte [edi], 0x50
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xa0], ebx
call fcn.005a62fd
mov ax, word [ebp - 0xa0]
mov word [esi + 0x10], ax
mov ax, word [ebp - 0xd4]
add esp, 0x30
mov word [esi + 0x12], ax
cmp dword [ebp - 0xc8], ebx
je 0x5a7697
or byte [esi + 0xb], 4
cmp dword [ebp - 0x88], 0
mov ebx, dword [ebp - 0x84]
jne 0x5a76b5
cmp byte [ebx], 0
je 0x5a76b5
mov dword [ebp - 0x88], 0x16
mov eax, dword [ebp - 0xb0]
mov byte [eax], 0
inc eax
sub eax, edi
cmp eax, dword [ebp - 0x80]
jle 0x5a76d0
mov dword [ebp - 0x88], 0x17
mov ax, word [esi + 0x12]
cmp ax, word [esi + 0x10]
jbe 0x5a76e4
mov dword [ebp - 0x88], 0xf
cmp dword [ebp - 0x88], 0
je 0x5a7700
push esi
call dword [0x67a4f0]
pop ecx
mov ecx, dword [ebp - 0x88]
jmp 0x5a7534
mov eax, dword [ebp + 0x6c]
test al, 0x10
jne 0x5a7785
push dword [ebp - 0xd0]
mov dword [ebp + 0x74], eax
xor ebx, ebx
push ebx
lea eax, [ebp + 0x74]
push eax
push edi
call fcn.005a64db
add esp, 0x10
test eax, eax
je 0x5a772a
or dword [esi + 8], 0x10
jmp 0x5a7785
mov eax, dword [ebp - 0xbc]
cmp eax, ebx
jge 0x5a7746
push ebx
lea eax, [ebp + 0x74]
push eax
push edi
call fcn.005a6631
add esp, 0xc
cmp eax, ebx
jl 0x5a776d
mov ecx, eax
and ecx, 0xff
test ah, 1
je 0x5a7763
mov edx, dword [ebp - 0xf4]
movzx edx, byte [ecx + edx]
cmp edx, ecx
jne 0x5a7763
mov eax, ecx
or byte [esi + 0xb], 0x40
mov word [esi + 0x14], ax
jmp 0x5a7785
push dword [ebp - 0xd0]
push ebx
push edi
call fcn.005a6593
add esp, 0xc
test eax, eax
je 0x5a7785
or byte [esi + 0xb], 0x10
mov edx, dword [ebp - 0xb8]
test edx, edx
jl 0x5a77c9
mov ecx, dword [esi + 8]
test cl, 0x10
je 0x5a779c
test dh, 2
je 0x5a77c9
mov eax, edx
and eax, 0xff
test dh, 1
je 0x5a77bc
mov edi, dword [ebp - 0xf4]
movzx edi, byte [eax + edi]
cmp edi, eax
jne 0x5a77bc
and edx, 0xfffffeff
or ecx, 0x20000000
mov word [esi + 0x16], dx
mov dword [esi + 8], ecx
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp + 0x5c]
pop edi
call fcn.005f050f
add ebp, 0x60
leave
ret