Function at 0x71ac7573
Capabilities:
Encode data using base64
Inspect section memory permissions
Parse credit card information

Disassembly:
xor edi, edi
jmp 0x71ac75f4
xor eax, eax
mov edi, eax
jmp 0x71ac77ad
cmp ecx, 0x43
jbe 0x71ade939
sub ecx, 0x45
je 0x71aee485
sub ecx, dword [ebp - 0x30]
je 0x71ade90a
sub ecx, 8
jne 0x71ac7646
cmp byte [esi + 0x6e0], cl
je 0x71ac7661
mov cl, byte [esi + 0x1979]
mov al, cl
mov dword [ebp - 0x18], ecx
sub al, byte [ebp - 0x30]
cmp al, 5
ja 0x71ac7646
test ebx, ebx
je 0x71ac7646
cmp byte [ebx + 1], 1
je 0x71ac7646
push ecx
push ebx
call fcn.71adc52f
test al, al
je 0x71ac7646
push ebx
push 8
push 0x18
mov ecx, esi
call fcn.71ac2c3e
mov ecx, dword [ebp - 0x18]
push eax
mov byte [eax + 0x28], cl
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x10]
and ecx, 0x8000
or dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp + 8]
call fcn.71aedb70
mov dword [esi + 0x24], eax
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xffffffe0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x10]
and eax, 0x1f
or dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
jmp 0x71ac78c6
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x6284000]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
movzx eax, byte [eax]
push edi
mov dword [ebp - 0x10], esi
test byte [eax + 0x627b450], 0x3c
je 0x71b23e6e
mov eax, dword [ebp + 8]
xor ebx, ebx
mov byte [ebp - 0xa], bl
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x34], ebx
mov dh, byte [eax]
mov dl, byte [eax + 1]
movzx ecx, dh
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], ebx
mov ebx, dword [eax + 0x24]
test byte [ecx + 0x627b450], 8
mov byte [ebp - 9], dh
mov byte [ebp - 0x2c], dl
mov dword [ebp - 0x28], ebx
je 0x71ac7358
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], 2
cmp ecx, 0x2d
ja 0x71ac7368
je 0x71ad6275
cmp ecx, 0x23
ja 0x71aede97
je 0x71b098ef
cmp ecx, 0xe
je 0x71ad6294
cmp ecx, 0x18
je 0x71aedd74
cmp ecx, 0x1c
je 0x71ad6294
cmp ecx, 0x22
je 0x71aee3a2
cmp byte [esi + 0x6e0], 0
je 0x71ac7661
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.71ac3cd1
test al, al
jne 0x71ad640b
test ebx, ebx
je 0x71ac76e2
cmp byte [ebp - 0xa], 0
jne 0x71af2b57
push ebx
mov ecx, esi
call fcn.71ac74cf
cmp byte [ebp - 0xa], 0
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], ebx
mov dword [eax + 0x24], ebx
jne 0x71af2bb7
xor ecx, ecx
cmp byte [ebp - 9], 0x1d
je 0x71ad6334
mov eax, dword [ebp + 8]
cmp byte [eax], 0x4b
je 0x71b24075
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xfffffffd
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.71ac3cd1
test al, al
jne 0x71ac76cc
and dword [edi + 0x10], 0xfffffffb
mov edi, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
and eax, 0x1f
or dword [edi + 0x10], eax
cmp byte [ebp - 9], 0x1c
je 0x71addffd
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x71ac7728
cmp byte [ebp - 0xa], 0
jne 0x71af2c17
push edi
mov ecx, esi
call fcn.71ac74cf
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], edi
mov dword [eax + 0x28], edi
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x10]
and eax, 0x1f
or dword [ecx + 0x10], eax
cmp byte [ebp - 0xa], 0
jne 0x71af2d2a
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 1]
test byte [eax + 0x627b5f0], 0x18
jne 0x71ad63c2
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], ecx
cmp byte [eax], 0x42
je 0x71af2e98
push dword [ebp + 8]
mov ecx, esi
call fcn.71ac38ef
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp + 8], esi
cmp dword [ebp - 0x24], esi
jne 0x71af9441
mov dl, byte [esi]
movzx ecx, dl
mov byte [ebp - 9], dl
mov al, byte [ecx + 0x627b450]
test al, 1
jne 0x71ac78c4
mov ch, byte [esi + 1]
mov ebx, dword [esi + 0x24]
mov byte [ebp - 0xa], ch
test al, 8
je 0x71ac735f
mov edi, dword [esi + 0x28]
movzx eax, dl
cmp eax, 0x29
ja 0x71ac78e2
cmp eax, 0x27
jae 0x71ad64db
cmp eax, 0x1d
ja 0x71ad64c5
jne 0x71adfdcb
xor edx, edx
cmp dword [esi + 0x10], edx
jl 0x71aee6ec
mov cl, byte [ebx]
cmp cl, 0x1c
je 0x71aeb8d5
cmp cl, 0x20
jne 0x71ac77f8
mov eax, dword [ebx + 0x24]
cmp byte [eax], 0x1c
je 0x71aebbd0
mov al, byte [ebp - 9]
cmp al, byte [esi]
jne 0x71b2415c
cmp al, 0x2d
je 0x71ac783f
cmp al, 0x43
je 0x71ac783f
cmp byte [esi], 0x48
je 0x71ac783f
test ebx, ebx
je 0x71ac7829
push ecx
push ebx
call fcn.71ac7971
test al, al
jne 0x71b2416f
mov esi, dword [ebp + 8]
test edi, edi
je 0x71ac783f
push ecx
push edi
call fcn.71ac7971
test al, al
jne 0x71b24550
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
test dword [ecx + 0x1920], 0x100
je 0x71ac78c4
mov dl, byte [ebp - 9]
movzx eax, dl
mov dword [ebp - 0x28], eax
cmp byte [eax + 0x627b450], 0x80
jae 0x71ad655f
cmp dl, 0x20
mov dl, byte [ebp - 0xa]
je 0x71ad659c
mov eax, dword [ebp - 0x28]
sub eax, 0x22
je 0x71afe4a6
sub eax, 1
je 0x71b0a262
sub eax, 5
je 0x71b0fabc
sub eax, dword [ebp - 0x30]
je 0x71aee551
sub eax, 3
je 0x71ad5f94
sub eax, 0x27
je 0x71aeb3e4
sub eax, 1
je 0x71aeb39b
mov eax, esi
lea esp, [ebp - 0x64]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.71ac38e0
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x41
ja 0x71ac791d
je 0x71ae0811
cmp eax, 0x2d
jne 0x71adea9f
mov al, byte [ebx]
cmp al, 1
jne 0x71ac7906
or dword [ebx + 0x10], 0x80000000
mov esi, dword [ebp + 8]
cmp al, 0x1d
je 0x71adb3e5
or dword [ebx + 0x10], 0x4000
mov esi, dword [ebp + 8]
jmp 0x71ac77f8
sub eax, 0x42
je 0x71af2ebb
sub eax, 1
je 0x71af2ca3
sub eax, 4
jne 0x71ac77f8
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x6d0], 0
je 0x71ac77f8
push ecx
push ebx
call fcn.71ac7971
test al, al
je 0x71b243d4
mov esi, dword [ebx + 0x24]
cmp byte [esi + 1], 1
je 0x71ac78c4
call fcn.71b21586
jmp 0x71ac78c4
cmp dl, 0xa
je 0x71ac78c4
mov al, byte [ebx]
cmp al, 1
sete cl
mov byte [ebp - 0x1d], cl
cmp al, 1
jne 0x71ad5fe6
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp - 0x10]
imul edx, eax, 0x60
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18], edx
cmp eax, dword [ecx + 0x14]
jae 0x71b24684
test byte [edx + 2], 8
jne 0x71aeb81c
test byte [edi + 0x10], 1
jne 0x71ac78c4
mov cl, byte [ebp - 0x1d]
test cl, cl
je 0x71ad644f
cmp byte [ebx], 0x1d
je 0x71adffb4
mov al, byte [edi]
mov byte [ebp - 9], al
movzx eax, al
mov dword [ebp - 0x18], eax
cmp eax, 0x22
ja 0x71ae47d0
je 0x71afe526
cmp eax, 0xb
je 0x71b11a2a
cmp eax, 0xd
je 0x71b0e04e
cmp eax, 0x1f
jbe 0x71ac78c4
cmp eax, 0x21
ja 0x71ac78c4
test dword [edi + 0x10], 0x10000000
jne 0x71af8241
mov al, byte [edi + 1]
mov ecx, dword [ebp - 0x30]
sub al, cl
cmp al, cl
jbe 0x71ac78c4
mov edx, dword [edi + 0x24]
xor ecx, ecx
push ecx
mov ecx, ebx
call fcn.71ade7c0
test al, al
jne 0x71ae946e
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x627b450], 0x80
jb 0x71ac78c4
mov eax, dword [ebp - 0x10]
test dword [eax + 0x1920], 0x100
je 0x71ac78c4
mov eax, dword [edi + 0x24]
test byte [eax + 0x10], 0x1f
jne 0x71af465b
mov edx, dword [edi + 0x28]
xor eax, eax
push eax
mov ecx, ebx
call fcn.71ade7c0
test al, al
je 0x71ac78c4
mov eax, dword [edi + 0x24]
mov dl, byte [ebp - 9]
mov dword [edi + 0x28], eax
mov esi, dword [ebp + 8]
cmp dl, 0x2b
je 0x71b17f83
cmp byte [ebx], 1
jne 0x71ad60e7
mov cl, byte [ebx + 1]
mov al, cl
sub al, 2
cmp al, 5
jbe 0x71b246d0
mov al, dl
add al, 0xe
mov byte [esi], al
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0x28]
mov dword [eax + 0x28], ecx
mov ecx, edi
call fcn.71ac3c9c
test al, al
jne 0x71b0ae11
cmp byte [ebx], 1
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x28]
jne 0x71ad611a
or dword [ebx + 0x10], 0x40000000
mov esi, dword [ebp + 8]
cmp dl, 0x20
jne 0x71b09711
cmp byte [edi], 0x22
jne 0x71ac78c4
movzx eax, byte [esi + 1]
test byte [eax + 0x627b5f0], 4
je 0x71ac78c4
mov edx, dword [edi + 0x24]
xor eax, eax
push eax
mov ecx, ebx
mov dword [ebp - 0x18], edx
call fcn.71ade7c0
test al, al
je 0x71b246f9
mov esi, dword [edi + 0x28]
mov ebx, dword [ebp - 0x10]
mov dl, 9
push 0xd
mov ecx, ebx
call fcn.71ac20cf
fld1
mov edi, eax
mov al, byte [ebp - 9]
fstp qword [edi + 0x24]
cmp al, 0x20
jne 0x71b24719
mov ecx, dword [ebp + 8]
mov dl, al
push edi
push esi
mov cl, byte [ecx + 1]
mov byte [ebp - 0x18], cl
push dword [ebp - 0x18]
mov ecx, ebx
call fcn.71ac2b72
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
xor ecx, ecx
mov eax, dword [ebp + 8]
mov byte [eax], 0x30
mov byte [eax + 0x13], cl
mov esi, dword [ebp + 8]
jmp 0x71ac78c4
push dword [ebp + 8]
mov ecx, esi
call fcn.71ad621e
mov dword [ebp + 8], eax
cmp ebx, dword [eax + 0x24]
jne 0x71b23fc2
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x14], eax
or dword [ebx + 0x10], 0x4000
jmp 0x71ac7646
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], ecx
jge 0x71ac76a4
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x71ac76a4
cmp dword [eax + 0x24], ecx
je 0x71ac76a4
cmp byte [ebx + 1], 0xf
jne 0x71b2403c
cmp byte [ebx], 7
je 0x71b24048
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1d]
push eax
push ecx
push ecx
push ecx
push ebx
mov ecx, esi
call fcn.71ad94db
movzx edi, al
neg edi
sbb edi, edi
and edi, dword [ebp - 0x18]
je 0x71b2406b
cmp byte [edi + 1], 0xe
jne 0x71b2406b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [eax + 0x24], edi
jmp 0x71ac76a4
test ebx, ebx
je 0x71ac773c
movzx edx, byte [ebx + 1]
test byte [edx + 0x627b5f0], 0x18
jne 0x71ac773c
test edi, edi
je 0x71ac773c
movzx eax, byte [edi + 1]
test byte [eax + 0x627b5f0], 0x18
jne 0x71ac773c
cmp byte [ecx], 0x41
jne 0x71b2409e
mov al, byte [eax + 0x627b430]
mov byte [ecx + 1], al
jmp 0x71ac773c
cmp byte [edi], 0x1d
jne 0x71ad6422
push dword [edi + 0x24]
mov ecx, esi
call fcn.71ad458c
test al, al
je 0x71ac7661
mov eax, dword [ebp + 8]
or dword [eax + 0x10], 4
jmp 0x71ac7661
test byte [edi + 0x10], 1
jne 0x71ac78c4
mov eax, dword [ebp - 0x30]
test byte [edi + 0x10], al
je 0x71ad5fee
test byte [ebx + 0x10], 0x1f
jne 0x71ac78c4
jmp 0x71ad5fee
sub eax, 0x20
jne 0x71addf7c
test dword [esi + 0x10], 0x10000000
jne 0x71af816d
test ebx, ebx
je 0x71b240a9
movzx eax, byte [ebx]
test byte [eax + 0x627b450], 1
jne 0x71afce3b
mov al, byte [ebp - 9]
cmp al, 0x20
jne 0x71aede0e
cmp byte [ebx], 0x20
je 0x71aeeda9
cmp byte [edi], 7
jne 0x71ac77f8
movzx eax, byte [ebp - 0xa]
test byte [eax + 0x627b5f0], 0x20
je 0x71ac77f8
cmp byte [ebx], 0x20
je 0x71aeee0a
xor eax, eax
cmp dword [edi + 0x24], eax
jne 0x71ac77f8
movzx eax, byte [edi + 1]
test byte [eax + 0x627b5f0], 0x18
jne 0x71b24256
mov al, byte [ebx + 1]
cmp al, byte [esi + 1]
jne 0x71b24261
mov eax, ebx
jmp 0x71ac78c6
test byte [esi + 0x10], 0x20
jne 0x71b24646
cmp dl, byte [edi]
jne 0x71ac786d
movzx eax, byte [esi + 1]
test byte [eax + 0x627b5f0], 4
jne 0x71ac786d
push esi
call fcn.71aee9ab
mov esi, dword [ebp + 8]
mov dl, byte [ebp - 9]
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x28]
jmp 0x71ac786d
test dword [esi + 0x10], 0x10000000
jne 0x71ac787c
cmp byte [ebx], 0x20
jne 0x71ac787c
test dword [ebx + 0x10], 0x10000000
jne 0x71ac787c
movzx eax, dl
mov cl, byte [eax + 0x627b5f0]
test cl, 0x20
je 0x71ac787c
movzx eax, byte [edi]
mov edx, dword [ebx + 0x28]
mov dword [ebp - 0x18], edx
test byte [eax + 0x627b450], 1
je 0x71afaffd
mov dl, byte [ebp - 0xa]
jmp 0x71ac787c
mov cl, byte [ebx + 1]
mov edx, dword [ebp - 0x30]
mov al, cl
sub al, dl
cmp al, 5
ja 0x71ac790e
mov al, byte [edi]
cmp al, 0x18
je 0x71afcc7a
movzx eax, al
test byte [eax + 0x627b450], 0x10
je 0x71ac790e
sub cl, dl
cmp cl, dl
ja 0x71ac790e
mov byte [edi + 1], 3
jmp 0x71ac790e
cmp eax, 0x40
ja 0x71ac77f8
test dword [esi + 0x10], 0x100000
jne 0x71adeb24
cmp byte [edi], 7
jne 0x71adeb24
cmp dword [edi + 0x24], 1
je 0x71afc79b
cmp dword [edi + 0x24], 0xffffffff
jne 0x71adeb24
cmp dl, 0x3e
je 0x71b0f29c
cmp dl, 0x40
jne 0x71adeb24
mov al, 0x3f
mov byte [ebp - 9], al
mov ecx, dword [ebp - 0x10]
mov byte [esi], al
xor eax, eax
push edi
mov dword [edi + 0x24], eax
call fcn.71ac38ef
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71adeb24
sub eax, 1
je 0x71ae83c0
sub eax, 1
jne 0x71ac77f8
cmp ch, 0xa
jne 0x71ad64ce
jmp 0x71ac78c4
mov al, byte [ebx]
cmp al, 1
jne 0x71aefcb6
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xfffffff7
jmp 0x71ac76e2
test ebx, ebx
je 0x71b23fcf
mov cl, byte [ebx]
movzx eax, cl
test byte [eax + 0x627b450], 0x10
je 0x71af941e
cmp dh, 0x47
jne 0x71af2b25
or dword [ebx + 0x10], 0x40004000
jmp 0x71ac7646
je 0x71af2af2
cmp ecx, 0x2e
jb 0x71ac7646
cmp ecx, 0x3a
jbe 0x71ad6294
cmp ecx, 0x3c
ja 0x71ae0216
cmp byte [ebx], 0x4b
jne 0x71ac7646
cmp byte [edi], 0x4b
jne 0x71ac7646
test byte [ebx + 0x40], 0x40
je 0x71b0f7f8
test byte [edi + 0x40], 0x40
jne 0x71ade989
mov al, byte [edi + 0x42]
and al, 7
cmp al, 1
jne 0x71ac7646
push ebx
call fcn.71afdda1
push edi
mov cl, al
call fcn.71afdda1
test cl, cl
jne 0x71b15d8a
test al, al
je 0x71ac7646
mov eax, dword [ebp + 8]
mov edx, ebx
mov dword [ebp - 0x2c], ebx
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax + 0x24]
mov eax, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x3c], eax
cmp byte [ecx], 0xc
je 0x71b23fee
cmp byte [eax], 0x1d
je 0x71b24006
test byte [edx + 0x40], 0x40
je 0x71ac7646
mov edi, dword [esi + 0x1948]
xor ecx, ecx
push ecx
push dword [edx + 0x4c]
mov eax, dword [edi]
mov esi, dword [eax + 0x40]
mov ecx, esi
call dword [0x627b188]
mov ecx, edi
call esi
cmp eax, 0x22
jne 0x71b12951
mov ecx, dword [ebp - 0x3c]
cmp byte [ecx], 7
jne 0x71b12951
cmp byte [ecx + 1], 8
jne 0x71b12951
mov eax, dword [ebp - 0x10]
push dword [ecx + 0x28]
mov edi, dword [eax + 0x1948]
mov eax, dword [edi]
mov esi, dword [eax + 0xac]
mov ecx, esi
call dword [0x627b188]
mov ecx, edi
call esi
test eax, eax
je 0x71b12951
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push dword [eax + 0x24]
push 8
push 0x1d
call fcn.71ac2c3e
push dword [ebp - 0x18]
mov dl, byte [ebp - 9]
mov ecx, ebx
push eax
or dword [eax + 0x10], 4
push 8
call fcn.71ac2b72
mov ecx, dword [ebp + 8]
push eax
mov ecx, dword [ecx + 0x10]
and ecx, 0x60004000
or dword [eax + 0x10], ecx
mov ecx, ebx
call fcn.71ac74cf
jmp 0x71ac78c6
jbe 0x71ac77f8
cmp eax, 0x3a
jbe 0x71ac790e
cmp eax, 0x3c
ja 0x71adde1a
cmp byte [edi], 7
jne 0x71adeac7
xor eax, eax
cmp dword [edi + 0x24], eax
jne 0x71af182e
mov al, byte [edi]
mov ecx, 0x7fffffff
mov edx, ecx
mov dword [ebp - 0x14], edx
cmp al, 7
jne 0x71adeae9
cmp dword [edi + 0x24], 1
ja 0x71adeae9
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x14], edx
cmp al, 8
je 0x71b03995
cmp edx, ecx
je 0x71adeb19
cmp byte [ebx], 0x41
je 0x71af2718
mov cl, byte [ebx]
movzx eax, cl
test byte [eax + 0x627b450], 0x10
jne 0x71aebfd5
cmp cl, 0x29
je 0x71af99be
xor edx, edx
cmp byte [edi], 8
je 0x71b039ba
movzx eax, byte [esi]
test byte [eax + 0x627b450], 0x10
je 0x71b243b2
mov ecx, dword [esi + 0x10]
test ecx, 0x40000000
jne 0x71ac77f8
push ebx
call fcn.71aebf32
test al, al
je 0x71ac77f8
mov ebx, dword [ebp - 0x10]
or ecx, 0x60004000
mov dword [esi + 0x10], ecx
mov dl, 7
push 8
mov ecx, ebx
call fcn.71ac20cf
mov esi, eax
mov dl, 7
xor eax, eax
mov ecx, ebx
push 8
mov dword [esi + 0x24], 1
mov dword [esi + 0x28], eax
call fcn.71ac20cf
xor ecx, ecx
mov dl, 0x43
push esi
push eax
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov ecx, ebx
push 8
call fcn.71ac2b72
push eax
mov ecx, ebx
call fcn.71ac74cf
push eax
push dword [ebp - 0x1c]
mov dl, 0x42
mov ecx, ebx
push 8
call fcn.71ac2b72
xor ecx, ecx
mov dword [ebp + 8], eax
push ecx
push eax
mov ecx, ebx
call fcn.71ac7478
jmp 0x71ac7424
cmp eax, 0xb
je 0x71affc9e
cmp eax, 0xc
jbe 0x71ac77f8
cmp eax, 0xe
jbe 0x71affc9e
cmp eax, 0x19
je 0x71b241ac
cmp eax, 0x1c
jne 0x71ac77f8
mov al, byte [ebx]
cmp al, 0x1d
je 0x71aefcc3
cmp al, 0x18
jne 0x71ac790e
mov eax, dword [ebx + 0x24]
mov cl, byte [eax]
cmp cl, 1
je 0x71adfe1d
cmp cl, 0x57
jne 0x71ac790e
mov ebx, eax
mov dword [esi + 0x24], eax
jmp 0x71ac790e
cmp byte [edi], 0x18
jne 0x71ad5ff7
test dword [edi + 0x10], 0x10000000
jne 0x71ad5ff7
mov al, byte [ebx + 1]
cmp byte [edi + 0x28], al
jb 0x71ad5ff7
cmp al, 8
ja 0x71ad5ff7
mov eax, dword [edi + 0x24]
cmp byte [eax + 1], 8
ja 0x71ad5ff7
mov dword [esi + 0x28], eax
mov edi, eax
mov esi, dword [ebp + 8]
jmp 0x71ad5ff7
cmp ecx, 0x42
jne 0x71ac7646
jmp 0x71ade90a
mov cl, byte [edi]
movzx eax, cl
test byte [eax + 0x627b450], 0x40
jne 0x71affe38
cmp cl, 0x41
je 0x71b1247b
cmp cl, 0x4b
je 0x71b243c5
xor eax, eax
test al, al
jne 0x71affe38
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.71ae08b2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
test ecx, ecx
je 0x71afae1b
mov dword [eax + 0x24], ecx
cmp byte [edi], 0xc
jne 0x71ac7915
cmp byte [edi + 1], 1
jne 0x71ac7915
cmp byte [ebx + 1], 1
jne 0x71ac7915
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
and eax, 0x4000
or dword [ebx + 0x10], eax
jmp 0x71ad6558
cmp eax, 0x23
je 0x71b0a3c1
push 0x25
pop ecx
cmp eax, ecx
je 0x71b0a3c1
cmp eax, 0x26
jbe 0x71ac78c4
cmp eax, 0x2c
ja 0x71ac78c4
jmp 0x71ad605b
test dword [esi + 0x10], 0x10000000
jne 0x71af816d
test edi, edi
je 0x71b24101
cmp byte [edi], 7
je 0x71aeacfc
test ebx, ebx
je 0x71b2410e
cmp byte [ebx], 7
jne 0x71ac77f8
cmp byte [esi + 1], 8
jne 0x71b2411b
movzx eax, byte [esi + 1]
mov ecx, dword [ebp - 0x10]
push edi
push eax
push 0xd
call fcn.71ac2c3e
mov ecx, dword [ebp - 0x10]
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
xor eax, eax
push eax
push edi
call fcn.71ac7478
mov eax, dword [ebp + 8]
xor ecx, ecx
mov byte [ebp - 9], 0x20
mov byte [eax], 0x20
mov byte [eax + 0x13], cl
mov esi, dword [ebp + 8]
jmp 0x71ad64db
mov dl, byte [ebp - 9]
cmp dl, 0x29
je 0x71b04061
cmp dl, 0x27
je 0x71b04061
cmp dl, 0xd
jne 0x71ad60ca
xor eax, eax
mov byte [esi], 0xe
mov byte [esi + 0x13], al
cmp byte [ebx], 1
jne 0x71ae94a3
or dword [ebx + 0x10], 0x40000000
mov ecx, dword [ebp - 0x10]
mov dl, 7
push 8
call fcn.71ac20cf
xor ecx, ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
jmp 0x71ad61af
mov eax, dword [edi + 0x24]
neg eax
mov dword [edi + 0x24], eax
jne 0x71ae8423
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1920]
shr eax, 0xb
test al, 1
je 0x71ae8423
call fcn.71b21586
jmp 0x71ae8423
mov ecx, dword [ebp - 0x10]
push esi
call fcn.71aec5fa
mov esi, eax
jmp 0x71ac78c4
mov ecx, dword [ebp - 0x10]
push esi
call fcn.71aeb3f2
jmp 0x71aeb3a7
xor eax, eax
mov cl, al
jmp 0x71ad644f
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x14], eax
cmp ch, byte [eax + 1]
je 0x71afc5b8
cmp byte [eax], 1
jne 0x71ac77e7
mov esi, dword [ebp - 0x10]
mov edi, edx
jmp 0x71aebc6e
mov eax, dword [ebx + 0x28]
cmp byte [eax], 7
jne 0x71ac77f8
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x192b], 0
jne 0x71ac77f8
cmp byte [eax + 0x1935], 0
jne 0x71ac77f8
cmp dword [esi + 0x10], edx
jl 0x71b241d4
test dword [ebx + 0x10], 0x10000000
jne 0x71b241e1
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x14], ecx
cmp byte [ecx], 1
jne 0x71ac77f8
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x28], edx
test edx, edx
je 0x71b241ee
movzx eax, dx
cmp edx, eax
jne 0x71ac77f8
push dword [ecx + 0x24]
mov esi, dword [ebp - 0x10]
mov ecx, esi
call fcn.71ad2111
cmp dword [ebp - 0x28], eax
jae 0x71ac7915
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
cmp byte [eax], 1
jne 0x71b24225
push dword [eax + 0x24]
mov ecx, esi
call fcn.71ad01a8
test al, al
je 0x71b24235
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov byte [esi], al
xor eax, eax
mov byte [esi + 0x13], al
movzx eax, di
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 8]
mov al, byte [eax + 1]
mov byte [esi + 1], al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
and eax, 0x4000
or dword [esi + 0x10], eax
mov al, byte [ebx]
cmp al, 0x20
je 0x71ac78c4
cmp al, 0x1c
jmp 0x71ac7961
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
cmp byte [ebp - 9], 0x3b
sete al
cmp ecx, eax
jne 0x71aebffc
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.71ae9208
mov esi, dword [ebp + 8]
test dword [ebx + 0x10], 0x40000000
mov al, byte [esi + 1]
mov byte [ebx + 1], al
jne 0x71b24323
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
and eax, 0x60004000
jmp 0x71ae0896
push dword [ebp + 8]
mov ecx, esi
call fcn.71aedb70
jmp 0x71ac78c6
cmp al, 0x22
jne 0x71ac77f8
cmp byte [edi], 7
jne 0x71ac77f8
cmp byte [ebp - 0xa], 9
ja 0x71b240e7
test dword [esi + 0x10], 0x10000000
jne 0x71b240f4
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x71b2423f
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, eax
mov dword [ebp - 0x24], eax
neg edx
and edx, eax
cmp eax, edx
jne 0x71afe384
mov esi, dword [ebp - 0x10]
test ecx, ecx
js 0x71b15d38
cmp eax, 1
je 0x71ad6558
push 0x25
xor edx, edx
pop ecx
div ecx
movsx eax, byte [edx + 0x627c848]
mov dword [edi + 0x24], eax
xor ecx, ecx
mov eax, dword [ebp + 8]
mov byte [eax], 0x2a
mov byte [eax + 0x13], cl
jmp 0x71ac7728
sub ecx, 0x24
je 0x71b08a4f
sub ecx, 1
je 0x71b15abf
sub ecx, 1
jne 0x71ac7646
test edi, edi
je 0x71b23f05
cmp dl, 0xa
jne 0x71ac7646
mov eax, dword [ebp + 8]
mov edx, 0x100000
mov ecx, dword [eax + 0x10]
mov eax, dword [ebx + 0x10]
and ecx, edx
and eax, edx
cmp ecx, eax
jne 0x71aedfa8
mov eax, dword [edi + 0x10]
and eax, edx
cmp ecx, eax
jne 0x71aedfa8
cmp byte [edi], 0x18
jne 0x71aedf36
mov eax, dword [edi + 0x24]
cmp byte [eax], 7
jne 0x71aedf36
cmp dword [eax + 0x24], 2
jl 0x71aedf36
cmp dword [eax + 0x24], 0x3fffffff
jg 0x71aedf36
mov eax, dword [eax + 0x10]
and eax, edx
cmp ecx, eax
jne 0x71aedf36
mov eax, dword [esi + 0x1920]
shr eax, 0xb
test al, 1
je 0x71aedf36
push edi
mov ecx, esi
call fcn.71aedb70
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
cmp byte [edi], 8
je 0x71aedf3b
call fcn.71b21586
cmp byte [edi], 8
jne 0x71aedfa8
mov eax, dword [edi + 0x28]
xor ecx, ecx
cmp eax, ecx
jl 0x71aedfa8
jg 0x71aedfa8
mov edx, dword [ebp - 0x30]
cmp dword [edi + 0x24], edx
jb 0x71aedfa8
cmp eax, ecx
jg 0x71aedfa8
jl 0x71aedf60
cmp dword [edi + 0x24], 0x3fffffff
ja 0x71aedfa8
push ebx
mov ecx, esi
call fcn.71ac74cf
mov ecx, dword [ebp + 8]
mov ebx, eax
mov dword [ecx + 0x24], ebx
cmp byte [ebx + 1], 0xa
je 0x71aedf7b
call fcn.71b21586
mov ecx, dword [ebp + 8]
and dword [ecx + 0x10], 0xffffffe0
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
and eax, 0x1f
or dword [ecx + 0x10], eax
cmp byte [ebx], 8
jne 0x71ac7424
mov eax, dword [esi + 0x1920]
shr eax, 0xb
test al, 1
je 0x71ac7424
xor ecx, ecx
cmp byte [ebp - 9], 0x26
sete cl
lea ecx, [ecx*2 + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
test byte [eax + 0x627b450], 8
je 0x71b23f87
mov eax, dword [ebp + 8]
mov ecx, esi
push eax
mov dword [ebp - 0x24], eax
call fcn.71ac38ef
mov dword [ebp + 8], eax
mov dl, byte [eax]
movzx ecx, dl
test byte [ecx + 0x627b450], 2
jne 0x71b23fa9
cmp dword [ebp - 0x24], eax
jne 0x71b15dbf
cmp dl, 0x41
je 0x71b23f91
push edi
push ebx
mov ecx, esi
call fcn.71adbe97
push eax
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp + 8]
call fcn.71b09d19
jmp 0x71ac78c6
cmp dl, 0xa
jne 0x71ac7646
test edi, edi
je 0x71b23e78
cmp byte [ebx], 0x18
je 0x71b0ab67
mov eax, dword [ebp + 8]
test dword [eax + 0x10], 0x40000000
jne 0x71ac7646
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
test ecx, 0x10000000
jne 0x71b1150c
mov dword [ebp - 0x14], 8
jmp 0x71aedfc1
xor ecx, ecx
push ecx
push dword [eax + 0x2c]
mov ecx, esi
push dword [ebp - 0x2c]
push edi
push ebx
push dword [ebp + 8]
call fcn.71aee81e
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.71ac7573
jmp 0x71ac78c6
cmp byte [edi], 7
jne 0x71ac78c4
cmp byte [ebx], 0x20
jne 0x71ac78c4
test dword [ebx + 0x10], 0x10000000
jne 0x71ac78c4
mov edx, dword [ebx + 0x28]
cmp byte [edx], 7
jne 0x71ac78c4
mov ecx, edi
call fcn.71aeec14
test eax, eax
je 0x71ac78c4
mov eax, dword [edx + 0x24]
mov ecx, dword [edi + 0x24]
mov byte [esi], 0x20
mov byte [esi + 0x13], 0
shl eax, cl
mov dword [edi + 0x24], eax
mov byte [ebx], 0x2a
xor eax, eax
mov byte [ebx + 0x13], al
mov dword [edx + 0x24], ecx
jmp 0x71ad61af
cmp dword [esi + 0x2c], edx
je 0x71b241c7
mov ecx, dword [ebp - 0x10]
push 1
push esi
call fcn.71aee68c
mov esi, dword [ebp + 8]
xor edx, edx
mov ch, byte [ebp - 0xa]
jmp 0x71ac77dc
cmp byte [edi], 0x20
jne 0x71ad650a
mov ecx, dword [ebx + 0x28]
cmp byte [ecx], 7
jne 0x71ad650a
mov eax, dword [edi + 0x28]
cmp byte [eax], 7
jne 0x71ad650a
test dword [ebx + 0x10], 0x10000000
jne 0x71ad650a
test dword [edi + 0x10], 0x10000000
jne 0x71ad650a
mov eax, dword [eax + 0x24]
add dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], ecx
mov eax, dword [edi + 0x24]
mov dword [ebx + 0x28], eax
mov eax, dword [eax + 0x10]
and eax, 0x1f
or dword [ebx + 0x10], eax
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x28]
jmp 0x71ad650a
mov eax, dword [ebx + 0x28]
cmp byte [eax], 7
jne 0x71ad6530
test dword [ebx + 0x10], 0x10000000
jne 0x71ad6530
mov eax, dword [eax + 0x24]
add dword [edi + 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x24]
mov dword [eax + 0x24], ecx
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x24]
jmp 0x71ad6530
cmp al, 0x57
jne 0x71ac76e2
jmp 0x71ade007
test dword [ebx + 0x10], 0x84000000
jne 0x71adfe02
mov esi, dword [ebx + 0x24]
mov al, byte [esi + 1]
movzx ecx, al
test byte [ecx + 0x627b5f0], 0x18
jne 0x71ac78c4
cmp al, 8
jmp 0x71ac7961
mov al, byte [ebx]
cmp al, 0x20
je 0x71b0e00a
cmp al, 0x21
je 0x71b0e00a
mov dword [ebp - 0x1c], esi
jmp 0x71adeac7
mov edx, dword [ebx + 0x28]
mov dword [ebp - 0x34], edx
movzx eax, byte [edx]
test byte [eax + 0x627b450], 0x10
jne 0x71b24276
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x24], eax
cmp byte [eax], 0x2d
jne 0x71adeb19
cmp byte [edx], 1
jne 0x71adeb19
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x28], eax
cmp eax, dword [ecx + 0x14]
jae 0x71b24304
imul edx, eax, 0x60
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x2c], edx
test byte [edx + eax + 2], 0x40
mov eax, dword [ebp - 0x28]
je 0x71adeb19
cmp eax, dword [ecx + 0xbb8]
jae 0x71adeb19
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x24]
cmp byte [ecx], 1
jne 0x71adeb19
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x24]
mov ecx, dword [ebp - 0x10]
cmp dword [edx + 0x24], eax
mov edx, dword [ebp - 0x2c]
jne 0x71adeb19
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28]
movzx eax, byte [eax]
test byte [eax + 0x627b450], 0x10
je 0x71adeb19
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 0x28]
mov eax, dword [ecx + 0x1c]
movzx eax, word [edx + eax + 0x20]
test ax, ax
je 0x71af2806
cmp ax, word [ebp - 0x30]
je 0x71af2806
call fcn.71b21586
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x1c]
xor esi, esi
mov word [edx + eax + 0x20], si
mov eax, dword [ecx + 0x1c]
test byte [eax + edx + 1], 0x40
je 0x71af281e
mov byte [ecx + 0x13], 1
xor ecx, ecx
cmp word [eax + edx + 0x20], cx
jne 0x71af282b
mov dword [eax + edx + 0x24], ecx
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], esi
jmp 0x71adeafe
cmp byte [esi + 0xbc4], 0
setne byte [ebp - 0xa]
jmp 0x71ac7646
test dword [ebx + 0x10], 0x20000000
jne 0x71ade92d
call fcn.71b21586
jmp 0x71ade92d
cmp byte [esi + 0xbc4], 0
je 0x71b24014
mov eax, dword [esi + 0x13d0]
test eax, eax
je 0x71af9194
cmp eax, 0x40
ja 0x71b2401e
mov edi, dword [esi + 0x13d0]
mov esi, edi
shl esi, 5
mov eax, esi
mov dword [ebp - 0x1c], edi
call fcn.71af2c68
mov edi, esp
push esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x34], edi
lea eax, [esi + 0xbd0]
push eax
push edi
call fcn.71ac29a2
add esp, 0xc
jmp 0x71ac7672
cmp byte [esi + 0xbc4], 0
je 0x71b24028
mov eax, dword [esi + 0x13d0]
test eax, eax
je 0x71affe25
cmp eax, 0x40
ja 0x71b24032
mov edi, dword [esi + 0x13d0]
mov esi, edi
shl esi, 5
mov eax, esi
mov dword [ebp - 0x38], edi
call fcn.71af2c68
mov edi, esp
push esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x24], edi
lea eax, [esi + 0xbd0]
push eax
push edi
call fcn.71ac29a2
add esp, 0xc
jmp 0x71ac7695
cmp byte [esi + 0xbc4], 0
je 0x71b2407f
xor eax, eax
mov ecx, esi
push eax
call fcn.71ac8482
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x71ac76f9
shl eax, 5
push eax
push dword [ebp - 0x34]
lea eax, [esi + 0xbd0]
push eax
call fcn.71ac29a2
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.71ac8482
jmp 0x71ac76f9
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x6e0], 0
je 0x71af2cf1
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x40], cl
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp + 8]
mov dword [ebp - 0x4c], 0x6231f10
push ecx
mov ecx, eax
call fcn.71ac1fb0
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov byte [eax + 0x6d0], cl
jmp 0x71ac77f8
cmp byte [esi + 0xbc4], 0
je 0x71b24089
mov eax, dword [esi + 0x13d0]
test eax, eax
je 0x71af91a7
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x71af91a7
cmp eax, ecx
jne 0x71af2d7e
shl eax, 5
push eax
lea eax, [esi + 0xbd0]
push eax
push dword [ebp - 0x24]
call fcn.71ada2d4
add esp, 0xc
test eax, eax
je 0x71ac7728
mov eax, dword [esi + 0x13d0]
xor ecx, ecx
inc ecx
cmp eax, ecx
jb 0x71ac7728
mov ebx, dword [ebp - 0x38]
mov edi, ecx
push edi
mov ecx, esi
call fcn.71ad6bf0
mov edx, eax
xor eax, eax
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x71af6ebf
mov ecx, dword [ebp - 0x24]
mov esi, dword [edx + 8]
cmp esi, dword [ecx + 8]
mov esi, dword [ebp - 0x10]
jne 0x71af6ead
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x71b24093
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x71af6ebf
mov eax, dword [edx + 0x18]
cmp eax, dword [ecx + 0x18]
jne 0x71af6ebf
mov eax, dword [edx + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x71af6ebf
inc edi
cmp edi, dword [esi + 0x13d0]
jbe 0x71af2d91
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
jmp 0x71ac7728
mov ecx, dword [eax + 0x28]
cmp byte [ecx], 0x43
jne 0x71ac775c
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x2c], eax
jmp 0x71ac775c
push ecx
push ebx
call fcn.71ac7971
test al, al
jne 0x71ac7915
cmp byte [edi], 0x43
jne 0x71b2442c
mov esi, dword [ebp + 8]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x14], edx
cmp byte [esi + 1], 1
mov dword [ebp - 0x1c], eax
je 0x71b064c2
cmp byte [edx], 0xc
je 0x71b24436
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x24]
movzx eax, byte [eax + 1]
cmp byte [eax + 0x627b430], 8
jne 0x71ac77f8
movzx eax, byte [ebp - 0xa]
cmp byte [eax + 0x627b430], 8
jne 0x71ac77f8
mov eax, dword [ebp - 0x14]
cmp byte [eax], 7
jne 0x71ac77f8
cmp byte [ecx], 7
jne 0x71ac77f8
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
or eax, edx
cmp eax, 1
jne 0x71ac77f8
test dword [ecx + 0x24], edx
jne 0x71ac77f8
cmp edx, eax
jne 0x71af2f6c
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.71ae9208
test dword [ebx + 0x10], 0x60000000
jne 0x71af2f7a
call fcn.71b21586
and dword [ebx + 0x10], 0x9fffffff
jmp 0x71ad6558
mov eax, dword [edi + 0x28]
test byte [eax + 0x10], 0x1f
je 0x71ad60a6
jmp 0x71ac78c4
inc eax
add ecx, 0x20
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jb 0x71af2db1
push edi
mov ecx, esi
call fcn.71ae84d0
jmp 0x71af2df2
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x19cc]
push dword [edx + 0x718]
push 3
movzx eax, word [ecx + 0x2c]
push eax
push ecx
mov ecx, edx
call fcn.71aed7f2
jmp 0x71ac7915
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [eax + 0x19cc]
cmp word [eax + 0x2c], dx
jne 0x71ac78c4
test cl, cl
jne 0x71ad6048
jmp 0x71ac78c4
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], eax
jmp 0x71ac7672
xor eax, eax
mov ecx, esi
push eax
call fcn.71ac8482
jmp 0x71ac7728
cmp cl, 7
jne 0x71af9437
cmp dword [ebx + 0x24], 0
je 0x71ac7646
cmp dword [ebx + 0x24], 1
je 0x71ac7646
call fcn.71b21586
jmp 0x71ac7646
cmp esi, ebx
je 0x71ac78c4
cmp esi, edi
je 0x71ac78c4
cmp esi, dword [ebp - 0x28]
je 0x71ac78c4
cmp esi, dword [ebp - 0x2c]
je 0x71ac78c4
push ecx
push esi
call fcn.71ac7971
test al, al
je 0x71ac7424
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
push dword [esi + 0x24]
call fcn.71ac74cf
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x24], eax
xor eax, eax
push eax
push dword [ebp + 8]
jmp 0x71adebbc
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x28], ecx
mov al, byte [ecx]
cmp al, 0x2c
je 0x71af99d5
cmp al, 0x2b
jne 0x71adeb19
mov ecx, dword [ecx + 0x28]
cmp byte [ecx], 7
jne 0x71adeb19
mov ecx, dword [ecx + 0x24]
test ecx, ecx
js 0x71adeb19
mov al, byte [ebx + 1]
cmp al, 8
jne 0x71b2432d
mov edx, dword [ebx + 0x28]
cmp byte [edx], 7
jne 0x71adeb19
cmp dword [edx + 0x24], 1
jne 0x71adeb19
cmp ecx, 0x1f
jg 0x71adeb19
xor eax, eax
inc eax
shl eax, cl
cmp dword [ebp - 0x14], 1
mov dword [edx + 0x24], eax
jne 0x71af9a45
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
call fcn.71ae9208
xor eax, eax
mov dword [edi + 0x24], eax
mov eax, dword [ebp + 8]
mov al, byte [eax]
mov byte [ebp - 9], al
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
mov dword [ebx + 0x24], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71adeb19
mov eax, dword [eax + 0x10]
and eax, 0x4000
or dword [edi + 0x10], eax
mov eax, edi
jmp 0x71ac78c6
movzx eax, byte [edx]
test byte [eax + 0x627b450], 1
je 0x71ad65ea
movzx eax, byte [edi + 1]
test byte [eax + 0x627b5f0], 0x18
jne 0x71b24663
mov dword [esi + 0x28], edx
mov dword [ebx + 0x28], edi
mov eax, dword [edi + 0x10]
and eax, 0x1f
or dword [ebx + 0x10], eax
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x28]
jmp 0x71ad65ea
and dword [eax + 0x10], 0xffffbfff
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x10]
and ecx, 0x4000
or dword [eax + 0x10], ecx
jmp 0x71ac78c6
cmp dl, 0x3f
je 0x71b0f012
cmp dl, 0x3d
jne 0x71adeb24
mov al, 0x3e
jmp 0x71adde61
test dword [edi + 0x10], 0x10000000
jne 0x71adb404
mov dl, byte [edi + 0x28]
mov al, dl
sub al, 2
cmp al, 5
ja 0x71ac790e
cmp dl, cl
jb 0x71ac790e
mov edi, dword [edi + 0x24]
mov dword [esi + 0x28], edi
jmp 0x71ac790e
cmp byte [ebx + 1], 0xe
je 0x71ad64f3
movzx eax, byte [edi]
test byte [eax + 0x627b450], 1
jne 0x71b240b6
test byte [esi + 0x10], 0x20
jne 0x71b240da
mov dword [esi + 0x24], edi
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], ebx
mov ebx, edi
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x28]
jmp 0x71ad64f3
cmp edx, 1
jbe 0x71ac77f8
mov ecx, edx
call fcn.71afe425
test al, al
je 0x71ac77f8
mov eax, edx
xor edx, edx
push 0x25
pop ecx
div ecx
movsx eax, byte [edx + 0x627c848]
mov dword [ebp - 0x18], eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
shr eax, cl
mov dword [ebp - 0x24], eax
cmp eax, 3
jne 0x71afe48f
cmp dword [edi + 0x24], 0
mov esi, dword [ebp - 0x10]
jl 0x71b24128
push 8
mov dl, 7
mov ecx, esi
call fcn.71ac20cf
mov ecx, dword [ebp - 0x24]
mov dl, 0x22
push eax
push ebx
mov dword [eax + 0x24], ecx
xor ecx, ecx
mov dword [eax + 0x28], ecx
mov ecx, esi
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 1]
push eax
call fcn.71ac2b72
mov ebx, eax
mov ecx, esi
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], ebx
xor eax, eax
push eax
push ebx
call fcn.71ac7478
mov eax, dword [ebp - 0x18]
jmp 0x71aede84
cmp eax, 5
je 0x71afe3cb
cmp eax, 9
jne 0x71ac77f8
jmp 0x71afe3cb
cmp byte [edi], 7
jne 0x71ac78c4
cmp byte [ebx], 0x20
jne 0x71ac78c4
mov edx, dword [ebx + 0x28]
cmp byte [edx], 7
jne 0x71ac78c4
mov ecx, edi
call fcn.71aff820
test eax, eax
je 0x71ac78c4
mov eax, 0x10000000
test dword [esi + 0x10], eax
jne 0x71ac78c4
test dword [ebx + 0x10], eax
jne 0x71ac78c4
mov eax, dword [edx + 0x24]
mov ecx, dword [edi + 0x24]
imul eax, ecx
mov byte [esi], 0x20
mov byte [esi + 0x13], 0
mov dword [edi + 0x24], eax
mov byte [ebx], 0x22
jmp 0x71aee5a0
movzx eax, byte [esi + 1]
test byte [eax + 0x627b5f0], 4
je 0x71ac78c4
jmp 0x71ad603b
movzx eax, byte [ebx]
test byte [eax + 0x627b450], 1
je 0x71ac77f8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1920]
shr eax, 0xb
test al, 1
je 0x71ac77f8
call fcn.71b21586
jmp 0x71ac7915
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], ecx
jmp 0x71ac7697
mov byte [esi + 1], 1
mov byte [ebp - 0xa], 1
jmp 0x71ae083f
xor eax, eax
cmp dword [edi + 0x28], eax
ja 0x71adeaf1
jb 0x71b039ac
cmp dword [edi + 0x24], 1
ja 0x71adeaf1
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x14], edx
jmp 0x71adeaf1
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x24]
sar eax, 0x1f
cmp dword [edi + 0x28], 0
jne 0x71adeb24
and ecx, 0x80000000
or ecx, edx
jne 0x71adeb24
mov al, byte [ebx]
cmp al, 0x29
jne 0x71b03a4d
cmp byte [ebx + 1], 0xa
jne 0x71b24395
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x18], ecx
cmp byte [ecx], 8
jne 0x71adeb24
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x28]
mov cl, 0x20
call fcn.71b07728
test eax, eax
jne 0x71adeb24
push dword [ebx + 0x24]
mov ecx, dword [ebp - 0x10]
push 8
push 0x18
call fcn.71ac2c3e
mov esi, dword [ebp - 0x18]
mov byte [eax + 0x28], 8
mov dword [ebx + 0x24], eax
cmp esi, dword [ebx + 0x28]
jne 0x71b243a8
mov word [esi], 0x807
mov byte [ebx + 1], 8
mov word [edi], 0x807
jmp 0x71adde82
cmp al, 0x18
jne 0x71adeb24
mov eax, dword [ebx + 0x24]
cmp byte [eax + 1], 8
jne 0x71adeb24
test dword [ebx + 0x10], 0x10000000
jne 0x71adeb24
mov ecx, dword [ebp - 0x10]
mov dl, 7
mov dword [esi + 0x24], eax
mov esi, dword [edi + 0x24]
push 8
call fcn.71ac20cf
xor ecx, ecx
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
jmp 0x71adde82
mov eax, dword [edi + 0x28]
cmp byte [eax], 7
jne 0x71ae9486
cmp byte [ebp - 0xa], 9
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x18], eax
ja 0x71b246b7
cmp dl, 0x29
je 0x71b040c5
cmp dl, 0x27
jne 0x71ae9486
cmp eax, 0xffffffff
jne 0x71ad60d3
mov eax, dword [edi + 0x28]
mov dword [esi + 0x28], eax
jmp 0x71ad61af
test eax, eax
jne 0x71b04088
jmp 0x71b0409a
cmp byte [edx], 0x2d
jne 0x71af2ef2
cmp byte [eax], 0x2d
jne 0x71af2ef2
mov cl, byte [edx + 1]
mov byte [ebp - 0x1d], cl
cmp cl, 0xa
je 0x71af2ef2
mov edx, dword [eax + 0x24]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x24]
call fcn.71ade7c0
mov edx, dword [ebp - 0x14]
test al, al
je 0x71af2ef2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x28]
mov ecx, dword [ecx + 0x28]
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x71af2ef2
mov ebx, dword [ebp - 0x1c]
mov al, byte [ebp - 0x1d]
cmp al, byte [ebx + 1]
je 0x71b0653c
call fcn.71b21586
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x28]
mov dword [edi + 0x24], eax
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [edx + 0x28]
mov cl, byte [eax + 1]
mov byte [edi + 1], cl
mov eax, dword [ebp + 8]
mov byte [eax + 1], cl
mov eax, dword [ebp + 8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
and eax, 0x1f
or dword [edx + 0x10], eax
mov ecx, dword [edi + 0x28]
and dword [edi + 0x10], 0xffffffe0
mov edx, dword [edi + 0x24]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x10]
or ecx, dword [edx + 0x10]
and ecx, 0x1f
or dword [edi + 0x10], ecx
jmp 0x71ac78c6
movzx eax, dl
test byte [eax + 0x627b5f0], 4
jne 0x71b23f15
cmp dl, 0xa
jne 0x71ac7646
jmp 0x71aedfa8
cmp dl, 0x21
jne 0x71ac78c4
jmp 0x71ad6123
cmp dl, 0xa
jne 0x71ac7646
mov dword [ebp - 0x14], 0xb
jmp 0x71aedfc1
mov al, byte [edi]
cmp al, 7
jne 0x71b0a272
cmp dword [edi + 0x24], 1
je 0x71ad6558
cmp al, 8
jne 0x71ac78c4
cmp dword [edi + 0x24], 1
jne 0x71ac78c4
xor eax, eax
cmp dword [edi + 0x28], eax
je 0x71ad6558
jmp 0x71ac78c4
movzx eax, byte [esi + 1]
test byte [eax + 0x627b5f0], 4
je 0x71ac78c4
jmp 0x71ad605b
cmp byte [edi], 0x18
jne 0x71aee3bc
mov ecx, dword [ebx + 0x24]
movzx eax, byte [ecx + 1]
cmp byte [eax + 0x627b430], 8
jne 0x71aee3bc
mov edx, dword [edi + 0x24]
movzx eax, byte [edx + 1]
cmp byte [eax + 0x627b430], 8
jne 0x71aee3bc
mov eax, dword [ebx + 0x10]
test eax, 0x10000000
jne 0x71aee3bc
test dword [edi + 0x10], 0x10000000
jne 0x71aee3bc
xor eax, dword [edi + 0x10]
test eax, 0x100000
jne 0x71b0af20
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
test eax, 0x10000000
jne 0x71b0ea1b
and eax, 0xefffffff
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xffefffff
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
and eax, 0x100000
or dword [ecx + 0x10], eax
mov ecx, esi
push dword [ebx + 0x24]
call fcn.71ac74cf
mov dword [ebx + 0x24], eax
mov ecx, esi
push dword [edi + 0x24]
call fcn.71ac74cf
mov dword [edi + 0x24], eax
and dword [ebx + 0x10], 0xffffffe0
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
and eax, 0x1f
or dword [ebx + 0x10], eax
and dword [edi + 0x10], 0xffffffe0
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx + 0x10]
and eax, 0x1f
or dword [edi + 0x10], eax
mov eax, dword [ebx + 0x24]
movzx ecx, byte [ecx]
movzx eax, byte [eax]
mov al, byte [eax + 0x627b450]
and al, byte [ecx + 0x627b450]
test al, 1
jne 0x71b23e89
mov eax, dword [ebp + 8]
or dword [eax + 0x10], 0x40000000
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
and eax, 0x100000
or dword [ecx + 0x10], eax
mov eax, dword [ebx + 0x24]
cmp byte [eax], 0xc
je 0x71b0ac8d
push eax
push 8
push 0xc
mov ecx, esi
call fcn.71ac2c3e
and dword [ebx + 0x10], 0xffffffe0
mov dword [ebx + 0x24], eax
mov eax, dword [eax + 0x10]
and eax, 0x1f
or eax, dword [ebx + 0x10]
or eax, 0x4000
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 0x24]
cmp byte [eax], 0xc
je 0x71b0acb9
push eax
push 8
push 0xc
mov ecx, esi
call fcn.71ac2c3e
and dword [edi + 0x10], 0xffffffe0
mov dword [edi + 0x24], eax
mov eax, dword [eax + 0x10]
and eax, 0x1f
or eax, dword [edi + 0x10]
or eax, 0x4000
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xffffffe0
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp + 8]
or eax, dword [ebx + 0x10]
and eax, 0x1f
or dword [ecx + 0x10], eax
jmp 0x71ac7728
mov eax, dword [ebp + 8]
mov cl, byte [edi + 1]
mov byte [eax + 1], cl
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x10]
and eax, 0x10100004
or dword [ecx + 0x10], eax
jmp 0x71ad6105
cmp byte [ecx], 7
je 0x71b23e82
cmp byte [edx], 7
jne 0x71aee3cc
mov ecx, edi
mov eax, dword [ecx + 0x24]
cmp dword [eax + 0x24], 0x80000000
jae 0x71aee3cc
xor dword [ecx + 0x10], 0x100000
jmp 0x71b0abc1
mov ecx, dword [ebx + 0x28]
cmp byte [ecx], 7
jne 0x71af1840
cmp byte [ebx + 1], 8
jne 0x71af1840
test dword [ebx + 0x10], 0x10000000
jne 0x71af1840
mov ecx, dword [ecx + 0x24]
cmp al, 0x20
jne 0x71b2426e
sub dword [edi + 0x24], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x24]
mov ebx, eax
mov dword [ecx + 0x24], eax
mov esi, dword [ebp + 8]
jmp 0x71af182e
movzx eax, byte [esi + 1]
test byte [eax + 0x627b5f0], 4
je 0x71ad605b
jmp 0x71ac78c4
test eax, 0x100000
je 0x71b0abd2
test dword [ebx + 0x10], 0x100000
jne 0x71b0abd2
jmp 0x71aee3cc
mov al, 0x40
jmp 0x71adde61
mov al, 0x3d
jmp 0x71adde61
mov al, byte [ebx + 0x42]
and al, 7
cmp al, 1
jne 0x71ac7646
jmp 0x71ade976
mov cl, byte [edi]
cmp cl, 7
je 0x71b0fb23
cmp cl, 8
je 0x71b10977
cmp cl, 7
jne 0x71ac78c4
cmp dword [edi + 0x24], 1
jne 0x71ac78c4
movzx eax, byte [ebx]
test byte [eax + 0x627b450], 0x10
je 0x71ac78c4
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.71ae9208
jmp 0x71ad6558
cmp dword [edi + 0x24], 0xffffffff
jne 0x71b0fac3
mov byte [esi], 0xb
xor ecx, ecx
mov byte [esi + 0x13], cl
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], ecx
jmp 0x71ad61af
mov eax, dword [edi + 0x24]
and eax, dword [edi + 0x28]
cmp eax, 0xffffffff
jne 0x71b0facc
jmp 0x71b0fb29
and ecx, 0x100000
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 9
jmp 0x71aedfbb
mov edx, dword [edi + 0x24]
xor eax, eax
push eax
mov ecx, ebx
call fcn.71ade7c0
test al, al
je 0x71ac78c4
movzx esi, byte [ebp - 0xa]
mov al, byte [esi + 0x627b430]
cmp al, 8
jne 0x71b24697
cmp byte [esi + 0x627b430], 8
mov ecx, dword [ebp - 0x10]
jne 0x71b246a9
push 8
mov dl, 7
call fcn.71ac20cf
or dword [eax + 0x24], 0xffffffff
xor ecx, ecx
mov dword [eax + 0x28], ecx
mov dword [edi + 0x28], eax
mov dl, 0x28
mov esi, dword [ebp + 8]
mov byte [ebp - 9], dl
jmp 0x71ad60d3
cmp byte [edi + 1], 1
jne 0x71ae082c
jmp 0x71affe38
mov esi, dword [ebp - 0x10]
jmp 0x71ac7646
cmp dl, 0xa
jne 0x71ac7646
mov dword [ebp - 0x14], 0xd
jmp 0x71aedfc1
cmp ecx, 0x80000000
je 0x71aede6d
movzx eax, byte [ebx + 1]
mov ecx, esi
push ebx
push eax
push 0xd
call fcn.71ac2c3e
mov ebx, eax
mov ecx, esi
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], ebx
xor eax, eax
push eax
push ebx
call fcn.71ac7478
mov eax, dword [ebp - 0x24]
jmp 0x71aede6d
test al, al
je 0x71b23fdf
mov eax, dword [ebx + 0x28]
mov dl, dh
mov ecx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x28]
push dword [eax + 0x24]
push ecx
push 8
mov ecx, esi
call fcn.71ac2b72
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x10]
and ecx, 0x60004000
or dword [eax + 0x10], ecx
push eax
mov ecx, esi
jmp 0x71adea95
mov cl, byte [ebx + 1]
mov al, cl
sub al, 2
cmp al, 5
ja 0x71ad60d3
movzx eax, cl
test byte [eax + 0x627b5f0], 2
je 0x71ad60d3
mov eax, dword [edi + 0x24]
cmp cl, byte [eax + 1]
je 0x71b17fb2
call fcn.71b21586
mov esi, dword [ebp + 8]
mov dl, 0x2c
jmp 0x71b11a81
call fcn.71b21586
jmp 0x71ac75a4
call fcn.71b21586
jmp 0x71aee3b3
mov ecx, ebx
jmp 0x71b0af34
mov eax, dword [esi + 0x1920]
shr eax, 0xb
test al, 1
je 0x71b0ac49
push ebx
mov ecx, esi
call fcn.71aeda96
mov ebx, dword [ebp - 0x10]
mov esi, eax
mov eax, dword [ebp + 8]
mov ecx, ebx
push edi
mov dword [eax + 0x24], esi
call fcn.71aeda96
mov ecx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], ecx
movzx eax, byte [ecx]
movzx ecx, byte [esi]
mov al, byte [eax + 0x627b450]
and al, byte [ecx + 0x627b450]
test al, 1
jne 0x71b23edb
call fcn.71b21586
push dword [ebp + 8]
mov ecx, ebx
call fcn.71aeda96
mov ecx, eax
mov dword [ebp + 8], ecx
movzx eax, byte [ecx]
test byte [eax + 0x627b450], 1
jne 0x71b23efe
call fcn.71b21586
mov ecx, dword [ebp + 8]
mov eax, ecx
jmp 0x71ac78c6
call fcn.71b21586
mov dl, byte [ebp - 0x2c]
jmp 0x71aedeba
mov dword [ebp - 0x14], 0x1a
test edi, edi
jne 0x71b23f28
call fcn.71b21586
cmp byte [ebx + 1], 0xc
jne 0x71b23f60
cmp byte [edi + 1], 0xc
jne 0x71b23f43
mov dword [ebp - 0x14], 0x19
jmp 0x71aedfc1
push ebx
push 0xd
push 0x18
mov ecx, esi
call fcn.71ac2c3e
mov ebx, eax
mov byte [ebx + 0x28], 0xd
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], ebx
jmp 0x71aedfc1
cmp byte [edi + 1], 0xc
jne 0x71aedfc1
push edi
push 0xd
push 0x18
mov ecx, esi
call fcn.71ac2c3e
mov edi, eax
mov byte [edi + 0x28], 0xd
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
jmp 0x71aedfc1
call fcn.71b21586
jmp 0x71aedfd4
push ecx
push eax
call fcn.71ac7971
test al, al
jne 0x71b23fa1
call fcn.71b21586
push dword [ebp + 8]
jmp 0x71b15dc0
cmp dword [ebp - 0x24], eax
jne 0x71b15dbf
push eax
mov ecx, esi
call fcn.71ad0363
jmp 0x71ac78c6
call fcn.71b21586
mov eax, dword [ebp + 8]
jmp 0x71ad628b
call fcn.71b21586
mov dh, byte [ebp - 9]
jmp 0x71ade912
mov edx, edi
mov eax, ebx
mov dword [ebp - 0x2c], edx
jmp 0x71ade9b5
cmp byte [ecx + 1], 8
jne 0x71ade9d2
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x3c], eax
jmp 0x71ade9d2
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x3c], eax
jmp 0x71ade9db
call fcn.71b21586
jmp 0x71af2b64
call fcn.71b21586
jmp 0x71af2b7b
call fcn.71b21586
jmp 0x71af2bc4
call fcn.71b21586
jmp 0x71af2bdb
call fcn.71b21586
xor ecx, ecx
jmp 0x71ad635e
cmp dword [ebx + 0x24], ecx
je 0x71b24052
call fcn.71b21586
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0x7fffffff
mov eax, dword [ebp + 8]
or dword [eax + 0x10], 0x4000000
jmp 0x71ac76a4
call fcn.71b21586
jmp 0x71ad63b4
call fcn.71b21586
jmp 0x71ac76b0
call fcn.71b21586
jmp 0x71af2c24
call fcn.71b21586
jmp 0x71af2d37
mov eax, dword [ebp - 0x2c]
jmp 0x71af6ead
mov al, byte [edx + 0x627b430]
jmp 0x71ad6403
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71ad64e3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1920]
shr eax, 0xb
test al, 1
je 0x71afce55
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71afce55
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71afce5f
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71aede2c
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71aede39
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71ae83d5
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71ae83e6
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71ae83f9
cmp dword [edi + 0x24], 0x80000000
je 0x71afe3db
movzx eax, byte [ebx + 1]
mov ecx, esi
push ebx
push eax
push 0xd
call fcn.71ac2c3e
mov ebx, eax
mov ecx, esi
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], ebx
xor eax, eax
push eax
push ebx
call fcn.71ac7478
jmp 0x71afe3db
call fcn.71b21586
mov esi, dword [ebp + 8]
mov al, byte [ebp - 9]
jmp 0x71ac7806
test dword [ebx + 0x10], 0x8000
jne 0x71b24185
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x6d0], 1
mov esi, dword [ebx + 0x24]
cmp byte [esi + 1], 1
je 0x71b24193
call fcn.71b21586
mov al, byte [ebp - 9]
cmp al, 0x41
jne 0x71b244c8
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], esi
jmp 0x71ac7424
movzx eax, byte [ebx + 1]
test byte [eax + 0x627b5f0], 4
jne 0x71af816d
call fcn.71b21586
jmp 0x71af816d
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71aee6f5
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71aebc05
call fcn.71b21586
mov esi, dword [ebp + 8]
jmp 0x71aebc12
mov al, byte [ecx + 1]
cmp byte [ebp - 0xa], al
jne 0x71aebc3b
cmp al, 0x11
je 0x71aebc3b
movzx eax, al
test byte [eax + 0x627b5f0], 0x18
je 0x71b23efe
call fcn.71b21586
mov ecx, dword [ebp - 0x14]
jmp 0x71b23efe
call fcn.71b21586
mov eax, dword [ebp - 0x14]
jmp 0x71aebc77
call fcn.71b21586
jmp 0x71aebc89
test byte [ebx + 0x10], 7
je 0x71afae26
xor eax, eax
mov byte [esi], 0x41
mov byte [esi + 0x13], al
jmp 0x71ac7424
mov al, byte [esi + 1]
mov byte [edi + 1], al
jmp 0x71afae26
cmp al, 0xe
jne 0x71ad6558
jmp 0x71ac77f8
add dword [edi + 0x24], ecx
jmp 0x71b0e03b
mov esi, dword [edx + 0x24]
xor ecx, ecx
cmp dword [ebp - 0x14], ecx
sete cl
xor eax, eax
cmp byte [ebp - 9], 0x3b
sete al
cmp ecx, eax
jne 0x71b242a5
mov ecx, dword [ebp - 0x10]
call fcn.71ae9208
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x24], ebx
and dword [ebx + 0x10], 0xffffffe0
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x28], esi
mov ecx, dword [eax + 0x10]
and ecx, 0x1f
or ecx, dword [ebx + 0x10]
mov dword [ebx + 0x10], ecx
mov eax, dword [esi + 0x10]
and eax, 0x1f
or eax, ecx
mov dword [ebx + 0x10], eax
test dword [edx + 0x10], 0x40000000
je 0x71b242dd
call fcn.71b21586
mov edx, dword [ebp - 0x34]
test byte [edx + 0x10], 0x20
je 0x71b242ee
call fcn.71b21586
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x10]
and ecx, 0x6000401f
or dword [edx + 0x10], ecx
mov eax, edx
jmp 0x71ac78c6
call fcn.71b21586
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], esi
jmp 0x71af2764
call fcn.71b21586
jmp 0x71aec00f
cmp al, 0xa
jne 0x71af9a45
mov eax, dword [ebx + 0x28]
xor edx, edx
cmp byte [eax], 8
jne 0x71adeb1b
cmp dword [eax + 0x24], 1
jne 0x71adeb1b
cmp dword [eax + 0x28], edx
jne 0x71adeb1b
cmp ecx, 0x3f
jg 0x71adeb1b
xor eax, eax
inc eax
call fcn.71ac84b0
cmp dword [ebp - 0x14], 1
mov ecx, dword [ebx + 0x28]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], edx
jne 0x71af9a45
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
call fcn.71ae9208
xor eax, eax
mov dword [edi + 0x28], eax
jmp 0x71af9a37
call fcn.71b21586
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71b039eb
call fcn.71b21586
jmp 0x71b03a3a
call fcn.71b21586
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71adeb34
mov ecx, edi
call fcn.71adffa0
mov esi, dword [ebp + 8]
jmp 0x71ae0837
movzx eax, byte [ebx]
test byte [eax + 0x627b450], 0x10
jne 0x71b243e5
call fcn.71b21586
test byte [ebx + 0x10], 4
jne 0x71b243f0
call fcn.71b21586
mov eax, dword [ebp + 8]
xor ecx, ecx
push 1
mov dl, 0xc
mov byte [eax + 0x13], cl
mov ecx, dword [ebp - 0x10]
mov byte [eax], 0x41
call fcn.71ac20cf
xor edx, edx
mov dword [eax + 0x24], edx
mov dword [eax + 0x28], edx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 0x24]
mov byte [ebx], 0x41
mov byte [ebx + 0x13], dl
mov al, byte [eax + 1]
mov byte [ebx + 1], al
jmp 0x71ac7424
call fcn.71b21586
jmp 0x71af2ed3
cmp byte [edx + 1], 1
jne 0x71af2efb
cmp byte [edi + 1], 1
je 0x71b24454
call fcn.71b21586
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx], 0xc
jne 0x71b24499
cmp byte [ecx + 1], 1
jne 0x71b24499
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x18], eax
test al, 7
je 0x71b242fd
push dword [ebx + 0x24]
call fcn.71aebf32
test al, al
jne 0x71af2f01
mov eax, dword [ebp - 0x18]
and eax, 0x9fffffff
mov dword [ebx + 0x10], eax
jmp 0x71ad6558
mov dword [ebp - 0x14], ecx
mov eax, edx
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
mov dword [edi + 0x24], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x28], eax
call fcn.71ae9208
mov esi, dword [ebp + 8]
jmp 0x71af2efb
cmp al, 0xc
je 0x71ac7826
movzx edx, byte [ebp - 0xa]
movzx ecx, byte [ebx + 1]
mov al, byte [edx + 0x627b430]
cmp al, byte [ecx + 0x627b430]
je 0x71ad6558
mov cl, byte [ebp - 0xa]
cmp cl, 1
je 0x71ac78c4
mov eax, dword [ebx + 0x28]
and dword [eax + 0x10], 0x8000
cmp cl, 0xa
jne 0x71b24521
xor ecx, ecx
mov word [eax], 0xa08
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov byte [ebx + 1], 0xa
jmp 0x71ad6558
test byte [edx + 0x627b5f0], 4
je 0x71b2453d
fldz
fstp qword [eax + 0x24]
mov word [eax], 0xd09
mov byte [ebx + 1], 0xd
jmp 0x71ad6558
xor ecx, ecx
mov word [eax], 0x807
mov dword [eax + 0x24], ecx
mov byte [ebx + 1], 8
jmp 0x71ad6558
mov esi, 0x8000
test dword [edi + 0x10], esi
jne 0x71b24567
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x6d0], 1
test byte [ebx + 0x10], 0x1f
jne 0x71ac783c
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
test byte [eax + 0x627b450], 0x40
je 0x71b24588
mov eax, dword [edi + 0x24]
jmp 0x71ac78c6
mov dl, byte [ebp - 0xa]
cmp dl, 0xa
jne 0x71b24642
movzx eax, byte [edi + 1]
cmp byte [eax + 0x627b430], 8
jne 0x71b2461f
mov al, byte [ebp - 9]
cmp al, 0x2a
je 0x71b245c1
cmp al, 0x2b
je 0x71b245c1
cmp al, 0x2c
je 0x71b245c1
call fcn.71b21586
mov dl, byte [ebp - 0xa]
mov eax, dword [edi + 0x28]
and dword [eax + 0x10], esi
xor ebx, ebx
mov word [eax], 0xa08
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov byte [edi + 1], 0xa
mov ecx, dword [ebp + 8]
cmp dl, 8
jne 0x71b2461f
movzx eax, byte [edi + 1]
cmp byte [eax + 0x627b430], 0xa
je 0x71b245f6
test byte [eax + 0x627b5f0], 4
je 0x71b2461f
movzx eax, byte [ecx]
test byte [eax + 0x627b450], 0x10
jne 0x71b2460d
call fcn.71b21586
mov dl, byte [ebp - 0xa]
mov eax, dword [edi + 0x28]
and dword [eax + 0x10], esi
mov word [eax], 0x807
mov dword [eax + 0x24], ebx
mov byte [edi + 1], 8
movzx ecx, byte [edi + 1]
movzx eax, dl
mov al, byte [eax + 0x627b430]
cmp al, byte [ecx + 0x627b430]
je 0x71afae26
call fcn.71b21586
jmp 0x71afae26
xor ebx, ebx
jmp 0x71b245db
mov dword [esi + 0x24], edi
mov edi, ebx
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], ebx
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x24]
and dword [eax + 0x10], 0xffffffdf
mov esi, dword [ebp + 8]
jmp 0x71ad6569
test cl, 0x18
jne 0x71b24673
call fcn.71b21586
mov edx, dword [ebp - 0x18]
mov al, byte [ebp - 0xa]
mov byte [ebx + 1], al
mov esi, dword [ebp + 8]
jmp 0x71afb01e
call fcn.71b21586
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
jmp 0x71ad5fcc
cmp al, 0xa
je 0x71b11a54
call fcn.71b21586
jmp 0x71b11a54
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.71aff19f
jmp 0x71b11a79
call fcn.71b21586
mov esi, dword [ebp + 8]
mov dl, byte [ebp - 9]
mov eax, dword [ebp - 0x18]
jmp 0x71b04083
mov eax, dword [edi + 0x28]
cmp cl, byte [eax + 1]
je 0x71ad60e7
mov eax, dword [ebp - 0x10]
imul ecx, dword [ebx + 0x24], 0x60
mov eax, dword [eax + 0x1c]
test byte [ecx + eax + 4], 0x40
je 0x71ad60e7
jmp 0x71ac78c4
mov edx, dword [edi + 0x28]
xor eax, eax
push eax
mov ecx, ebx
call fcn.71ade7c0
test al, al
je 0x71ac78c4
mov esi, dword [ebp - 0x18]
jmp 0x71ad615b
cmp al, 0x21
je 0x71b24722
call fcn.71b21586
mov eax, dword [ebp + 8]
mov dl, 0x21
push esi
push edi
mov al, byte [eax + 1]
mov byte [ebp - 0x18], al
jmp 0x71ad6191