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

Disassembly:
xor edi, edi
jmp 0x71cf75f4
xor eax, eax
mov edi, eax
jmp 0x71cf77ad
cmp ecx, 0x43
jbe 0x71d0e939
sub ecx, 0x45
je 0x71d1e485
sub ecx, dword [ebp - 0x30]
je 0x71d0e90a
sub ecx, 8
jne 0x71cf7646
cmp byte [esi + 0x6e0], cl
je 0x71cf7661
mov cl, byte [esi + 0x1979]
mov al, cl
mov dword [ebp - 0x18], ecx
sub al, byte [ebp - 0x30]
cmp al, 5
ja 0x71cf7646
test ebx, ebx
je 0x71cf7646
cmp byte [ebx + 1], 1
je 0x71cf7646
push ecx
push ebx
call fcn.71d0c52f
test al, al
je 0x71cf7646
push ebx
push 8
push 0x18
mov ecx, esi
call fcn.71cf2c3e
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.71d1db70
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 0x71cf78c6
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x6544000]
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 + 0x653b450], 0x3c
je 0x71d53e6e
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 + 0x653b450], 8
mov byte [ebp - 9], dh
mov byte [ebp - 0x2c], dl
mov dword [ebp - 0x28], ebx
je 0x71cf7358
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], 2
cmp ecx, 0x2d
ja 0x71cf7368
je 0x71d06275
cmp ecx, 0x23
ja 0x71d1de97
je 0x71d398ef
cmp ecx, 0xe
je 0x71d06294
cmp ecx, 0x18
je 0x71d1dd74
cmp ecx, 0x1c
je 0x71d06294
cmp ecx, 0x22
je 0x71d1e3a2
cmp byte [esi + 0x6e0], 0
je 0x71cf7661
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.71cf3cd1
test al, al
jne 0x71d0640b
test ebx, ebx
je 0x71cf76e2
cmp byte [ebp - 0xa], 0
jne 0x71d22b57
push ebx
mov ecx, esi
call fcn.71cf74cf
cmp byte [ebp - 0xa], 0
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], ebx
mov dword [eax + 0x24], ebx
jne 0x71d22bb7
xor ecx, ecx
cmp byte [ebp - 9], 0x1d
je 0x71d06334
mov eax, dword [ebp + 8]
cmp byte [eax], 0x4b
je 0x71d54075
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xfffffffd
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.71cf3cd1
test al, al
jne 0x71cf76cc
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 0x71d0dffd
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x71cf7728
cmp byte [ebp - 0xa], 0
jne 0x71d22c17
push edi
mov ecx, esi
call fcn.71cf74cf
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 0x71d22d2a
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 1]
test byte [eax + 0x653b5f0], 0x18
jne 0x71d063c2
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 0x71d22e98
push dword [ebp + 8]
mov ecx, esi
call fcn.71cf38ef
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp + 8], esi
cmp dword [ebp - 0x24], esi
jne 0x71d29441
mov dl, byte [esi]
movzx ecx, dl
mov byte [ebp - 9], dl
mov al, byte [ecx + 0x653b450]
test al, 1
jne 0x71cf78c4
mov ch, byte [esi + 1]
mov ebx, dword [esi + 0x24]
mov byte [ebp - 0xa], ch
test al, 8
je 0x71cf735f
mov edi, dword [esi + 0x28]
movzx eax, dl
cmp eax, 0x29
ja 0x71cf78e2
cmp eax, 0x27
jae 0x71d064db
cmp eax, 0x1d
ja 0x71d064c5
jne 0x71d0fdcb
xor edx, edx
cmp dword [esi + 0x10], edx
jl 0x71d1e6ec
mov cl, byte [ebx]
cmp cl, 0x1c
je 0x71d1b8d5
cmp cl, 0x20
jne 0x71cf77f8
mov eax, dword [ebx + 0x24]
cmp byte [eax], 0x1c
je 0x71d1bbd0
mov al, byte [ebp - 9]
cmp al, byte [esi]
jne 0x71d5415c
cmp al, 0x2d
je 0x71cf783f
cmp al, 0x43
je 0x71cf783f
cmp byte [esi], 0x48
je 0x71cf783f
test ebx, ebx
je 0x71cf7829
push ecx
push ebx
call fcn.71cf7971
test al, al
jne 0x71d5416f
mov esi, dword [ebp + 8]
test edi, edi
je 0x71cf783f
push ecx
push edi
call fcn.71cf7971
test al, al
jne 0x71d54550
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
test dword [ecx + 0x1920], 0x100
je 0x71cf78c4
mov dl, byte [ebp - 9]
movzx eax, dl
mov dword [ebp - 0x28], eax
cmp byte [eax + 0x653b450], 0x80
jae 0x71d0655f
cmp dl, 0x20
mov dl, byte [ebp - 0xa]
je 0x71d0659c
mov eax, dword [ebp - 0x28]
sub eax, 0x22
je 0x71d2e4a6
sub eax, 1
je 0x71d3a262
sub eax, 5
je 0x71d3fabc
sub eax, dword [ebp - 0x30]
je 0x71d1e551
sub eax, 3
je 0x71d05f94
sub eax, 0x27
je 0x71d1b3e4
sub eax, 1
je 0x71d1b39b
mov eax, esi
lea esp, [ebp - 0x64]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.71cf38e0
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x41
ja 0x71cf791d
je 0x71d10811
cmp eax, 0x2d
jne 0x71d0ea9f
mov al, byte [ebx]
cmp al, 1
jne 0x71cf7906
or dword [ebx + 0x10], 0x80000000
mov esi, dword [ebp + 8]
cmp al, 0x1d
je 0x71d0b3e5
or dword [ebx + 0x10], 0x4000
mov esi, dword [ebp + 8]
jmp 0x71cf77f8
sub eax, 0x42
je 0x71d22ebb
sub eax, 1
je 0x71d22ca3
sub eax, 4
jne 0x71cf77f8
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x6d0], 0
je 0x71cf77f8
push ecx
push ebx
call fcn.71cf7971
test al, al
je 0x71d543d4
mov esi, dword [ebx + 0x24]
cmp byte [esi + 1], 1
je 0x71cf78c4
call fcn.71d51586
jmp 0x71cf78c4
cmp dl, 0xa
je 0x71cf78c4
mov al, byte [ebx]
cmp al, 1
sete cl
mov byte [ebp - 0x1d], cl
cmp al, 1
jne 0x71d05fe6
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 0x71d54684
test byte [edx + 2], 8
jne 0x71d1b81c
test byte [edi + 0x10], 1
jne 0x71cf78c4
mov cl, byte [ebp - 0x1d]
test cl, cl
je 0x71d0644f
cmp byte [ebx], 0x1d
je 0x71d0ffb4
mov al, byte [edi]
mov byte [ebp - 9], al
movzx eax, al
mov dword [ebp - 0x18], eax
cmp eax, 0x22
ja 0x71d147d0
je 0x71d2e526
cmp eax, 0xb
je 0x71d41a2a
cmp eax, 0xd
je 0x71d3e04e
cmp eax, 0x1f
jbe 0x71cf78c4
cmp eax, 0x21
ja 0x71cf78c4
test dword [edi + 0x10], 0x10000000
jne 0x71d28241
mov al, byte [edi + 1]
mov ecx, dword [ebp - 0x30]
sub al, cl
cmp al, cl
jbe 0x71cf78c4
mov edx, dword [edi + 0x24]
xor ecx, ecx
push ecx
mov ecx, ebx
call fcn.71d0e7c0
test al, al
jne 0x71d1946e
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x653b450], 0x80
jb 0x71cf78c4
mov eax, dword [ebp - 0x10]
test dword [eax + 0x1920], 0x100
je 0x71cf78c4
mov eax, dword [edi + 0x24]
test byte [eax + 0x10], 0x1f
jne 0x71d2465b
mov edx, dword [edi + 0x28]
xor eax, eax
push eax
mov ecx, ebx
call fcn.71d0e7c0
test al, al
je 0x71cf78c4
mov eax, dword [edi + 0x24]
mov dl, byte [ebp - 9]
mov dword [edi + 0x28], eax
mov esi, dword [ebp + 8]
cmp dl, 0x2b
je 0x71d47f83
cmp byte [ebx], 1
jne 0x71d060e7
mov cl, byte [ebx + 1]
mov al, cl
sub al, 2
cmp al, 5
jbe 0x71d546d0
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.71cf3c9c
test al, al
jne 0x71d3ae11
cmp byte [ebx], 1
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x28]
jne 0x71d0611a
or dword [ebx + 0x10], 0x40000000
mov esi, dword [ebp + 8]
cmp dl, 0x20
jne 0x71d39711
cmp byte [edi], 0x22
jne 0x71cf78c4
movzx eax, byte [esi + 1]
test byte [eax + 0x653b5f0], 4
je 0x71cf78c4
mov edx, dword [edi + 0x24]
xor eax, eax
push eax
mov ecx, ebx
mov dword [ebp - 0x18], edx
call fcn.71d0e7c0
test al, al
je 0x71d546f9
mov esi, dword [edi + 0x28]
mov ebx, dword [ebp - 0x10]
mov dl, 9
push 0xd
mov ecx, ebx
call fcn.71cf20cf
fld1
mov edi, eax
mov al, byte [ebp - 9]
fstp qword [edi + 0x24]
cmp al, 0x20
jne 0x71d54719
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.71cf2b72
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 0x71cf78c4
push dword [ebp + 8]
mov ecx, esi
call fcn.71d0621e
mov dword [ebp + 8], eax
cmp ebx, dword [eax + 0x24]
jne 0x71d53fc2
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x14], eax
or dword [ebx + 0x10], 0x4000
jmp 0x71cf7646
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], ecx
jge 0x71cf76a4
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x71cf76a4
cmp dword [eax + 0x24], ecx
je 0x71cf76a4
cmp byte [ebx + 1], 0xf
jne 0x71d5403c
cmp byte [ebx], 7
je 0x71d54048
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.71d094db
movzx edi, al
neg edi
sbb edi, edi
and edi, dword [ebp - 0x18]
je 0x71d5406b
cmp byte [edi + 1], 0xe
jne 0x71d5406b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [eax + 0x24], edi
jmp 0x71cf76a4
test ebx, ebx
je 0x71cf773c
movzx edx, byte [ebx + 1]
test byte [edx + 0x653b5f0], 0x18
jne 0x71cf773c
test edi, edi
je 0x71cf773c
movzx eax, byte [edi + 1]
test byte [eax + 0x653b5f0], 0x18
jne 0x71cf773c
cmp byte [ecx], 0x41
jne 0x71d5409e
mov al, byte [eax + 0x653b430]
mov byte [ecx + 1], al
jmp 0x71cf773c
cmp byte [edi], 0x1d
jne 0x71d06422
push dword [edi + 0x24]
mov ecx, esi
call fcn.71d0458c
test al, al
je 0x71cf7661
mov eax, dword [ebp + 8]
or dword [eax + 0x10], 4
jmp 0x71cf7661
test byte [edi + 0x10], 1
jne 0x71cf78c4
mov eax, dword [ebp - 0x30]
test byte [edi + 0x10], al
je 0x71d05fee
test byte [ebx + 0x10], 0x1f
jne 0x71cf78c4
jmp 0x71d05fee
sub eax, 0x20
jne 0x71d0df7c
test dword [esi + 0x10], 0x10000000
jne 0x71d2816d
test ebx, ebx
je 0x71d540a9
movzx eax, byte [ebx]
test byte [eax + 0x653b450], 1
jne 0x71d2ce3b
mov al, byte [ebp - 9]
cmp al, 0x20
jne 0x71d1de0e
cmp byte [ebx], 0x20
je 0x71d1eda9
cmp byte [edi], 7
jne 0x71cf77f8
movzx eax, byte [ebp - 0xa]
test byte [eax + 0x653b5f0], 0x20
je 0x71cf77f8
cmp byte [ebx], 0x20
je 0x71d1ee0a
xor eax, eax
cmp dword [edi + 0x24], eax
jne 0x71cf77f8
movzx eax, byte [edi + 1]
test byte [eax + 0x653b5f0], 0x18
jne 0x71d54256
mov al, byte [ebx + 1]
cmp al, byte [esi + 1]
jne 0x71d54261
mov eax, ebx
jmp 0x71cf78c6
test byte [esi + 0x10], 0x20
jne 0x71d54646
cmp dl, byte [edi]
jne 0x71cf786d
movzx eax, byte [esi + 1]
test byte [eax + 0x653b5f0], 4
jne 0x71cf786d
push esi
call fcn.71d1e9ab
mov esi, dword [ebp + 8]
mov dl, byte [ebp - 9]
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x28]
jmp 0x71cf786d
test dword [esi + 0x10], 0x10000000
jne 0x71cf787c
cmp byte [ebx], 0x20
jne 0x71cf787c
test dword [ebx + 0x10], 0x10000000
jne 0x71cf787c
movzx eax, dl
mov cl, byte [eax + 0x653b5f0]
test cl, 0x20
je 0x71cf787c
movzx eax, byte [edi]
mov edx, dword [ebx + 0x28]
mov dword [ebp - 0x18], edx
test byte [eax + 0x653b450], 1
je 0x71d2affd
mov dl, byte [ebp - 0xa]
jmp 0x71cf787c
mov cl, byte [ebx + 1]
mov edx, dword [ebp - 0x30]
mov al, cl
sub al, dl
cmp al, 5
ja 0x71cf790e
mov al, byte [edi]
cmp al, 0x18
je 0x71d2cc7a
movzx eax, al
test byte [eax + 0x653b450], 0x10
je 0x71cf790e
sub cl, dl
cmp cl, dl
ja 0x71cf790e
mov byte [edi + 1], 3
jmp 0x71cf790e
cmp eax, 0x40
ja 0x71cf77f8
test dword [esi + 0x10], 0x100000
jne 0x71d0eb24
cmp byte [edi], 7
jne 0x71d0eb24
cmp dword [edi + 0x24], 1
je 0x71d2c79b
cmp dword [edi + 0x24], 0xffffffff
jne 0x71d0eb24
cmp dl, 0x3e
je 0x71d3f29c
cmp dl, 0x40
jne 0x71d0eb24
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.71cf38ef
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71d0eb24
sub eax, 1
je 0x71d183c0
sub eax, 1
jne 0x71cf77f8
cmp ch, 0xa
jne 0x71d064ce
jmp 0x71cf78c4
mov al, byte [ebx]
cmp al, 1
jne 0x71d1fcb6
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0xfffffff7
jmp 0x71cf76e2
test ebx, ebx
je 0x71d53fcf
mov cl, byte [ebx]
movzx eax, cl
test byte [eax + 0x653b450], 0x10
je 0x71d2941e
cmp dh, 0x47
jne 0x71d22b25
or dword [ebx + 0x10], 0x40004000
jmp 0x71cf7646
je 0x71d22af2
cmp ecx, 0x2e
jb 0x71cf7646
cmp ecx, 0x3a
jbe 0x71d06294
cmp ecx, 0x3c
ja 0x71d10216
cmp byte [ebx], 0x4b
jne 0x71cf7646
cmp byte [edi], 0x4b
jne 0x71cf7646
test byte [ebx + 0x40], 0x40
je 0x71d3f7f8
test byte [edi + 0x40], 0x40
jne 0x71d0e989
mov al, byte [edi + 0x42]
and al, 7
cmp al, 1
jne 0x71cf7646
push ebx
call fcn.71d2dda1
push edi
mov cl, al
call fcn.71d2dda1
test cl, cl
jne 0x71d45d8a
test al, al
je 0x71cf7646
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 0x71d53fee
cmp byte [eax], 0x1d
je 0x71d54006
test byte [edx + 0x40], 0x40
je 0x71cf7646
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 [0x653b188]
mov ecx, edi
call esi
cmp eax, 0x22
jne 0x71d42951
mov ecx, dword [ebp - 0x3c]
cmp byte [ecx], 7
jne 0x71d42951
cmp byte [ecx + 1], 8
jne 0x71d42951
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 [0x653b188]
mov ecx, edi
call esi
test eax, eax
je 0x71d42951
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push dword [eax + 0x24]
push 8
push 0x1d
call fcn.71cf2c3e
push dword [ebp - 0x18]
mov dl, byte [ebp - 9]
mov ecx, ebx
push eax
or dword [eax + 0x10], 4
push 8
call fcn.71cf2b72
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.71cf74cf
jmp 0x71cf78c6
jbe 0x71cf77f8
cmp eax, 0x3a
jbe 0x71cf790e
cmp eax, 0x3c
ja 0x71d0de1a
cmp byte [edi], 7
jne 0x71d0eac7
xor eax, eax
cmp dword [edi + 0x24], eax
jne 0x71d2182e
mov al, byte [edi]
mov ecx, 0x7fffffff
mov edx, ecx
mov dword [ebp - 0x14], edx
cmp al, 7
jne 0x71d0eae9
cmp dword [edi + 0x24], 1
ja 0x71d0eae9
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x14], edx
cmp al, 8
je 0x71d33995
cmp edx, ecx
je 0x71d0eb19
cmp byte [ebx], 0x41
je 0x71d22718
mov cl, byte [ebx]
movzx eax, cl
test byte [eax + 0x653b450], 0x10
jne 0x71d1bfd5
cmp cl, 0x29
je 0x71d299be
xor edx, edx
cmp byte [edi], 8
je 0x71d339ba
movzx eax, byte [esi]
test byte [eax + 0x653b450], 0x10
je 0x71d543b2
mov ecx, dword [esi + 0x10]
test ecx, 0x40000000
jne 0x71cf77f8
push ebx
call fcn.71d1bf32
test al, al
je 0x71cf77f8
mov ebx, dword [ebp - 0x10]
or ecx, 0x60004000
mov dword [esi + 0x10], ecx
mov dl, 7
push 8
mov ecx, ebx
call fcn.71cf20cf
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.71cf20cf
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.71cf2b72
push eax
mov ecx, ebx
call fcn.71cf74cf
push eax
push dword [ebp - 0x1c]
mov dl, 0x42
mov ecx, ebx
push 8
call fcn.71cf2b72
xor ecx, ecx
mov dword [ebp + 8], eax
push ecx
push eax
mov ecx, ebx
call fcn.71cf7478
jmp 0x71cf7424
cmp eax, 0xb
je 0x71d2fc9e
cmp eax, 0xc
jbe 0x71cf77f8
cmp eax, 0xe
jbe 0x71d2fc9e
cmp eax, 0x19
je 0x71d541ac
cmp eax, 0x1c
jne 0x71cf77f8
mov al, byte [ebx]
cmp al, 0x1d
je 0x71d1fcc3
cmp al, 0x18
jne 0x71cf790e
mov eax, dword [ebx + 0x24]
mov cl, byte [eax]
cmp cl, 1
je 0x71d0fe1d
cmp cl, 0x57
jne 0x71cf790e
mov ebx, eax
mov dword [esi + 0x24], eax
jmp 0x71cf790e
cmp byte [edi], 0x18
jne 0x71d05ff7
test dword [edi + 0x10], 0x10000000
jne 0x71d05ff7
mov al, byte [ebx + 1]
cmp byte [edi + 0x28], al
jb 0x71d05ff7
cmp al, 8
ja 0x71d05ff7
mov eax, dword [edi + 0x24]
cmp byte [eax + 1], 8
ja 0x71d05ff7
mov dword [esi + 0x28], eax
mov edi, eax
mov esi, dword [ebp + 8]
jmp 0x71d05ff7
cmp ecx, 0x42
jne 0x71cf7646
jmp 0x71d0e90a
mov cl, byte [edi]
movzx eax, cl
test byte [eax + 0x653b450], 0x40
jne 0x71d2fe38
cmp cl, 0x41
je 0x71d4247b
cmp cl, 0x4b
je 0x71d543c5
xor eax, eax
test al, al
jne 0x71d2fe38
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.71d108b2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
test ecx, ecx
je 0x71d2ae1b
mov dword [eax + 0x24], ecx
cmp byte [edi], 0xc
jne 0x71cf7915
cmp byte [edi + 1], 1
jne 0x71cf7915
cmp byte [ebx + 1], 1
jne 0x71cf7915
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
and eax, 0x4000
or dword [ebx + 0x10], eax
jmp 0x71d06558
cmp eax, 0x23
je 0x71d3a3c1
push 0x25
pop ecx
cmp eax, ecx
je 0x71d3a3c1
cmp eax, 0x26
jbe 0x71cf78c4
cmp eax, 0x2c
ja 0x71cf78c4
jmp 0x71d0605b
test dword [esi + 0x10], 0x10000000
jne 0x71d2816d
test edi, edi
je 0x71d54101
cmp byte [edi], 7
je 0x71d1acfc
test ebx, ebx
je 0x71d5410e
cmp byte [ebx], 7
jne 0x71cf77f8
cmp byte [esi + 1], 8
jne 0x71d5411b
movzx eax, byte [esi + 1]
mov ecx, dword [ebp - 0x10]
push edi
push eax
push 0xd
call fcn.71cf2c3e
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.71cf7478
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 0x71d064db
mov dl, byte [ebp - 9]
cmp dl, 0x29
je 0x71d34061
cmp dl, 0x27
je 0x71d34061
cmp dl, 0xd
jne 0x71d060ca
xor eax, eax
mov byte [esi], 0xe
mov byte [esi + 0x13], al
cmp byte [ebx], 1
jne 0x71d194a3
or dword [ebx + 0x10], 0x40000000
mov ecx, dword [ebp - 0x10]
mov dl, 7
push 8
call fcn.71cf20cf
xor ecx, ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
jmp 0x71d061af
mov eax, dword [edi + 0x24]
neg eax
mov dword [edi + 0x24], eax
jne 0x71d18423
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1920]
shr eax, 0xb
test al, 1
je 0x71d18423
call fcn.71d51586
jmp 0x71d18423
mov ecx, dword [ebp - 0x10]
push esi
call fcn.71d1c5fa
mov esi, eax
jmp 0x71cf78c4
mov ecx, dword [ebp - 0x10]
push esi
call fcn.71d1b3f2
jmp 0x71d1b3a7
xor eax, eax
mov cl, al
jmp 0x71d0644f
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x14], eax
cmp ch, byte [eax + 1]
je 0x71d2c5b8
cmp byte [eax], 1
jne 0x71cf77e7
mov esi, dword [ebp - 0x10]
mov edi, edx
jmp 0x71d1bc6e
mov eax, dword [ebx + 0x28]
cmp byte [eax], 7
jne 0x71cf77f8
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x192b], 0
jne 0x71cf77f8
cmp byte [eax + 0x1935], 0
jne 0x71cf77f8
cmp dword [esi + 0x10], edx
jl 0x71d541d4
test dword [ebx + 0x10], 0x10000000
jne 0x71d541e1
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x14], ecx
cmp byte [ecx], 1
jne 0x71cf77f8
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x28], edx
test edx, edx
je 0x71d541ee
movzx eax, dx
cmp edx, eax
jne 0x71cf77f8
push dword [ecx + 0x24]
mov esi, dword [ebp - 0x10]
mov ecx, esi
call fcn.71d02111
cmp dword [ebp - 0x28], eax
jae 0x71cf7915
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
cmp byte [eax], 1
jne 0x71d54225
push dword [eax + 0x24]
mov ecx, esi
call fcn.71d001a8
test al, al
je 0x71d54235
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 0x71cf78c4
cmp al, 0x1c
jmp 0x71cf7961
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
cmp byte [ebp - 9], 0x3b
sete al
cmp ecx, eax
jne 0x71d1bffc
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.71d19208
mov esi, dword [ebp + 8]
test dword [ebx + 0x10], 0x40000000
mov al, byte [esi + 1]
mov byte [ebx + 1], al
jne 0x71d54323
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
and eax, 0x60004000
jmp 0x71d10896
push dword [ebp + 8]
mov ecx, esi
call fcn.71d1db70
jmp 0x71cf78c6
cmp al, 0x22
jne 0x71cf77f8
cmp byte [edi], 7
jne 0x71cf77f8
cmp byte [ebp - 0xa], 9
ja 0x71d540e7
test dword [esi + 0x10], 0x10000000
jne 0x71d540f4
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x71d5423f
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 0x71d2e384
mov esi, dword [ebp - 0x10]
test ecx, ecx
js 0x71d45d38
cmp eax, 1
je 0x71d06558
push 0x25
xor edx, edx
pop ecx
div ecx
movsx eax, byte [edx + 0x653c848]
mov dword [edi + 0x24], eax
xor ecx, ecx
mov eax, dword [ebp + 8]
mov byte [eax], 0x2a
mov byte [eax + 0x13], cl
jmp 0x71cf7728
sub ecx, 0x24
je 0x71d38a4f
sub ecx, 1
je 0x71d45abf
sub ecx, 1
jne 0x71cf7646
test edi, edi
je 0x71d53f05
cmp dl, 0xa
jne 0x71cf7646
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 0x71d1dfa8
mov eax, dword [edi + 0x10]
and eax, edx
cmp ecx, eax
jne 0x71d1dfa8
cmp byte [edi], 0x18
jne 0x71d1df36
mov eax, dword [edi + 0x24]
cmp byte [eax], 7
jne 0x71d1df36
cmp dword [eax + 0x24], 2
jl 0x71d1df36
cmp dword [eax + 0x24], 0x3fffffff
jg 0x71d1df36
mov eax, dword [eax + 0x10]
and eax, edx
cmp ecx, eax
jne 0x71d1df36
mov eax, dword [esi + 0x1920]
shr eax, 0xb
test al, 1
je 0x71d1df36
push edi
mov ecx, esi
call fcn.71d1db70
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
cmp byte [edi], 8
je 0x71d1df3b
call fcn.71d51586
cmp byte [edi], 8
jne 0x71d1dfa8
mov eax, dword [edi + 0x28]
xor ecx, ecx
cmp eax, ecx
jl 0x71d1dfa8
jg 0x71d1dfa8
mov edx, dword [ebp - 0x30]
cmp dword [edi + 0x24], edx
jb 0x71d1dfa8
cmp eax, ecx
jg 0x71d1dfa8
jl 0x71d1df60
cmp dword [edi + 0x24], 0x3fffffff
ja 0x71d1dfa8
push ebx
mov ecx, esi
call fcn.71cf74cf
mov ecx, dword [ebp + 8]
mov ebx, eax
mov dword [ecx + 0x24], ebx
cmp byte [ebx + 1], 0xa
je 0x71d1df7b
call fcn.71d51586
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 0x71cf7424
mov eax, dword [esi + 0x1920]
shr eax, 0xb
test al, 1
je 0x71cf7424
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 + 0x653b450], 8
je 0x71d53f87
mov eax, dword [ebp + 8]
mov ecx, esi
push eax
mov dword [ebp - 0x24], eax
call fcn.71cf38ef
mov dword [ebp + 8], eax
mov dl, byte [eax]
movzx ecx, dl
test byte [ecx + 0x653b450], 2
jne 0x71d53fa9
cmp dword [ebp - 0x24], eax
jne 0x71d45dbf
cmp dl, 0x41
je 0x71d53f91
push edi
push ebx
mov ecx, esi
call fcn.71d0be97
push eax
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp + 8]
call fcn.71d39d19
jmp 0x71cf78c6
cmp dl, 0xa
jne 0x71cf7646
test edi, edi
je 0x71d53e78
cmp byte [ebx], 0x18
je 0x71d3ab67
mov eax, dword [ebp + 8]
test dword [eax + 0x10], 0x40000000
jne 0x71cf7646
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
test ecx, 0x10000000
jne 0x71d4150c
mov dword [ebp - 0x14], 8
jmp 0x71d1dfc1
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.71d1e81e
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.71cf7573
jmp 0x71cf78c6
cmp byte [edi], 7
jne 0x71cf78c4
cmp byte [ebx], 0x20
jne 0x71cf78c4
test dword [ebx + 0x10], 0x10000000
jne 0x71cf78c4
mov edx, dword [ebx + 0x28]
cmp byte [edx], 7
jne 0x71cf78c4
mov ecx, edi
call fcn.71d1ec14
test eax, eax
je 0x71cf78c4
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 0x71d061af
cmp dword [esi + 0x2c], edx
je 0x71d541c7
mov ecx, dword [ebp - 0x10]
push 1
push esi
call fcn.71d1e68c
mov esi, dword [ebp + 8]
xor edx, edx
mov ch, byte [ebp - 0xa]
jmp 0x71cf77dc
cmp byte [edi], 0x20
jne 0x71d0650a
mov ecx, dword [ebx + 0x28]
cmp byte [ecx], 7
jne 0x71d0650a
mov eax, dword [edi + 0x28]
cmp byte [eax], 7
jne 0x71d0650a
test dword [ebx + 0x10], 0x10000000
jne 0x71d0650a
test dword [edi + 0x10], 0x10000000
jne 0x71d0650a
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 0x71d0650a
mov eax, dword [ebx + 0x28]
cmp byte [eax], 7
jne 0x71d06530
test dword [ebx + 0x10], 0x10000000
jne 0x71d06530
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 0x71d06530
cmp al, 0x57
jne 0x71cf76e2
jmp 0x71d0e007
test dword [ebx + 0x10], 0x84000000
jne 0x71d0fe02
mov esi, dword [ebx + 0x24]
mov al, byte [esi + 1]
movzx ecx, al
test byte [ecx + 0x653b5f0], 0x18
jne 0x71cf78c4
cmp al, 8
jmp 0x71cf7961
mov al, byte [ebx]
cmp al, 0x20
je 0x71d3e00a
cmp al, 0x21
je 0x71d3e00a
mov dword [ebp - 0x1c], esi
jmp 0x71d0eac7
mov edx, dword [ebx + 0x28]
mov dword [ebp - 0x34], edx
movzx eax, byte [edx]
test byte [eax + 0x653b450], 0x10
jne 0x71d54276
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x24], eax
cmp byte [eax], 0x2d
jne 0x71d0eb19
cmp byte [edx], 1
jne 0x71d0eb19
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x28], eax
cmp eax, dword [ecx + 0x14]
jae 0x71d54304
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 0x71d0eb19
cmp eax, dword [ecx + 0xbb8]
jae 0x71d0eb19
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x24]
cmp byte [ecx], 1
jne 0x71d0eb19
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 0x71d0eb19
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28]
movzx eax, byte [eax]
test byte [eax + 0x653b450], 0x10
je 0x71d0eb19
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 0x71d22806
cmp ax, word [ebp - 0x30]
je 0x71d22806
call fcn.71d51586
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 0x71d2281e
mov byte [ecx + 0x13], 1
xor ecx, ecx
cmp word [eax + edx + 0x20], cx
jne 0x71d2282b
mov dword [eax + edx + 0x24], ecx
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], esi
jmp 0x71d0eafe
cmp byte [esi + 0xbc4], 0
setne byte [ebp - 0xa]
jmp 0x71cf7646
test dword [ebx + 0x10], 0x20000000
jne 0x71d0e92d
call fcn.71d51586
jmp 0x71d0e92d
cmp byte [esi + 0xbc4], 0
je 0x71d54014
mov eax, dword [esi + 0x13d0]
test eax, eax
je 0x71d29194
cmp eax, 0x40
ja 0x71d5401e
mov edi, dword [esi + 0x13d0]
mov esi, edi
shl esi, 5
mov eax, esi
mov dword [ebp - 0x1c], edi
call fcn.71d22c68
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.71cf29a2
add esp, 0xc
jmp 0x71cf7672
cmp byte [esi + 0xbc4], 0
je 0x71d54028
mov eax, dword [esi + 0x13d0]
test eax, eax
je 0x71d2fe25
cmp eax, 0x40
ja 0x71d54032
mov edi, dword [esi + 0x13d0]
mov esi, edi
shl esi, 5
mov eax, esi
mov dword [ebp - 0x38], edi
call fcn.71d22c68
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.71cf29a2
add esp, 0xc
jmp 0x71cf7695
cmp byte [esi + 0xbc4], 0
je 0x71d5407f
xor eax, eax
mov ecx, esi
push eax
call fcn.71cf8482
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x71cf76f9
shl eax, 5
push eax
push dword [ebp - 0x34]
lea eax, [esi + 0xbd0]
push eax
call fcn.71cf29a2
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.71cf8482
jmp 0x71cf76f9
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x6e0], 0
je 0x71d22cf1
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], 0x64f1f10
push ecx
mov ecx, eax
call fcn.71cf1fb0
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov byte [eax + 0x6d0], cl
jmp 0x71cf77f8
cmp byte [esi + 0xbc4], 0
je 0x71d54089
mov eax, dword [esi + 0x13d0]
test eax, eax
je 0x71d291a7
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x71d291a7
cmp eax, ecx
jne 0x71d22d7e
shl eax, 5
push eax
lea eax, [esi + 0xbd0]
push eax
push dword [ebp - 0x24]
call fcn.71d0a2d4
add esp, 0xc
test eax, eax
je 0x71cf7728
mov eax, dword [esi + 0x13d0]
xor ecx, ecx
inc ecx
cmp eax, ecx
jb 0x71cf7728
mov ebx, dword [ebp - 0x38]
mov edi, ecx
push edi
mov ecx, esi
call fcn.71d06bf0
mov edx, eax
xor eax, eax
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x71d26ebf
mov ecx, dword [ebp - 0x24]
mov esi, dword [edx + 8]
cmp esi, dword [ecx + 8]
mov esi, dword [ebp - 0x10]
jne 0x71d26ead
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x71d54093
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jne 0x71d26ebf
mov eax, dword [edx + 0x18]
cmp eax, dword [ecx + 0x18]
jne 0x71d26ebf
mov eax, dword [edx + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x71d26ebf
inc edi
cmp edi, dword [esi + 0x13d0]
jbe 0x71d22d91
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
jmp 0x71cf7728
mov ecx, dword [eax + 0x28]
cmp byte [ecx], 0x43
jne 0x71cf775c
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x2c], eax
jmp 0x71cf775c
push ecx
push ebx
call fcn.71cf7971
test al, al
jne 0x71cf7915
cmp byte [edi], 0x43
jne 0x71d5442c
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 0x71d364c2
cmp byte [edx], 0xc
je 0x71d54436
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x24]
movzx eax, byte [eax + 1]
cmp byte [eax + 0x653b430], 8
jne 0x71cf77f8
movzx eax, byte [ebp - 0xa]
cmp byte [eax + 0x653b430], 8
jne 0x71cf77f8
mov eax, dword [ebp - 0x14]
cmp byte [eax], 7
jne 0x71cf77f8
cmp byte [ecx], 7
jne 0x71cf77f8
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x24]
or eax, edx
cmp eax, 1
jne 0x71cf77f8
test dword [ecx + 0x24], edx
jne 0x71cf77f8
cmp edx, eax
jne 0x71d22f6c
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.71d19208
test dword [ebx + 0x10], 0x60000000
jne 0x71d22f7a
call fcn.71d51586
and dword [ebx + 0x10], 0x9fffffff
jmp 0x71d06558
mov eax, dword [edi + 0x28]
test byte [eax + 0x10], 0x1f
je 0x71d060a6
jmp 0x71cf78c4
inc eax
add ecx, 0x20
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jb 0x71d22db1
push edi
mov ecx, esi
call fcn.71d184d0
jmp 0x71d22df2
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.71d1d7f2
jmp 0x71cf7915
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [eax + 0x19cc]
cmp word [eax + 0x2c], dx
jne 0x71cf78c4
test cl, cl
jne 0x71d06048
jmp 0x71cf78c4
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], eax
jmp 0x71cf7672
xor eax, eax
mov ecx, esi
push eax
call fcn.71cf8482
jmp 0x71cf7728
cmp cl, 7
jne 0x71d29437
cmp dword [ebx + 0x24], 0
je 0x71cf7646
cmp dword [ebx + 0x24], 1
je 0x71cf7646
call fcn.71d51586
jmp 0x71cf7646
cmp esi, ebx
je 0x71cf78c4
cmp esi, edi
je 0x71cf78c4
cmp esi, dword [ebp - 0x28]
je 0x71cf78c4
cmp esi, dword [ebp - 0x2c]
je 0x71cf78c4
push ecx
push esi
call fcn.71cf7971
test al, al
je 0x71cf7424
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
push dword [esi + 0x24]
call fcn.71cf74cf
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x24], eax
xor eax, eax
push eax
push dword [ebp + 8]
jmp 0x71d0ebbc
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x28], ecx
mov al, byte [ecx]
cmp al, 0x2c
je 0x71d299d5
cmp al, 0x2b
jne 0x71d0eb19
mov ecx, dword [ecx + 0x28]
cmp byte [ecx], 7
jne 0x71d0eb19
mov ecx, dword [ecx + 0x24]
test ecx, ecx
js 0x71d0eb19
mov al, byte [ebx + 1]
cmp al, 8
jne 0x71d5432d
mov edx, dword [ebx + 0x28]
cmp byte [edx], 7
jne 0x71d0eb19
cmp dword [edx + 0x24], 1
jne 0x71d0eb19
cmp ecx, 0x1f
jg 0x71d0eb19
xor eax, eax
inc eax
shl eax, cl
cmp dword [ebp - 0x14], 1
mov dword [edx + 0x24], eax
jne 0x71d29a45
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
call fcn.71d19208
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 0x71d0eb19
mov eax, dword [eax + 0x10]
and eax, 0x4000
or dword [edi + 0x10], eax
mov eax, edi
jmp 0x71cf78c6
movzx eax, byte [edx]
test byte [eax + 0x653b450], 1
je 0x71d065ea
movzx eax, byte [edi + 1]
test byte [eax + 0x653b5f0], 0x18
jne 0x71d54663
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 0x71d065ea
and dword [eax + 0x10], 0xffffbfff
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x10]
and ecx, 0x4000
or dword [eax + 0x10], ecx
jmp 0x71cf78c6
cmp dl, 0x3f
je 0x71d3f012
cmp dl, 0x3d
jne 0x71d0eb24
mov al, 0x3e
jmp 0x71d0de61
test dword [edi + 0x10], 0x10000000
jne 0x71d0b404
mov dl, byte [edi + 0x28]
mov al, dl
sub al, 2
cmp al, 5
ja 0x71cf790e
cmp dl, cl
jb 0x71cf790e
mov edi, dword [edi + 0x24]
mov dword [esi + 0x28], edi
jmp 0x71cf790e
cmp byte [ebx + 1], 0xe
je 0x71d064f3
movzx eax, byte [edi]
test byte [eax + 0x653b450], 1
jne 0x71d540b6
test byte [esi + 0x10], 0x20
jne 0x71d540da
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 0x71d064f3
cmp edx, 1
jbe 0x71cf77f8
mov ecx, edx
call fcn.71d2e425
test al, al
je 0x71cf77f8
mov eax, edx
xor edx, edx
push 0x25
pop ecx
div ecx
movsx eax, byte [edx + 0x653c848]
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 0x71d2e48f
cmp dword [edi + 0x24], 0
mov esi, dword [ebp - 0x10]
jl 0x71d54128
push 8
mov dl, 7
mov ecx, esi
call fcn.71cf20cf
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.71cf2b72
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.71cf7478
mov eax, dword [ebp - 0x18]
jmp 0x71d1de84
cmp eax, 5
je 0x71d2e3cb
cmp eax, 9
jne 0x71cf77f8
jmp 0x71d2e3cb
cmp byte [edi], 7
jne 0x71cf78c4
cmp byte [ebx], 0x20
jne 0x71cf78c4
mov edx, dword [ebx + 0x28]
cmp byte [edx], 7
jne 0x71cf78c4
mov ecx, edi
call fcn.71d2f820
test eax, eax
je 0x71cf78c4
mov eax, 0x10000000
test dword [esi + 0x10], eax
jne 0x71cf78c4
test dword [ebx + 0x10], eax
jne 0x71cf78c4
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 0x71d1e5a0
movzx eax, byte [esi + 1]
test byte [eax + 0x653b5f0], 4
je 0x71cf78c4
jmp 0x71d0603b
movzx eax, byte [ebx]
test byte [eax + 0x653b450], 1
je 0x71cf77f8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1920]
shr eax, 0xb
test al, 1
je 0x71cf77f8
call fcn.71d51586
jmp 0x71cf7915
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], ecx
jmp 0x71cf7697
mov byte [esi + 1], 1
mov byte [ebp - 0xa], 1
jmp 0x71d1083f
xor eax, eax
cmp dword [edi + 0x28], eax
ja 0x71d0eaf1
jb 0x71d339ac
cmp dword [edi + 0x24], 1
ja 0x71d0eaf1
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x14], edx
jmp 0x71d0eaf1
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x24]
sar eax, 0x1f
cmp dword [edi + 0x28], 0
jne 0x71d0eb24
and ecx, 0x80000000
or ecx, edx
jne 0x71d0eb24
mov al, byte [ebx]
cmp al, 0x29
jne 0x71d33a4d
cmp byte [ebx + 1], 0xa
jne 0x71d54395
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x18], ecx
cmp byte [ecx], 8
jne 0x71d0eb24
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x28]
mov cl, 0x20
call fcn.71d37728
test eax, eax
jne 0x71d0eb24
push dword [ebx + 0x24]
mov ecx, dword [ebp - 0x10]
push 8
push 0x18
call fcn.71cf2c3e
mov esi, dword [ebp - 0x18]
mov byte [eax + 0x28], 8
mov dword [ebx + 0x24], eax
cmp esi, dword [ebx + 0x28]
jne 0x71d543a8
mov word [esi], 0x807
mov byte [ebx + 1], 8
mov word [edi], 0x807
jmp 0x71d0de82
cmp al, 0x18
jne 0x71d0eb24
mov eax, dword [ebx + 0x24]
cmp byte [eax + 1], 8
jne 0x71d0eb24
test dword [ebx + 0x10], 0x10000000
jne 0x71d0eb24
mov ecx, dword [ebp - 0x10]
mov dl, 7
mov dword [esi + 0x24], eax
mov esi, dword [edi + 0x24]
push 8
call fcn.71cf20cf
xor ecx, ecx
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], eax
jmp 0x71d0de82
mov eax, dword [edi + 0x28]
cmp byte [eax], 7
jne 0x71d19486
cmp byte [ebp - 0xa], 9
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x18], eax
ja 0x71d546b7
cmp dl, 0x29
je 0x71d340c5
cmp dl, 0x27
jne 0x71d19486
cmp eax, 0xffffffff
jne 0x71d060d3
mov eax, dword [edi + 0x28]
mov dword [esi + 0x28], eax
jmp 0x71d061af
test eax, eax
jne 0x71d34088
jmp 0x71d3409a
cmp byte [edx], 0x2d
jne 0x71d22ef2
cmp byte [eax], 0x2d
jne 0x71d22ef2
mov cl, byte [edx + 1]
mov byte [ebp - 0x1d], cl
cmp cl, 0xa
je 0x71d22ef2
mov edx, dword [eax + 0x24]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x24]
call fcn.71d0e7c0
mov edx, dword [ebp - 0x14]
test al, al
je 0x71d22ef2
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 0x71d22ef2
mov ebx, dword [ebp - 0x1c]
mov al, byte [ebp - 0x1d]
cmp al, byte [ebx + 1]
je 0x71d3653c
call fcn.71d51586
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 0x71cf78c6
movzx eax, dl
test byte [eax + 0x653b5f0], 4
jne 0x71d53f15
cmp dl, 0xa
jne 0x71cf7646
jmp 0x71d1dfa8
cmp dl, 0x21
jne 0x71cf78c4
jmp 0x71d06123
cmp dl, 0xa
jne 0x71cf7646
mov dword [ebp - 0x14], 0xb
jmp 0x71d1dfc1
mov al, byte [edi]
cmp al, 7
jne 0x71d3a272
cmp dword [edi + 0x24], 1
je 0x71d06558
cmp al, 8
jne 0x71cf78c4
cmp dword [edi + 0x24], 1
jne 0x71cf78c4
xor eax, eax
cmp dword [edi + 0x28], eax
je 0x71d06558
jmp 0x71cf78c4
movzx eax, byte [esi + 1]
test byte [eax + 0x653b5f0], 4
je 0x71cf78c4
jmp 0x71d0605b
cmp byte [edi], 0x18
jne 0x71d1e3bc
mov ecx, dword [ebx + 0x24]
movzx eax, byte [ecx + 1]
cmp byte [eax + 0x653b430], 8
jne 0x71d1e3bc
mov edx, dword [edi + 0x24]
movzx eax, byte [edx + 1]
cmp byte [eax + 0x653b430], 8
jne 0x71d1e3bc
mov eax, dword [ebx + 0x10]
test eax, 0x10000000
jne 0x71d1e3bc
test dword [edi + 0x10], 0x10000000
jne 0x71d1e3bc
xor eax, dword [edi + 0x10]
test eax, 0x100000
jne 0x71d3af20
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10]
test eax, 0x10000000
jne 0x71d3ea1b
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.71cf74cf
mov dword [ebx + 0x24], eax
mov ecx, esi
push dword [edi + 0x24]
call fcn.71cf74cf
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 + 0x653b450]
and al, byte [ecx + 0x653b450]
test al, 1
jne 0x71d53e89
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 0x71d3ac8d
push eax
push 8
push 0xc
mov ecx, esi
call fcn.71cf2c3e
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 0x71d3acb9
push eax
push 8
push 0xc
mov ecx, esi
call fcn.71cf2c3e
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 0x71cf7728
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 0x71d06105
cmp byte [ecx], 7
je 0x71d53e82
cmp byte [edx], 7
jne 0x71d1e3cc
mov ecx, edi
mov eax, dword [ecx + 0x24]
cmp dword [eax + 0x24], 0x80000000
jae 0x71d1e3cc
xor dword [ecx + 0x10], 0x100000
jmp 0x71d3abc1
mov ecx, dword [ebx + 0x28]
cmp byte [ecx], 7
jne 0x71d21840
cmp byte [ebx + 1], 8
jne 0x71d21840
test dword [ebx + 0x10], 0x10000000
jne 0x71d21840
mov ecx, dword [ecx + 0x24]
cmp al, 0x20
jne 0x71d5426e
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 0x71d2182e
movzx eax, byte [esi + 1]
test byte [eax + 0x653b5f0], 4
je 0x71d0605b
jmp 0x71cf78c4
test eax, 0x100000
je 0x71d3abd2
test dword [ebx + 0x10], 0x100000
jne 0x71d3abd2
jmp 0x71d1e3cc
mov al, 0x40
jmp 0x71d0de61
mov al, 0x3d
jmp 0x71d0de61
mov al, byte [ebx + 0x42]
and al, 7
cmp al, 1
jne 0x71cf7646
jmp 0x71d0e976
mov cl, byte [edi]
cmp cl, 7
je 0x71d3fb23
cmp cl, 8
je 0x71d40977
cmp cl, 7
jne 0x71cf78c4
cmp dword [edi + 0x24], 1
jne 0x71cf78c4
movzx eax, byte [ebx]
test byte [eax + 0x653b450], 0x10
je 0x71cf78c4
mov ecx, dword [ebp - 0x10]
mov edx, ebx
call fcn.71d19208
jmp 0x71d06558
cmp dword [edi + 0x24], 0xffffffff
jne 0x71d3fac3
mov byte [esi], 0xb
xor ecx, ecx
mov byte [esi + 0x13], cl
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], ecx
jmp 0x71d061af
mov eax, dword [edi + 0x24]
and eax, dword [edi + 0x28]
cmp eax, 0xffffffff
jne 0x71d3facc
jmp 0x71d3fb29
and ecx, 0x100000
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 9
jmp 0x71d1dfbb
mov edx, dword [edi + 0x24]
xor eax, eax
push eax
mov ecx, ebx
call fcn.71d0e7c0
test al, al
je 0x71cf78c4
movzx esi, byte [ebp - 0xa]
mov al, byte [esi + 0x653b430]
cmp al, 8
jne 0x71d54697
cmp byte [esi + 0x653b430], 8
mov ecx, dword [ebp - 0x10]
jne 0x71d546a9
push 8
mov dl, 7
call fcn.71cf20cf
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 0x71d060d3
cmp byte [edi + 1], 1
jne 0x71d1082c
jmp 0x71d2fe38
mov esi, dword [ebp - 0x10]
jmp 0x71cf7646
cmp dl, 0xa
jne 0x71cf7646
mov dword [ebp - 0x14], 0xd
jmp 0x71d1dfc1
cmp ecx, 0x80000000
je 0x71d1de6d
movzx eax, byte [ebx + 1]
mov ecx, esi
push ebx
push eax
push 0xd
call fcn.71cf2c3e
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.71cf7478
mov eax, dword [ebp - 0x24]
jmp 0x71d1de6d
test al, al
je 0x71d53fdf
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.71cf2b72
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x10]
and ecx, 0x60004000
or dword [eax + 0x10], ecx
push eax
mov ecx, esi
jmp 0x71d0ea95
mov cl, byte [ebx + 1]
mov al, cl
sub al, 2
cmp al, 5
ja 0x71d060d3
movzx eax, cl
test byte [eax + 0x653b5f0], 2
je 0x71d060d3
mov eax, dword [edi + 0x24]
cmp cl, byte [eax + 1]
je 0x71d47fb2
call fcn.71d51586
mov esi, dword [ebp + 8]
mov dl, 0x2c
jmp 0x71d41a81
call fcn.71d51586
jmp 0x71cf75a4
call fcn.71d51586
jmp 0x71d1e3b3
mov ecx, ebx
jmp 0x71d3af34
mov eax, dword [esi + 0x1920]
shr eax, 0xb
test al, 1
je 0x71d3ac49
push ebx
mov ecx, esi
call fcn.71d1da96
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.71d1da96
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 + 0x653b450]
and al, byte [ecx + 0x653b450]
test al, 1
jne 0x71d53edb
call fcn.71d51586
push dword [ebp + 8]
mov ecx, ebx
call fcn.71d1da96
mov ecx, eax
mov dword [ebp + 8], ecx
movzx eax, byte [ecx]
test byte [eax + 0x653b450], 1
jne 0x71d53efe
call fcn.71d51586
mov ecx, dword [ebp + 8]
mov eax, ecx
jmp 0x71cf78c6
call fcn.71d51586
mov dl, byte [ebp - 0x2c]
jmp 0x71d1deba
mov dword [ebp - 0x14], 0x1a
test edi, edi
jne 0x71d53f28
call fcn.71d51586
cmp byte [ebx + 1], 0xc
jne 0x71d53f60
cmp byte [edi + 1], 0xc
jne 0x71d53f43
mov dword [ebp - 0x14], 0x19
jmp 0x71d1dfc1
push ebx
push 0xd
push 0x18
mov ecx, esi
call fcn.71cf2c3e
mov ebx, eax
mov byte [ebx + 0x28], 0xd
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], ebx
jmp 0x71d1dfc1
cmp byte [edi + 1], 0xc
jne 0x71d1dfc1
push edi
push 0xd
push 0x18
mov ecx, esi
call fcn.71cf2c3e
mov edi, eax
mov byte [edi + 0x28], 0xd
mov eax, dword [ebp + 8]
mov dword [eax + 0x28], edi
jmp 0x71d1dfc1
call fcn.71d51586
jmp 0x71d1dfd4
push ecx
push eax
call fcn.71cf7971
test al, al
jne 0x71d53fa1
call fcn.71d51586
push dword [ebp + 8]
jmp 0x71d45dc0
cmp dword [ebp - 0x24], eax
jne 0x71d45dbf
push eax
mov ecx, esi
call fcn.71d00363
jmp 0x71cf78c6
call fcn.71d51586
mov eax, dword [ebp + 8]
jmp 0x71d0628b
call fcn.71d51586
mov dh, byte [ebp - 9]
jmp 0x71d0e912
mov edx, edi
mov eax, ebx
mov dword [ebp - 0x2c], edx
jmp 0x71d0e9b5
cmp byte [ecx + 1], 8
jne 0x71d0e9d2
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x3c], eax
jmp 0x71d0e9d2
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x3c], eax
jmp 0x71d0e9db
call fcn.71d51586
jmp 0x71d22b64
call fcn.71d51586
jmp 0x71d22b7b
call fcn.71d51586
jmp 0x71d22bc4
call fcn.71d51586
jmp 0x71d22bdb
call fcn.71d51586
xor ecx, ecx
jmp 0x71d0635e
cmp dword [ebx + 0x24], ecx
je 0x71d54052
call fcn.71d51586
mov eax, dword [ebp + 8]
and dword [eax + 0x10], 0x7fffffff
mov eax, dword [ebp + 8]
or dword [eax + 0x10], 0x4000000
jmp 0x71cf76a4
call fcn.71d51586
jmp 0x71d063b4
call fcn.71d51586
jmp 0x71cf76b0
call fcn.71d51586
jmp 0x71d22c24
call fcn.71d51586
jmp 0x71d22d37
mov eax, dword [ebp - 0x2c]
jmp 0x71d26ead
mov al, byte [edx + 0x653b430]
jmp 0x71d06403
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d064e3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1920]
shr eax, 0xb
test al, 1
je 0x71d2ce55
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d2ce55
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d2ce5f
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d1de2c
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d1de39
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d183d5
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d183e6
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d183f9
cmp dword [edi + 0x24], 0x80000000
je 0x71d2e3db
movzx eax, byte [ebx + 1]
mov ecx, esi
push ebx
push eax
push 0xd
call fcn.71cf2c3e
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.71cf7478
jmp 0x71d2e3db
call fcn.71d51586
mov esi, dword [ebp + 8]
mov al, byte [ebp - 9]
jmp 0x71cf7806
test dword [ebx + 0x10], 0x8000
jne 0x71d54185
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x6d0], 1
mov esi, dword [ebx + 0x24]
cmp byte [esi + 1], 1
je 0x71d54193
call fcn.71d51586
mov al, byte [ebp - 9]
cmp al, 0x41
jne 0x71d544c8
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], esi
jmp 0x71cf7424
movzx eax, byte [ebx + 1]
test byte [eax + 0x653b5f0], 4
jne 0x71d2816d
call fcn.71d51586
jmp 0x71d2816d
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d1e6f5
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d1bc05
call fcn.71d51586
mov esi, dword [ebp + 8]
jmp 0x71d1bc12
mov al, byte [ecx + 1]
cmp byte [ebp - 0xa], al
jne 0x71d1bc3b
cmp al, 0x11
je 0x71d1bc3b
movzx eax, al
test byte [eax + 0x653b5f0], 0x18
je 0x71d53efe
call fcn.71d51586
mov ecx, dword [ebp - 0x14]
jmp 0x71d53efe
call fcn.71d51586
mov eax, dword [ebp - 0x14]
jmp 0x71d1bc77
call fcn.71d51586
jmp 0x71d1bc89
test byte [ebx + 0x10], 7
je 0x71d2ae26
xor eax, eax
mov byte [esi], 0x41
mov byte [esi + 0x13], al
jmp 0x71cf7424
mov al, byte [esi + 1]
mov byte [edi + 1], al
jmp 0x71d2ae26
cmp al, 0xe
jne 0x71d06558
jmp 0x71cf77f8
add dword [edi + 0x24], ecx
jmp 0x71d3e03b
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 0x71d542a5
mov ecx, dword [ebp - 0x10]
call fcn.71d19208
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 0x71d542dd
call fcn.71d51586
mov edx, dword [ebp - 0x34]
test byte [edx + 0x10], 0x20
je 0x71d542ee
call fcn.71d51586
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 0x71cf78c6
call fcn.71d51586
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], esi
jmp 0x71d22764
call fcn.71d51586
jmp 0x71d1c00f
cmp al, 0xa
jne 0x71d29a45
mov eax, dword [ebx + 0x28]
xor edx, edx
cmp byte [eax], 8
jne 0x71d0eb1b
cmp dword [eax + 0x24], 1
jne 0x71d0eb1b
cmp dword [eax + 0x28], edx
jne 0x71d0eb1b
cmp ecx, 0x3f
jg 0x71d0eb1b
xor eax, eax
inc eax
call fcn.71cf84b0
cmp dword [ebp - 0x14], 1
mov ecx, dword [ebx + 0x28]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], edx
jne 0x71d29a45
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
call fcn.71d19208
xor eax, eax
mov dword [edi + 0x28], eax
jmp 0x71d29a37
call fcn.71d51586
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71d339eb
call fcn.71d51586
jmp 0x71d33a3a
call fcn.71d51586
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x71d0eb34
mov ecx, edi
call fcn.71d0ffa0
mov esi, dword [ebp + 8]
jmp 0x71d10837
movzx eax, byte [ebx]
test byte [eax + 0x653b450], 0x10
jne 0x71d543e5
call fcn.71d51586
test byte [ebx + 0x10], 4
jne 0x71d543f0
call fcn.71d51586
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.71cf20cf
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 0x71cf7424
call fcn.71d51586
jmp 0x71d22ed3
cmp byte [edx + 1], 1
jne 0x71d22efb
cmp byte [edi + 1], 1
je 0x71d54454
call fcn.71d51586
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx], 0xc
jne 0x71d54499
cmp byte [ecx + 1], 1
jne 0x71d54499
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x18], eax
test al, 7
je 0x71d542fd
push dword [ebx + 0x24]
call fcn.71d1bf32
test al, al
jne 0x71d22f01
mov eax, dword [ebp - 0x18]
and eax, 0x9fffffff
mov dword [ebx + 0x10], eax
jmp 0x71d06558
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.71d19208
mov esi, dword [ebp + 8]
jmp 0x71d22efb
cmp al, 0xc
je 0x71cf7826
movzx edx, byte [ebp - 0xa]
movzx ecx, byte [ebx + 1]
mov al, byte [edx + 0x653b430]
cmp al, byte [ecx + 0x653b430]
je 0x71d06558
mov cl, byte [ebp - 0xa]
cmp cl, 1
je 0x71cf78c4
mov eax, dword [ebx + 0x28]
and dword [eax + 0x10], 0x8000
cmp cl, 0xa
jne 0x71d54521
xor ecx, ecx
mov word [eax], 0xa08
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov byte [ebx + 1], 0xa
jmp 0x71d06558
test byte [edx + 0x653b5f0], 4
je 0x71d5453d
fldz
fstp qword [eax + 0x24]
mov word [eax], 0xd09
mov byte [ebx + 1], 0xd
jmp 0x71d06558
xor ecx, ecx
mov word [eax], 0x807
mov dword [eax + 0x24], ecx
mov byte [ebx + 1], 8
jmp 0x71d06558
mov esi, 0x8000
test dword [edi + 0x10], esi
jne 0x71d54567
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x6d0], 1
test byte [ebx + 0x10], 0x1f
jne 0x71cf783c
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
test byte [eax + 0x653b450], 0x40
je 0x71d54588
mov eax, dword [edi + 0x24]
jmp 0x71cf78c6
mov dl, byte [ebp - 0xa]
cmp dl, 0xa
jne 0x71d54642
movzx eax, byte [edi + 1]
cmp byte [eax + 0x653b430], 8
jne 0x71d5461f
mov al, byte [ebp - 9]
cmp al, 0x2a
je 0x71d545c1
cmp al, 0x2b
je 0x71d545c1
cmp al, 0x2c
je 0x71d545c1
call fcn.71d51586
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 0x71d5461f
movzx eax, byte [edi + 1]
cmp byte [eax + 0x653b430], 0xa
je 0x71d545f6
test byte [eax + 0x653b5f0], 4
je 0x71d5461f
movzx eax, byte [ecx]
test byte [eax + 0x653b450], 0x10
jne 0x71d5460d
call fcn.71d51586
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 + 0x653b430]
cmp al, byte [ecx + 0x653b430]
je 0x71d2ae26
call fcn.71d51586
jmp 0x71d2ae26
xor ebx, ebx
jmp 0x71d545db
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 0x71d06569
test cl, 0x18
jne 0x71d54673
call fcn.71d51586
mov edx, dword [ebp - 0x18]
mov al, byte [ebp - 0xa]
mov byte [ebx + 1], al
mov esi, dword [ebp + 8]
jmp 0x71d2b01e
call fcn.71d51586
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
jmp 0x71d05fcc
cmp al, 0xa
je 0x71d41a54
call fcn.71d51586
jmp 0x71d41a54
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.71d2f19f
jmp 0x71d41a79
call fcn.71d51586
mov esi, dword [ebp + 8]
mov dl, byte [ebp - 9]
mov eax, dword [ebp - 0x18]
jmp 0x71d34083
mov eax, dword [edi + 0x28]
cmp cl, byte [eax + 1]
je 0x71d060e7
mov eax, dword [ebp - 0x10]
imul ecx, dword [ebx + 0x24], 0x60
mov eax, dword [eax + 0x1c]
test byte [ecx + eax + 4], 0x40
je 0x71d060e7
jmp 0x71cf78c4
mov edx, dword [edi + 0x28]
xor eax, eax
push eax
mov ecx, ebx
call fcn.71d0e7c0
test al, al
je 0x71cf78c4
mov esi, dword [ebp - 0x18]
jmp 0x71d0615b
cmp al, 0x21
je 0x71d54722
call fcn.71d51586
mov eax, dword [ebp + 8]
mov dl, 0x21
push esi
push edi
mov al, byte [eax + 1]
mov byte [ebp - 0x18], al
jmp 0x71d06191