Function at 0x71b0bc
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdb0
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov esi, dword [ebp - 4]
lea edi, [ebp - 0x78]
mov eax, dword [esi]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
xor eax, eax
mov esi, dword [ebp - 8]
xor edx, edx
mov ebx, dword [esi]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0xc]
xor eax, eax
xor edx, edx
mov ecx, dword [ecx]
mov dword [edi], ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], edx
xor ecx, ecx
mov dword [ebp - 0x88], ecx
xor eax, eax
mov dword [ebp - 0x8c], eax
test byte [ebp - 0x57], 8
setne dl
and edx, 1
mov dword [ebp - 0x90], edx
test byte [ebp - 0x57], 2
setne cl
and ecx, 1
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
xor eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x30], edx
mov eax, 0xfffffffe
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
test byte [ebp - 0x58], 1
je 0x71b180
mov edx, 1
jmp 0x71b182
xor edx, edx
mov dword [ebp - 0x4c], edx
mov eax, dword [edi]
movzx esi, word [eax]
test esi, esi
jne 0x71b1a3
cmp dword [ebp - 0x80], 0
je 0x71b1a3
mov eax, dword [ebp - 0x80]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x80], edx
mov ecx, dword [edi]
movzx esi, word [ecx]
cmp dword [ebp + 8], 0
je 0x71b270
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx + 0x34]
add eax, eax
add edx, eax
add edx, 0xffffff38
cmp ebx, edx
jbe 0x71b1d5
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x34
jmp 0x71f654
cmp ebx, dword [ebp - 0x64]
jae 0x71b1dd
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebp + 8]
mov ecx, ebx
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x64]
sar ecx, 1
jns 0x71b1f3
adc ecx, 0
cmp edx, ecx
jge 0x71b205
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x14
jmp 0x71f654
mov eax, ebx
sub eax, dword [ebp - 0x64]
sar eax, 1
jns 0x71b211
adc eax, 0
mov edx, dword [ebp + 8]
add dword [edx], eax
cmp dword [ebp - 0x84], 0
je 0x71b268
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [ebp - 0x68]
jbe 0x71b26b
mov ecx, ebx
sub ecx, dword [ebp - 0x84]
sar ecx, 1
jns 0x71b239
adc ecx, 0
add ecx, ecx
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x68]
call fcn.0070f4d0
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x68]
sar ecx, 1
jns 0x71b259
adc ecx, 0
add ecx, ecx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x84], eax
sub ebx, ecx
jmp 0x71b26b
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x64], ebx
jmp 0x71b29c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx + 0x34]
add eax, eax
mov ecx, dword [ebp + 0xc]
add edx, eax
add edx, 0xffffff38
cmp edx, dword [ecx + 0x24]
jae 0x71b29c
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x34
jmp 0x71f654
cmp dword [ebp - 0x70], 0
je 0x71b30f
test esi, esi
je 0x71b30f
cmp esi, 0x5c
jne 0x71b2c5
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x45
jne 0x71b2c5
xor edx, edx
mov dword [ebp - 0x70], edx
add dword [edi], 2
jmp 0x71f64c
cmp dword [ebp - 0x88], 0
je 0x71b2ec
cmp dword [ebp + 8], 0
jne 0x71b2e4
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [ebp - 0x88]
call fcn.00719e98
xor ecx, ecx
mov dword [ebp - 0x88], ecx
test byte [ebp - 0x57], 0x40
je 0x71f427
mov dword [ebp - 0x88], ebx
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, ebx
call fcn.00719e50
mov ebx, eax
jmp 0x71f427
cmp esi, 0x2a
je 0x71b335
cmp esi, 0x2b
je 0x71b335
cmp esi, 0x3f
je 0x71b335
cmp esi, 0x7b
jne 0x71b331
mov eax, dword [edi]
add eax, 2
call fcn.00718400
test eax, eax
jne 0x71b335
xor edx, edx
jmp 0x71b33a
mov edx, 1
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0
jne 0x71b37b
cmp dword [ebp - 0x88], 0
je 0x71b37b
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x5c], 0xffffffff
test ecx, ecx
jg 0x71b37b
cmp dword [ebp + 8], 0
jne 0x71b373
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [ebp - 0x88]
call fcn.00719e98
xor ecx, ecx
mov dword [ebp - 0x88], ecx
test byte [ebp - 0x58], 8
je 0x71b484
mov eax, dword [edi]
cmp word [eax], 0xff
ja 0x71b39e
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0xc]
test byte [ecx + esi], 1
jne 0x71f64c
cmp esi, 0x23
jne 0x71b484
add dword [edi], 2
jmp 0x71b46a
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x68], 0
je 0x71b3f2
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [edi]
jbe 0x71b3e7
mov eax, dword [ebp + 0xc]
add eax, 0x6c
push eax
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x68]
mov eax, dword [edi]
mov ecx, dword [ecx + 0x1c]
call fcn.00774b1c
test eax, eax
jne 0x71b3eb
xor edx, edx
jmp 0x71b435
mov edx, 1
jmp 0x71b435
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x1c]
add edx, edx
sub ecx, edx
cmp ecx, dword [edi]
jb 0x71b42c
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
mov ax, word [ecx]
cmp ax, word [edx + 0x70]
jne 0x71b42c
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x6c], 1
je 0x71b430
mov eax, dword [edi]
mov dx, word [eax + 2]
mov eax, dword [ebp + 0xc]
cmp dx, word [eax + 0x72]
je 0x71b430
xor edx, edx
jmp 0x71b435
mov edx, 1
test edx, edx
je 0x71b448
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x6c]
add ecx, ecx
add ecx, 0xfffffffe
add dword [edi], ecx
jmp 0x71b476
add dword [edi], 2
cmp dword [ebp - 0x90], 0
je 0x71b46a
mov eax, dword [edi]
movzx edx, word [eax]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x71b46a
add dword [edi], 2
mov ecx, dword [edi]
cmp word [ecx], 0
jne 0x71b3af
mov eax, dword [edi]
cmp word [eax], 0
jne 0x71f64c
xor esi, esi
test byte [ebp - 0x57], 0x40
je 0x71b4a7
cmp dword [ebp - 0xac], 0
jne 0x71b4a7
mov dword [ebp - 0x88], ebx
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, ebx
call fcn.00719e50
mov ebx, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x71b4f5
je 0x71c559
cmp ecx, 0x29
jg 0x71b4d7
je 0x71b52d
sub ecx, 1
jb 0x71b52d
sub ecx, 0x23
je 0x71b5d5
sub ecx, 4
je 0x71d8bb
jmp 0x71f427
sub ecx, 0x2a
je 0x71c53b
dec ecx
je 0x71c549
sub ecx, 3
je 0x71b5f8
jmp 0x71f427
cmp ecx, 0x5e
jg 0x71b51c
je 0x71b5a0
sub ecx, 0x5b
je 0x71b65e
dec ecx
je 0x71efca
dec ecx
je 0x71b63e
jmp 0x71f427
sub ecx, 0x7b
je 0x71c50a
dec ecx
je 0x71b52d
jmp 0x71f427
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x2c]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x34]
mov dword [ecx], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x38]
mov dword [edx], ecx
mov ecx, dword [ebp - 8]
mov dword [ecx], ebx
mov eax, dword [ebp - 0xc]
mov edx, dword [edi]
mov dword [eax], edx
cmp dword [ebp + 8], 0
je 0x71b596
mov ecx, dword [ebp + 8]
mov edx, ebx
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x64]
sar edx, 1
jns 0x71b575
adc edx, 0
cmp eax, edx
jge 0x71b587
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x14
jmp 0x71f654
sub ebx, dword [ebp - 0x64]
sar ebx, 1
jns 0x71b591
adc ebx, 0
mov eax, dword [ebp + 8]
add dword [eax], ebx
mov eax, 1
jmp 0x71f65d
xor edx, edx
mov dword [ebp - 0x84], edx
test byte [ebp - 0x58], 2
je 0x71b5c8
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71b5bb
mov dword [ebp - 0x34], 0xffffffff
mov word [ebx], 0x1a
add ebx, 2
jmp 0x71f64c
mov word [ebx], 0x19
add ebx, 2
jmp 0x71f64c
xor ecx, ecx
mov dword [ebp - 0x84], ecx
test byte [ebp - 0x58], 2
je 0x71b5e9
mov cx, 0x1c
jmp 0x71b5ed
mov cx, 0x1b
mov word [ebx], cx
add ebx, 2
jmp 0x71f64c
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71b605
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x84], ebx
test byte [ebp - 0x58], 4
je 0x71b62f
mov dx, 0xd
jmp 0x71b633
mov dx, 0xc
mov word [ebx], dx
add ebx, 2
jmp 0x71f64c
mov eax, dword [ebp + 0xc]
test byte [eax + 0x53], 2
je 0x71f427
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x40
jmp 0x71f654
mov dword [ebp - 0x84], ebx
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x3a
je 0x71b685
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x2e
je 0x71b685
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x3d
jne 0x71b6b4
lea edx, [ebp - 0x7c]
mov eax, dword [edi]
call fcn.00719cc4
test eax, eax
je 0x71b6b4
mov ecx, dword [edi]
movzx esi, word [ecx + 2]
cmp esi, 0x3a
jne 0x71b6a5
mov eax, 0xd
jmp 0x71b6aa
mov eax, 0x1f
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
jmp 0x71f654
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
add dword [edi], 2
mov ecx, dword [edi]
movzx esi, word [ecx]
cmp esi, 0x5c
jne 0x71b6f6
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x45
jne 0x71b6d9
add dword [edi], 2
jmp 0x71b6bc
mov edx, 0x9df9aa
mov eax, dword [edi]
add eax, 2
mov ecx, 3
call fcn.0073f384
test eax, eax
jne 0x71b710
add dword [edi], 6
jmp 0x71b6bc
cmp dword [ebp - 0xa0], 0
jne 0x71b710
cmp esi, 0x5e
jne 0x71b710
mov dword [ebp - 0xa0], 1
jmp 0x71b6bc
cmp esi, 0x5d
jne 0x71b755
mov ecx, dword [ebp + 0xc]
test byte [ecx + 0x53], 2
je 0x71b755
cmp dword [ebp - 0xa0], 0
je 0x71b72d
mov ax, 0xd
jmp 0x71b731
mov ax, 0x97
mov word [ebx], ax
add ebx, 2
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71b744
mov dword [ebp - 0x34], 0xffffffff
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
jmp 0x71f64c
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xb8], eax
xor edx, edx
lea eax, [ebp - 0x214]
mov dword [ebp - 0xbc], edx
xor edx, edx
mov ecx, 0x20
call fcn.0070f4e0
xor ecx, ecx
lea eax, [ebx + 8]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x94]
test esi, esi
mov dword [ebp - 0x9c], edx
je 0x71c374
cmp dword [ebp - 0x90], 0
je 0x71b7f0
mov ecx, esi
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x71b7f0
mov eax, dword [edi]
movzx esi, word [eax]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x71b7f0
mov edx, dword [edi]
and esi, 0x3ff
shl esi, 0xa
movzx ecx, word [edx + 2]
and ecx, 0x3ff
or esi, ecx
add esi, 0x10000
add dword [edi], 2
cmp dword [ebp + 8], 0
je 0x71b832
mov ecx, dword [ebp - 0x94]
cmp ecx, dword [ebp - 0x9c]
jbe 0x71b832
mov dword [ebp - 0x98], 1
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x9c]
sar eax, 1
jns 0x71b821
adc eax, 0
mov edx, dword [ebp + 8]
add dword [edx], eax
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x70], 0
je 0x71b862
cmp esi, 0x5c
jne 0x71bfc4
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x45
jne 0x71bfc4
xor ecx, ecx
mov dword [ebp - 0x70], ecx
add dword [edi], 2
jmp 0x71c339
cmp esi, 0x5b
jne 0x71bb39
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x3a
je 0x71b890
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x2e
je 0x71b890
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x3d
jne 0x71bb39
lea edx, [ebp - 0x7c]
mov eax, dword [edi]
call fcn.00719cc4
test eax, eax
je 0x71bb39
xor ecx, ecx
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov dword [ebp - 0x104], edx
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x3a
je 0x71b8cf
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1f
jmp 0x71f654
add dword [edi], 4
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x5e
jne 0x71b8f3
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0xa4], 1
add dword [edi], 2
mov edx, dword [ebp - 0x7c]
sub edx, dword [edi]
sar edx, 1
jns 0x71b8ff
adc edx, 0
mov eax, dword [edi]
call fcn.00719d4c
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
jge 0x71b923
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1e
jmp 0x71f654
test byte [ebp - 0x58], 1
je 0x71b93a
cmp dword [ebp - 0xf8], 2
jg 0x71b93a
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
test byte [ebp - 0x55], 0x20
je 0x71b98e
cmp dword [ebp - 0xf4], 0
je 0x71b950
mov ecx, 0xe
jmp 0x71b952
xor ecx, ecx
add ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x108]
cmp dword [eax*4 + 0x9debf8], 0
je 0x71b98e
mov edx, dword [ebp - 0x7c]
add edx, 2
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp - 0x108]
mov eax, dword [ecx*4 + 0x9debf8]
add eax, 0xfffffffe
mov dword [edi], eax
jmp 0x71c339
mov edx, dword [ebp - 0xf8]
lea eax, [ebp - 0x250]
lea edx, [edx + edx*2]
mov dword [ebp - 0xf8], edx
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ecx*4 + 0x9dea40]
mov ecx, 0x20
add edx, dword [ebp - 0x104]
call fcn.0070f4c0
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax*4 + 0x9dea44]
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx*4 + 0x9dea48]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0xfc], 0
jl 0x71ba62
cmp dword [ebp - 0x100], 0
jl 0x71ba2d
xor esi, esi
lea eax, [ebp - 0x250]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x104]
add edx, esi
mov eax, dword [ebp - 0x1f0]
inc esi
mov cl, byte [ecx + edx]
or byte [eax], cl
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71ba06
jmp 0x71ba62
xor esi, esi
lea eax, [ebp - 0x250]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x104]
add edx, esi
mov eax, dword [ebp - 0x1f0]
inc esi
mov cl, byte [ecx + edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71ba3b
cmp dword [ebp - 0x100], 0
jge 0x71ba71
neg dword [ebp - 0x100]
cmp dword [ebp - 0x100], 1
jne 0x71ba83
and byte [ebp - 0x24f], 0xc3
jmp 0x71ba93
cmp dword [ebp - 0x100], 2
jne 0x71ba93
and byte [ebp - 0x245], 0x7f
cmp dword [ebp - 0xf4], 0
je 0x71badc
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f4], eax
lea edx, [ebp - 0x250]
mov dword [ebp - 0x1f0], edx
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1f4]
inc esi
mov cl, byte [ecx]
not cl
or byte [eax], cl
inc dword [ebp - 0x1f4]
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71bab6
jmp 0x71bb18
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f0], eax
lea edx, [ebp - 0x250]
mov dword [ebp - 0x1f4], edx
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1f0]
inc esi
mov cl, byte [ecx]
or byte [eax], cl
inc dword [ebp - 0x1f0]
inc dword [ebp - 0x1f4]
cmp esi, 0x20
jb 0x71baf6
mov edx, dword [ebp - 0x7c]
add edx, 2
mov dword [edi], edx
mov dword [ebp - 0xb8], 1
mov dword [ebp - 0xbc], 2
jmp 0x71c339
cmp esi, 0x5c
jne 0x71bfc4
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x38]
push eax
mov edx, dword [ebp - 0x58]
push edx
push 1
lea edx, [ebp - 0xec]
mov eax, edi
mov ecx, dword [ebp + 0x28]
call fcn.00718488
mov esi, eax
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x71f654
test esi, esi
jne 0x71bb7c
mov esi, dword [ebp - 0xec]
jmp 0x71bfc4
cmp esi, 5
jne 0x71bb8b
mov esi, 8
jmp 0x71bfc4
cmp esi, 0xc
jne 0x71bba3
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x47
jmp 0x71f654
cmp esi, 0x1a
jne 0x71bbd7
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x5c
jne 0x71bbc6
mov ecx, dword [edi]
movzx eax, word [ecx + 4]
cmp eax, 0x45
jne 0x71bbc6
add dword [edi], 4
jmp 0x71c339
mov dword [ebp - 0x70], 1
jmp 0x71c339
cmp esi, 0x19
je 0x71c339
mov edx, dword [ebp + 0xc]
mov eax, esi
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x10c], ecx
inc dword [ebp - 0xb8]
add dword [ebp - 0xbc], 2
cmp eax, 0x1c
ja case.0x71bc0d.6
mov al, byte [eax + 0x71bc14]
jmp dword [eax*4 + 0x71bc31]
mov edx, dword [edi]
mov dword [ebp - 0x80], edx
mov ecx, dword [esi*4 + 0x9dead0]
add ecx, 0xfffffffe
mov dword [edi], ecx
dec dword [ebp - 0xb8]
jmp 0x71c339
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1f4]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x1f4]
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71bc9e
jmp 0x71c339
mov dword [ebp - 0xa4], 1
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f0]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x1f0]
inc dword [ebp - 0x1f4]
cmp esi, 0x20
jb 0x71bcec
jmp 0x71c339
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0xa0]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1f4]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x1f4]
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71bd35
jmp 0x71c339
mov dword [ebp - 0xa4], 1
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0xa0]
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f0]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x1f0]
inc dword [ebp - 0x1f4]
cmp esi, 0x20
jb 0x71bd86
jmp 0x71c339
mov ecx, dword [ebp - 0x10c]
mov esi, 2
mov al, byte [ecx]
or byte [ebp - 0x214], al
lea eax, [ebp - 0x212]
mov edx, dword [ebp - 0x10c]
mov cl, byte [edx + 1]
and cl, 0xf7
or byte [ebp - 0x213], cl
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 2]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1f4]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x1f4]
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71bdef
jmp 0x71c339
mov dword [ebp - 0xa4], 1
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x10c]
mov ecx, edx
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f0]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x1f0]
inc dword [ebp - 0x1f4]
cmp esi, 0x20
jb 0x71be3c
or byte [ebp - 0x213], 8
jmp 0x71c339
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x94]
push ecx
push 0x9e04bc
push 0xffffffffffffffff
lea eax, [ebp - 0x214]
mov ecx, dword [ebp - 0x58]
call fcn.0071afb0
jmp 0x71c339
mov eax, dword [ebp + 0xc]
push eax
push 0x9e04bc
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x214]
mov ecx, dword [ebp - 0x58]
call fcn.0071b020
jmp 0x71c339
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x214]
push edx
push 0x9e050c
push 0xffffffffffffffff
lea edx, [ebp - 0x94]
mov ecx, dword [ebp - 0x58]
call fcn.0071afb0
jmp 0x71c339
mov ecx, dword [ebp + 0xc]
push ecx
push 0x9e050c
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x214]
mov ecx, dword [ebp - 0x58]
call fcn.0071b020
jmp 0x71c339
xor eax, eax
xor edx, edx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], edx
lea ecx, [ebp - 0x118]
lea edx, [ebp - 0x110]
push ecx
lea ecx, [ebp - 0x114]
mov eax, dword [ebp + 0x28]
push eax
mov eax, edi
call fcn.00718b4c
test eax, eax
je 0x71f654
cmp esi, 0x10
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x110]
je 0x71bf45
mov ax, 3
jmp 0x71bf49
mov ax, 4
mov edx, dword [ebp - 0x94]
mov word [edx], ax
add dword [ebp - 0x94], 2
mov ecx, dword [ebp - 0x94]
mov si, word [ebp - 0x114]
mov word [ecx], si
add dword [ebp - 0x94], 2
mov eax, dword [ebp - 0x94]
mov dx, word [ebp - 0x118]
mov word [eax], dx
add dword [ebp - 0x94], 2
dec dword [ebp - 0xb8]
jmp 0x71c339
test byte [ebp - 0x58], 0x40
je 0x71bfa6
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 7
jmp 0x71f654
dec dword [ebp - 0xb8]
sub dword [ebp - 0xbc], 2
mov ecx, dword [edi]
movzx esi, word [ecx]
jmp 0x71bfc4
xor eax, eax
mov dword [ebp - 0x70], eax
add dword [edi], 4
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x5c
jne 0x71bfda
mov ecx, dword [edi]
movzx eax, word [ecx + 4]
cmp eax, 0x45
je 0x71bfbc
mov edx, dword [edi]
cmp esi, 0xd
mov dword [ebp - 0xf0], edx
je 0x71bfec
cmp esi, 0xa
jne 0x71bff6
mov ecx, dword [ebp + 0xc]
or dword [ecx + 0x54], 0x800
cmp dword [ebp - 0x70], 0
jne 0x71c1c2
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x2d
jne 0x71c1c2
add dword [edi], 4
jmp 0x71c017
add dword [edi], 4
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x5c
jne 0x71c054
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x45
je 0x71c014
jmp 0x71c054
add dword [edi], 4
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x5c
jne 0x71c04b
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x45
jne 0x71c04b
add dword [edi], 4
jmp 0x71c054
mov dword [ebp - 0x70], 1
jmp 0x71c069
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x5c
jne 0x71c069
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x51
je 0x71c02e
mov ecx, dword [edi]
cmp word [ecx], 0
je 0x71c081
cmp dword [ebp - 0x70], 0
jne 0x71c08e
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x5d
jne 0x71c08e
mov ecx, dword [ebp - 0xf0]
mov dword [edi], ecx
jmp 0x71c1c2
cmp dword [ebp - 0x90], 0
je 0x71c0e2
mov eax, dword [edi]
movzx edx, word [eax]
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp - 0x11c]
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x71c0ed
mov edx, dword [edi]
mov eax, dword [ebp - 0x11c]
and eax, 0x3ff
movzx edx, word [edx + 2]
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
mov dword [ebp - 0x11c], eax
add dword [edi], 2
jmp 0x71c0ed
mov eax, dword [edi]
movzx ecx, word [eax]
mov dword [ebp - 0x11c], ecx
cmp dword [ebp - 0x70], 0
jne 0x71c153
cmp dword [ebp - 0x11c], 0x5c
jne 0x71c153
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x38]
push eax
mov edx, dword [ebp - 0x58]
push edx
push 1
lea edx, [ebp - 0x11c]
mov eax, edi
mov ecx, dword [ebp + 0x28]
call fcn.00718488
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x71f654
cmp dword [ebp - 0x120], 0
je 0x71c153
cmp dword [ebp - 0x120], 5
jne 0x71c149
mov dword [ebp - 0x11c], 8
jmp 0x71c153
mov eax, dword [ebp - 0xf0]
mov dword [edi], eax
jmp 0x71c1c2
cmp esi, dword [ebp - 0x11c]
jbe 0x71c169
mov edx, dword [ebp + 0x28]
mov dword [edx], 8
jmp 0x71f654
cmp esi, dword [ebp - 0x11c]
je 0x71c1c2
mov dword [ebp - 0xbc], 2
cmp dword [ebp - 0x11c], 0xd
je 0x71c18d
cmp dword [ebp - 0x11c], 0xa
jne 0x71c197
mov ecx, dword [ebp + 0xc]
or dword [ecx + 0x54], 0x800
mov eax, dword [ebp + 0xc]
push eax
push esi
mov edx, dword [ebp - 0x11c]
lea eax, [ebp - 0x214]
push edx
lea edx, [ebp - 0x94]
mov ecx, dword [ebp - 0x58]
call fcn.0071ad9c
add dword [ebp - 0xb8], eax
jmp 0x71c339
cmp dword [ebp - 0xbc], 2
jge 0x71c1d1
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 1
jne 0x71c319
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x5d
jne 0x71c319
add dword [edi], 2
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0xa0], 0
je 0x71c2da
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71c216
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x90], 0
je 0x71c296
test byte [ebp - 0x58], 1
je 0x71c296
mov ecx, esi
test ecx, ecx
jns 0x71c23a
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x9ffa34]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x71c257
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x9f2f34]
xor eax, eax
mov al, byte [ecx*8 + 0x9f1b97]
mov dword [ebp - 0x124], eax
test eax, eax
je 0x71c296
mov word [ebx], 0xf
add ebx, 2
mov word [ebx], 9
add ebx, 2
mov dx, word [ebp - 0x124]
mov word [ebx], dx
add ebx, 2
jmp 0x71f64c
test byte [ebp - 0x58], 1
je 0x71c2a2
mov cx, 0x20
jmp 0x71c2a6
mov cx, 0x1f
mov word [ebx], cx
add ebx, 2
cmp dword [ebp - 0x90], 0
je 0x71c2cf
cmp esi, 0xffff
jbe 0x71c2cf
mov edx, ebx
mov eax, esi
call fcn.00720ad0
add eax, eax
add ebx, eax
jmp 0x71f64c
mov word [ebx], si
add ebx, 2
jmp 0x71f64c
cmp dword [ebp - 0x90], 0
je 0x71c303
cmp esi, 0xffff
jbe 0x71c303
lea edx, [ebp - 0x230]
mov eax, esi
call fcn.00720ad0
mov dword [ebp - 0xe4], eax
jmp 0x71f47f
mov word [ebp - 0x230], si
mov dword [ebp - 0xe4], 1
jmp 0x71f47f
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x94]
push ecx
push esi
push esi
lea eax, [ebp - 0x214]
mov ecx, dword [ebp - 0x58]
call fcn.0071ad9c
add dword [ebp - 0xb8], eax
add dword [edi], 2
mov ecx, dword [edi]
movzx esi, word [ecx]
test esi, esi
jne 0x71c361
cmp dword [ebp - 0x80], 0
je 0x71c374
mov eax, dword [ebp - 0x80]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x80], edx
add dword [edi], 2
mov ecx, dword [edi]
movzx esi, word [ecx]
test esi, esi
je 0x71c374
cmp esi, 0x5d
jne 0x71b7a4
cmp dword [ebp - 0x70], 0
jne 0x71b7a4
test esi, esi
jne 0x71c386
mov eax, dword [ebp + 0x28]
mov dword [eax], 6
jmp 0x71f654
mov edx, dword [ebp - 0x94]
cmp edx, dword [ebp - 0x9c]
jbe 0x71c39e
mov dword [ebp - 0x98], 1
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71c3ab
mov dword [ebp - 0x34], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x98], 0
je 0x71c4a1
cmp dword [ebp - 0xa4], 0
je 0x71c3e3
test byte [ebp - 0x55], 0x20
je 0x71c4a1
mov ecx, dword [ebp - 0x94]
mov word [ecx], 0
add dword [ebp - 0x94], 2
mov word [ebx], 0x6c
add ebx, 2
add ebx, 4
cmp dword [ebp - 0xa0], 0
je 0x71c40f
mov ax, 1
jmp 0x71c411
xor eax, eax
mov word [ebx], ax
cmp dword [ebp - 0xb8], 0
jle 0x71c45c
or word [ebx], 2
add ebx, 2
mov ecx, dword [ebp - 0x94]
sub ecx, ebx
sar ecx, 1
jns 0x71c433
adc ecx, 0
add ecx, ecx
lea eax, [ebx + 0x20]
mov edx, ebx
call fcn.0070f4d0
lea edx, [ebp - 0x214]
mov ecx, 0x20
mov eax, ebx
call fcn.0070f4c0
mov ebx, dword [ebp - 0x94]
add ebx, 0x20
jmp 0x71c462
mov ebx, dword [ebp - 0x94]
mov eax, ebx
sub eax, dword [ebp - 0x84]
sar eax, 1
jns 0x71c471
adc eax, 0
sar eax, 0x10
mov edx, dword [ebp - 0x84]
mov word [edx + 2], ax
mov ecx, ebx
sub ecx, dword [ebp - 0x84]
sar ecx, 1
jns 0x71c48d
adc ecx, 0
and cx, 0xffff
mov esi, dword [ebp - 0x84]
mov word [esi + 4], cx
jmp 0x71f64c
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0xa4]
jne 0x71c4b5
mov dx, 0x6a
jmp 0x71c4b9
mov dx, 0x6b
mov word [ebx], dx
add ebx, 2
cmp dword [ebp + 8], 0
jne 0x71c502
cmp dword [ebp - 0xa0], 0
je 0x71c4f0
xor esi, esi
lea eax, [ebp - 0x214]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x1f0]
not byte [edx]
inc esi
inc dword [ebp - 0x1f0]
cmp esi, 0x20
jb 0x71c4dc
lea edx, [ebp - 0x214]
mov ecx, 0x20
mov eax, ebx
call fcn.0070f4c0
add ebx, 0x20
jmp 0x71f64c
cmp dword [ebp - 0xac], 0
je 0x71f427
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x18]
mov eax, dword [edi]
add eax, 2
call fcn.00718c70
mov dword [edi], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x71f654
jmp 0x71c565
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x71c565
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x71c565
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x84], 0
jne 0x71c57c
mov esi, dword [ebp + 0x28]
mov dword [esi], 9
jmp 0x71f654
cmp dword [ebp - 0x18], 0
jne 0x71c59a
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jne 0x71c5a6
xor edx, edx
jmp 0x71c5ab
mov edx, 2
mov dword [ebp - 0x50], edx
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x6c], ecx
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x2b
jne 0x71c5e3
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xa8], 1
add dword [edi], 2
jmp 0x71c5ff
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x3f
jne 0x71c5f9
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
add dword [edi], 2
jmp 0x71c5ff
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x84]
movzx ecx, word [edx]
cmp ecx, 0x6f
jne 0x71c705
mov eax, dword [ebp - 0x84]
add eax, 6
mov ecx, 6
mov edx, dword [ebp - 0x84]
call fcn.0070f4d0
mov eax, dword [ebp - 0x84]
add ebx, 0xc
mov word [eax], 0x7b
mov ecx, dword [ebp - 0x84]
mov word [ecx + 2], 0
mov eax, dword [ebp - 0x84]
mov word [eax + 4], 6
mov edx, dword [ebp - 0x84]
mov word [edx + 0xc], 0x72
mov ecx, dword [ebp - 0x84]
mov word [ecx + 0xe], 0
mov eax, dword [ebp - 0x84]
mov word [eax + 0x10], 6
mov dword [ebp - 0x60], 9
cmp dword [ebp + 8], 0
jne 0x71c705
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x10]
add edx, 4
cmp ecx, edx
jb 0x71c705
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x24]
movzx edx, word [eax - 4]
mov eax, dword [ebp + 0xc]
shl edx, 0x10
mov ecx, dword [eax + 0x24]
movzx eax, word [ecx - 2]
or edx, eax
mov dword [ebp - 0x128], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x84]
add edx, 2
sub edx, dword [ecx + 0x14]
sar edx, 1
jns 0x71c6cd
adc edx, 0
cmp edx, dword [ebp - 0x128]
jne 0x71c705
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x128]
add ecx, 3
sar ecx, 0x10
mov edx, dword [eax + 0x24]
mov word [edx - 4], cx
mov cx, word [ebp - 0x128]
mov eax, dword [ebp + 0xc]
add cx, 3
and cx, 0xffff
mov edx, dword [eax + 0x24]
mov word [edx - 2], cx
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx]
cmp eax, 0x1d
je 0x71c741
mov edx, dword [ebp - 0x84]
movzx ecx, word [edx]
cmp ecx, 0x1e
je 0x71c741
mov eax, dword [ebp - 0x84]
movzx edx, word [eax]
cmp edx, 0x1f
je 0x71c741
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx]
cmp eax, 0x20
jne 0x71c863
mov edx, dword [ebp - 0x84]
mov cx, word [edx]
sub cx, 0x1d
je 0x71c75f
dec cx
je 0x71c766
dec cx
je 0x71c76f
dec cx
je 0x71c778
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x71c77f
mov dword [ebp - 0x14], 0xd
jmp 0x71c77f
mov dword [ebp - 0x14], 0x1a
jmp 0x71c77f
mov dword [ebp - 0x14], 0x27
cmp dword [ebp - 0x90], 0
je 0x71c7ed
movzx edx, word [ebx - 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x71c7ed
lea ecx, [ebx - 2]
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x12c]
movzx edx, word [eax]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x71c7c1
sub dword [ebp - 0x12c], 2
mov esi, ebx
sub esi, dword [ebp - 0x12c]
sar esi, 1
jns 0x71c7d0
adc esi, 0
mov ecx, esi
add ecx, ecx
lea eax, [ebp - 0x220]
mov edx, dword [ebp - 0x12c]
call fcn.0070f4c0
or esi, 0x10000000
jmp 0x71c814
mov eax, dword [ebp - 0x84]
movzx esi, word [ebx - 2]
movzx edx, word [eax]
cmp edx, 0x1e
jg 0x71c814
cmp dword [ebp - 0x18], 1
jle 0x71c814
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x58]
or ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0xa8], 0
jne 0x71c8c5
cmp dword [ebp - 0x1c], 0
jge 0x71c8c5
mov eax, dword [ebp - 0x58]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [edi]
add ecx, 2
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x84]
call fcn.0071a1f4
test eax, eax
je 0x71c8c5
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xa8], 1
jmp 0x71c8c5
mov eax, dword [ebp - 0x84]
movzx edx, word [eax]
cmp edx, 0x17
jge 0x71cb57
mov dword [ebp - 0x14], 0x34
mov ecx, dword [ebp - 0x84]
cmp dword [ebp - 0xa8], 0
movzx esi, word [ecx]
jne 0x71c8c5
cmp dword [ebp - 0x1c], 0
jge 0x71c8c5
mov eax, dword [ebp - 0x58]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [edi]
add ecx, 2
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x84]
call fcn.0071a1f4
test eax, eax
je 0x71c8c5
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xa8], 1
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx]
cmp eax, 0x10
je 0x71c8e1
mov edx, dword [ebp - 0x84]
movzx ecx, word [edx]
cmp ecx, 0xf
jne 0x71c903
mov eax, dword [ebp - 0x84]
movzx edx, word [eax + 2]
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx + 4]
mov dword [ebp - 0x138], eax
jmp 0x71c912
or edx, 0xffffffff
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], ebx
cmp dword [ebp - 0x1c], 0
mov ebx, dword [ebp - 0x84]
je 0x71d8a5
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x10], eax
cmp dword [ebp - 0x18], 0
jne 0x71c983
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x71c94d
mov dx, word [ebp - 0x10]
add dx, 0x21
mov word [ebx], dx
add ebx, 2
jmp 0x71caf7
cmp dword [ebp - 0x1c], 1
jne 0x71c966
mov cx, word [ebp - 0x10]
add cx, 0x25
mov word [ebx], cx
add ebx, 2
jmp 0x71caf7
mov cx, word [ebp - 0x10]
add cx, 0x27
mov word [ebx], cx
add ebx, 2
mov ax, word [ebp - 0x1c]
mov word [ebx], ax
add ebx, 2
jmp 0x71caf7
cmp dword [ebp - 0x18], 1
jne 0x71c9d4
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x71c9a2
mov dx, word [ebp - 0x10]
add dx, 0x23
mov word [ebx], dx
add ebx, 2
jmp 0x71caf7
cmp dword [ebp - 0x1c], 1
mov ebx, dword [ebp - 0x130]
je 0x71d8a5
mov ax, word [ebp - 0x10]
add ax, 0x27
mov word [ebx], ax
add ebx, 2
mov dx, word [ebp - 0x1c]
add dx, 0xffff
mov word [ebx], dx
add ebx, 2
jmp 0x71caf7
mov cx, word [ebp - 0x14]
add cx, 0x29
mov word [ebx], cx
add ebx, 2
mov cx, word [ebp - 0x18]
mov word [ebx], cx
add ebx, 2
cmp dword [ebp - 0x1c], 0
jge 0x71ca5e
cmp dword [ebp - 0x90], 0
je 0x71ca22
test esi, 0x10000000
je 0x71ca22
mov ecx, esi
lea edx, [ebp - 0x220]
and ecx, 7
mov eax, ebx
add ecx, ecx
call fcn.0070f4c0
mov ecx, esi
and ecx, 7
add ecx, ecx
add ebx, ecx
jmp 0x71ca4b
mov word [ebx], si
add ebx, 2
cmp dword [ebp - 0x134], 0
jl 0x71ca4b
mov ax, word [ebp - 0x134]
mov word [ebx], ax
add ebx, 2
mov dx, word [ebp - 0x138]
mov word [ebx], dx
add ebx, 2
mov cx, word [ebp - 0x10]
add cx, 0x21
mov word [ebx], cx
add ebx, 2
jmp 0x71caf7
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
je 0x71caf7
cmp dword [ebp - 0x90], 0
je 0x71ca9a
test esi, 0x10000000
je 0x71ca9a
mov ecx, esi
lea edx, [ebp - 0x220]
and ecx, 7
mov eax, ebx
add ecx, ecx
call fcn.0070f4c0
mov ecx, esi
and ecx, 7
add ecx, ecx
add ebx, ecx
jmp 0x71caa0
mov word [ebx], si
add ebx, 2
cmp dword [ebp - 0x134], 0
jl 0x71cac3
mov ax, word [ebp - 0x134]
mov word [ebx], ax
add ebx, 2
mov dx, word [ebp - 0x138]
mov word [ebx], dx
add ebx, 2
mov ecx, dword [ebp - 0x18]
sub dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 1
jne 0x71cadf
mov ax, word [ebp - 0x10]
add ax, 0x25
mov word [ebx], ax
add ebx, 2
jmp 0x71caf7
mov dx, word [ebp - 0x10]
add dx, 0x27
mov word [ebx], dx
add ebx, 2
mov cx, word [ebp - 0x1c]
mov word [ebx], cx
add ebx, 2
cmp dword [ebp - 0x90], 0
je 0x71cb25
test esi, 0x10000000
je 0x71cb25
mov ecx, esi
lea edx, [ebp - 0x220]
and ecx, 7
mov eax, ebx
add ecx, ecx
call fcn.0070f4c0
and esi, 7
add esi, esi
add ebx, esi
jmp 0x71cb2b
mov word [ebx], si
add ebx, 2
cmp dword [ebp - 0x134], 0
jl 0x71d5a5
mov cx, word [ebp - 0x134]
mov word [ebx], cx
add ebx, 2
mov ax, word [ebp - 0x138]
mov word [ebx], ax
add ebx, 2
jmp 0x71d5a5
mov edx, dword [ebp - 0x84]
movzx ecx, word [edx]
cmp ecx, 0x6a
je 0x71cba1
mov eax, dword [ebp - 0x84]
movzx edx, word [eax]
cmp edx, 0x6b
je 0x71cba1
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx]
cmp eax, 0x6c
je 0x71cba1
mov edx, dword [ebp - 0x84]
movzx ecx, word [edx]
cmp ecx, 0x6d
je 0x71cba1
mov eax, dword [ebp - 0x84]
movzx edx, word [eax]
cmp edx, 0x6e
jne 0x71cc41
cmp dword [ebp - 0x1c], 0
jne 0x71cbb2
mov ebx, dword [ebp - 0x84]
jmp 0x71d8a5
cmp dword [ebp - 0x18], 0
jne 0x71cbd1
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x71cbd1
mov ax, word [ebp - 0x10]
add ax, 0x62
mov word [ebx], ax
add ebx, 2
jmp 0x71d5a5
cmp dword [ebp - 0x18], 1
jne 0x71cbf0
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x71cbf0
mov dx, word [ebp - 0x10]
add dx, 0x64
mov word [ebx], dx
add ebx, 2
jmp 0x71d5a5
cmp dword [ebp - 0x18], 0
jne 0x71cc0f
cmp dword [ebp - 0x1c], 1
jne 0x71cc0f
mov cx, word [ebp - 0x10]
add cx, 0x66
mov word [ebx], cx
add ebx, 2
jmp 0x71d5a5
mov cx, word [ebp - 0x10]
add cx, 0x68
mov word [ebx], cx
add ebx, 2
mov ax, word [ebp - 0x18]
mov word [ebx], ax
add ebx, 2
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x71cc32
xor edx, edx
mov dword [ebp - 0x1c], edx
mov cx, word [ebp - 0x1c]
mov word [ebx], cx
add ebx, 2
jmp 0x71d5a5
mov eax, dword [ebp - 0x84]
movzx edx, word [eax]
cmp edx, 0x77
jl 0x71d582
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx]
cmp eax, 0x81
jg 0x71d582
mov esi, ebx
sub esi, dword [ebp - 0x84]
sar esi, 1
jns 0x71cc76
adc esi, 0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x144], edx
mov ecx, dword [ebp - 0x84]
movzx ecx, word [ecx]
cmp ecx, 0x81
jne 0x71ccad
mov eax, dword [ebp - 0x84]
movzx edx, word [eax + 6]
cmp edx, 0x8b
je 0x71d8a5
mov ecx, dword [ebp - 0x84]
movzx eax, word [ecx]
cmp eax, 0x7b
jge 0x71ccd8
cmp dword [ebp - 0x18], 0
jg 0x71d8a5
cmp dword [ebp - 0x1c], 0
jl 0x71ccd1
cmp dword [ebp - 0x1c], 1
jle 0x71ccd8
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x18], 0
jne 0x71ce42
cmp dword [ebp - 0x1c], 1
jg 0x71cd6d
mov word [ebx], 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, 1
mov eax, dword [ebp - 0x84]
call fcn.00719d98
mov ecx, esi
mov eax, dword [ebp - 0x84]
add ecx, ecx
add eax, 2
mov edx, dword [ebp - 0x84]
call fcn.0070f4d0
add ebx, 2
cmp dword [ebp - 0x1c], 0
jne 0x71cd43
mov ecx, dword [ebp - 0x84]
mov word [ecx], 0x9b
jmp 0x71d8a5
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x144], eax
mov dx, word [ebp - 0x10]
mov eax, dword [ebp - 0x84]
add dx, 0x8c
mov word [eax], dx
add dword [ebp - 0x84], 2
jmp 0x71ce3a
mov word [ebx], 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, 4
mov eax, dword [ebp - 0x84]
call fcn.00719d98
mov ecx, esi
mov eax, dword [ebp - 0x84]
add ecx, ecx
add eax, 8
mov edx, dword [ebp - 0x84]
call fcn.0070f4d0
mov cx, word [ebp - 0x10]
mov eax, dword [ebp - 0x84]
add cx, 0x8c
add ebx, 8
mov word [eax], cx
add dword [ebp - 0x84], 2
mov edx, dword [ebp - 0x84]
mov word [edx], 0x7d
add dword [ebp - 0x84], 2
cmp dword [ebp - 0x140], 0
jne 0x71cde6
xor ecx, ecx
jmp 0x71cdf9
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x140]
sar ecx, 1
jns 0x71cdf9
adc ecx, 0
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x84]
sar edx, 0x10
mov word [eax], dx
mov dx, word [ebp - 0x148]
mov ecx, dword [ebp - 0x84]
and dx, 0xffff
mov word [ecx + 2], dx
add dword [ebp - 0x84], 4
dec dword [ebp - 0x1c]
jmp 0x71d038
cmp dword [ebp - 0x18], 1
jle 0x71d02c
cmp dword [ebp + 8], 0
je 0x71ceb0
mov ecx, dword [ebp - 0x18]
dec ecx
imul ecx, dword [ebp - 0x60]
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x60]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
dec eax
cdq
call fcn.0070f2a8
cmp edx, 0
jne 0x71ce7e
cmp eax, 0x7fffffff
ja 0x71ce92
jmp 0x71ce80
jg 0x71ce92
mov ecx, dword [ebp + 8]
mov eax, 0x7fffffeb
sub eax, dword [ecx]
cmp eax, dword [ebp - 0x14c]
jge 0x71cea0
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x14
jmp 0x71f654
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14c]
add dword [ecx], eax
jmp 0x71d02c
cmp dword [ebp - 0x74], 0
je 0x71cec8
cmp dword [ebp - 0x38], 0
jge 0x71cec8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x13c], 1
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0x18]
jge 0x71d02c
mov eax, dword [ebp + 0xc]
mov ecx, esi
add ecx, ecx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x150], edx
mov eax, ebx
mov edx, dword [ebp - 0x84]
call fcn.0070f4c0
jmp 0x71cf77
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ecx + 0x10]
sar eax, 1
jns 0x71cf13
adc eax, 0
mov dword [ebp - 0x154], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x150]
sub eax, dword [edx + 0x10]
sar eax, 1
jns 0x71cf2c
adc eax, 0
mov dword [ebp - 0x158], eax
mov eax, dword [ebp + 0xc]
call fcn.00718378
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x71f654
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x154]
add edx, edx
mov eax, dword [ecx + 0x10]
add eax, edx
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x158]
add edx, edx
mov eax, dword [ecx + 0x10]
add eax, edx
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov edx, dword [edx + 0x34]
add edx, edx
mov ecx, dword [ebp - 0x150]
add eax, edx
sub ecx, dword [ebp - 0x8c]
add eax, 0xffffff38
sar ecx, 1
jns 0x71cf9f
adc ecx, 0
mov edx, dword [ebp + 0xc]
add ecx, ecx
sub eax, ecx
cmp eax, dword [edx + 0x24]
jb 0x71cf00
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x150]
jae 0x71d005
movzx ecx, word [eax]
movzx edx, word [eax + 2]
shl ecx, 0x10
or ecx, edx
mov edx, dword [ebp + 0xc]
add ecx, esi
sar ecx, 0x10
mov edx, dword [edx + 0x24]
mov word [edx], cx
mov cx, word [eax]
mov edx, dword [ebp + 0xc]
shl ecx, 0x10
or cx, word [eax + 2]
mov edx, dword [edx + 0x24]
add cx, si
and cx, 0xffff
mov word [edx + 2], cx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0x24], 4
add eax, 4
cmp eax, dword [ebp - 0x150]
jb 0x71cfbd
mov ecx, esi
mov eax, dword [ebp - 0x150]
add ecx, ecx
mov dword [ebp - 0x8c], eax
add ebx, ecx
inc dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x18]
jl 0x71cee1
cmp dword [ebp - 0x1c], 0
jle 0x71d038
mov edx, dword [ebp - 0x18]
sub dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0
jl 0x71d347
cmp dword [ebp + 8], 0
je 0x71d0b3
cmp dword [ebp - 0x1c], 0
jle 0x71d0b3
mov ecx, dword [ebp - 0x60]
add ecx, 7
imul ecx, dword [ebp - 0x1c]
add ecx, 0xfffffffa
mov dword [ebp - 0x15c], ecx
mov eax, dword [ebp - 0x60]
add eax, 7
cdq
push edx
push eax
mov eax, dword [ebp - 0x1c]
cdq
call fcn.0070f2a8
cmp edx, 0
jne 0x71d081
cmp eax, 0x7fffffff
ja 0x71d095
jmp 0x71d083
jg 0x71d095
mov ecx, dword [ebp + 8]
mov esi, 0x7fffffeb
sub esi, dword [ecx]
cmp esi, dword [ebp - 0x15c]
jge 0x71d0a3
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x14
jmp 0x71f654
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x15c]
add dword [edx], ecx
jmp 0x71d2a7
mov ecx, dword [ebp - 0x1c]
dec ecx
mov dword [ebp - 0x13c], ecx
cmp dword [ebp - 0x13c], 0
jl 0x71d2a7
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x160], edx
mov cx, word [ebp - 0x10]
add cx, 0x8c
mov word [ebx], cx
add ebx, 2
cmp dword [ebp - 0x13c], 0
je 0x71d13d
mov word [ebx], 0x7d
add ebx, 2
cmp dword [ebp - 0x140], 0
jne 0x71d103
xor eax, eax
jmp 0x71d112
mov eax, ebx
sub eax, dword [ebp - 0x140]
sar eax, 1
jns 0x71d112
adc eax, 0
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x140], ebx
mov edx, dword [ebp - 0x164]
sar edx, 0x10
mov word [ebx], dx
mov cx, word [ebp - 0x164]
and cx, 0xffff
mov word [ebx + 2], cx
add ebx, 4
mov ecx, esi
add ecx, ecx
mov edx, dword [ebp - 0x84]
mov eax, ebx
call fcn.0070f4c0
jmp 0x71d1c7
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x8c]
sub eax, dword [ecx + 0x10]
sar eax, 1
jns 0x71d163
adc eax, 0
mov dword [ebp - 0x168], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x160]
sub eax, dword [edx + 0x10]
sar eax, 1
jns 0x71d17c
adc eax, 0
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0xc]
call fcn.00718378
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov ecx, dword [ebp + 0x28]
cmp dword [ecx], 0
jne 0x71f654
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x168]
add edx, edx
mov eax, dword [ecx + 0x10]
add eax, edx
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x16c]
add edx, edx
mov eax, dword [ecx + 0x10]
add eax, edx
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov edx, dword [edx + 0x34]
add edx, edx
mov ecx, dword [ebp - 0x160]
add eax, edx
sub ecx, dword [ebp - 0x8c]
add eax, 0xffffff38
sar ecx, 1
jns 0x71d1ef
adc ecx, 0
mov edx, dword [ebp + 0xc]
add ecx, ecx
sub eax, ecx
cmp eax, dword [edx + 0x24]
jb 0x71d150
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x160]
jae 0x71d282
movzx ecx, word [eax]
shl ecx, 0x10
movzx edx, word [eax + 2]
or ecx, edx
add ecx, esi
cmp dword [ebp - 0x13c], 0
je 0x71d22b
mov edx, 4
jmp 0x71d230
mov edx, 1
add ecx, edx
mov edx, dword [ebp + 0xc]
sar ecx, 0x10
mov edx, dword [edx + 0x24]
mov word [edx], cx
mov cx, word [eax]
shl ecx, 0x10
or cx, word [eax + 2]
add cx, si
cmp dword [ebp - 0x13c], 0
je 0x71d25a
mov dx, 4
jmp 0x71d25e
mov dx, 1
add cx, dx
mov edx, dword [ebp + 0xc]
and cx, 0xffff
mov edx, dword [edx + 0x24]
mov word [edx + 2], cx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0x24], 4
add eax, 4
cmp eax, dword [ebp - 0x160]
jb 0x71d20d
mov ecx, esi
mov eax, dword [ebp - 0x160]
add ecx, ecx
mov dword [ebp - 0x8c], eax
add ebx, ecx
dec dword [ebp - 0x13c]
cmp dword [ebp - 0x13c], 0
jge 0x71d0ca
cmp dword [ebp - 0x140], 0
je 0x71d5a5
mov eax, ebx
sub eax, dword [ebp - 0x140]
sar eax, 1
jns 0x71d2c3
adc eax, 0
inc eax
mov edx, eax
add edx, edx
push edx
mov edx, ebx
pop ecx
sub edx, ecx
movzx ecx, word [edx + 2]
shl ecx, 0x10
movzx esi, word [edx + 4]
or ecx, esi
mov dword [ebp - 0x170], ecx
cmp dword [ebp - 0x170], 0
jne 0x71d2ee
xor ecx, ecx
jmp 0x71d300
mov ecx, dword [ebp - 0x170]
add ecx, ecx
push ecx
mov ecx, dword [ebp - 0x140]
pop esi
sub ecx, esi
mov dword [ebp - 0x140], ecx
mov ecx, eax
mov word [ebx], 0x72
add ebx, 2
sar ecx, 0x10
mov word [ebx], cx
mov ecx, eax
and cx, 0xffff
mov word [ebx + 2], cx
mov ecx, eax
sar ecx, 0x10
add ebx, 4
and ax, 0xffff
mov word [edx + 2], cx
mov word [edx + 4], ax
cmp dword [ebp - 0x140], 0
jne 0x71d2b4
jmp 0x71d5a5
lea eax, [ebx - 6]
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x174]
mov esi, dword [ebp - 0x174]
movzx ecx, word [edx + 2]
movzx edx, word [eax + 4]
shl ecx, 0x10
or ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [ebp - 0x178], esi
mov eax, dword [ebp - 0x178]
movzx edx, word [eax]
cmp edx, 0x7b
je 0x71d395
mov ecx, dword [ebp - 0x178]
movzx ecx, word [ecx]
cmp ecx, 0x7c
jne 0x71d3a9
cmp dword [ebp - 0xa8], 0
je 0x71d3a9
mov eax, dword [ebp - 0x178]
mov word [eax], 0x7d
mov edx, dword [ebp - 0x178]
movzx ecx, word [edx]
cmp ecx, 0x7b
je 0x71d3c5
mov eax, dword [ebp - 0x178]
movzx edx, word [eax]
cmp edx, 0x7c
jne 0x71d3db
mov cx, word [ebp - 0x10]
mov eax, dword [ebp - 0x174]
add cx, 0x73
mov word [eax], cx
jmp 0x71d5a5
cmp dword [ebp + 8], 0
jne 0x71d447
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x17c]
call fcn.0071980c
test eax, eax
je 0x71d418
mov ecx, dword [ebp - 0x178]
add word [ecx], 5
jmp 0x71d447
mov eax, dword [ebp - 0x17c]
movzx edx, word [eax + 2]
shl edx, 0x10
mov eax, dword [ebp - 0x17c]
movzx ecx, word [eax + 4]
or edx, ecx
add edx, edx
add dword [ebp - 0x17c], edx
mov edx, dword [ebp - 0x17c]
movzx ecx, word [edx]
cmp ecx, 0x71
je 0x71d3ed
cmp dword [ebp - 0xa8], 0
je 0x71d56f
mov eax, dword [ebp - 0x178]
movzx edx, word [eax]
cmp edx, 0x81
je 0x71d479
mov ecx, dword [ebp - 0x178]
movzx eax, word [ecx]
cmp eax, 0x86
jne 0x71d537
mov edx, ebx
sub edx, dword [ebp - 0x178]
sar edx, 1
jns 0x71d488
adc edx, 0
mov dword [ebp - 0x180], edx
mov word [ebx], 0
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x90]
mov edx, 3
mov eax, dword [ebp - 0x178]
call fcn.00719d98
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x178]
add ecx, ecx
add eax, 6
mov edx, dword [ebp - 0x178]
call fcn.0070f4d0
add dword [ebp - 0x180], 3
mov ecx, dword [ebp - 0x178]
add ebx, 6
mov word [ecx], 0x7e
mov word [ebx], 0x75
add ebx, 2
mov eax, dword [ebp - 0x180]
sar eax, 0x10
mov word [ebx], ax
mov dx, word [ebp - 0x180]
and dx, 0xffff
mov word [ebx + 2], dx
add ebx, 4
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x178]
sar ecx, 0x10
mov word [eax + 2], cx
mov dx, word [ebp - 0x180]
mov eax, dword [ebp - 0x178]
and dx, 0xffff
mov word [eax + 4], dx
jmp 0x71d54b
mov edx, dword [ebp - 0x178]
inc word [edx]
mov ecx, dword [ebp - 0x174]
mov word [ecx], 0x75
cmp dword [ebp - 0x144], 0
je 0x71d55f
mov ecx, dword [ebp - 0x144]
mov word [ecx], 0x8e
cmp dword [ebp - 0x18], 2
jge 0x71d5a5
xor eax, eax
mov dword [ebp - 0xa8], eax
jmp 0x71d5a5
mov dx, word [ebp - 0x10]
mov eax, dword [ebp - 0x174]
add dx, 0x73
mov word [eax], dx
jmp 0x71d5a5
mov edx, dword [ebp - 0x84]
movzx ecx, word [edx]
cmp ecx, 0x97
je 0x71d8a5
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xb
jmp 0x71f654
cmp dword [ebp - 0xa8], 0
je 0x71d8a5
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax]
cmp edx, 0x5d
jne 0x71d5f4
mov ecx, dword [ebp - 0x6c]
movzx ecx, word [ecx + 4]
cmp ecx, 0x10
je 0x71d5d5
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax + 4]
cmp edx, 0xf
jne 0x71d5dc
mov ecx, 2
jmp 0x71d5de
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax]
movzx esi, byte [edx + 0x9e097c]
add ecx, esi
add ecx, ecx
add dword [ebp - 0x6c], ecx
jmp 0x71d63f
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax]
cmp edx, 0x29
je 0x71d60a
mov ecx, dword [ebp - 0x6c]
movzx ecx, word [ecx]
cmp ecx, 0x43
jne 0x71d63f
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax]
xor ecx, ecx
mov cl, byte [edx + 0x9e097c]
add ecx, ecx
add dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x90], 0
je 0x71d63f
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax - 2]
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71d63f
add dword [ebp - 0x6c], 2
mov ecx, ebx
sub ecx, dword [ebp - 0x6c]
sar ecx, 1
jns 0x71d64b
adc ecx, 0
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0
jle 0x71d8a5
mov eax, dword [ebp - 0x6c]
movzx edx, word [eax]
add edx, 0xffffffdf
cmp edx, 0x3a
ja case.0x71d676.33
mov dl, byte [edx + 0x71d67d]
jmp dword [edx*4 + 0x71d6b8]
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x2a
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x2b
jmp 0x71d8a5
mov edx, dword [ebp - 0x6c]
mov word [edx], 0x2c
jmp 0x71d8a5
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x2d
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x37
jmp 0x71d8a5
mov edx, dword [ebp - 0x6c]
mov word [edx], 0x38
jmp 0x71d8a5
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x39
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x3a
jmp 0x71d8a5
mov edx, dword [ebp - 0x6c]
mov word [edx], 0x44
jmp 0x71d8a5
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x45
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x46
jmp 0x71d8a5
mov edx, dword [ebp - 0x6c]
mov word [edx], 0x47
jmp 0x71d8a5
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x51
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x52
jmp 0x71d8a5
mov edx, dword [ebp - 0x6c]
mov word [edx], 0x53
jmp 0x71d8a5
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x54
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x5e
jmp 0x71d8a5
mov edx, dword [ebp - 0x6c]
mov word [edx], 0x5f
jmp 0x71d8a5
mov ecx, dword [ebp - 0x6c]
mov word [ecx], 0x60
jmp 0x71d8a5
mov eax, dword [ebp - 0x6c]
mov word [eax], 0x61
jmp 0x71d8a5
mov word [ebx], 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x90]
mov edx, 3
mov eax, dword [ebp - 0x6c]
call fcn.00719d98
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x6c]
add ecx, ecx
add eax, 6
mov edx, dword [ebp - 0x6c]
call fcn.0070f4d0
add dword [ebp - 0x184], 3
mov ecx, dword [ebp - 0x6c]
add ebx, 6
mov word [ecx], 0x7b
mov word [ebx], 0x72
add ebx, 2
mov eax, dword [ebp - 0x184]
sar eax, 0x10
mov word [ebx], ax
mov dx, word [ebp - 0x184]
and dx, 0xffff
mov word [ebx + 2], dx
add ebx, 4
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x6c]
sar ecx, 0x10
mov word [eax + 2], cx
mov dx, word [ebp - 0x184]
mov eax, dword [ebp - 0x6c]
and dx, 0xffff
mov word [eax + 4], dx
xor edx, edx
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x50]
or dword [ecx + 0x58], esi
jmp 0x71f64c
mov eax, dword [ebp - 0x58]
xor edx, edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x20], 0x7f
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xb4], eax
add dword [edi], 2
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x2a
jne 0x71dbdc
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x3a
je 0x71d927
mov ecx, dword [edi]
cmp word [ecx + 2], 0xff
ja 0x71dbdc
mov eax, dword [edi]
movzx edx, word [eax + 2]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 2
je 0x71dbdc
xor edx, edx
xor eax, eax
mov dword [ebp - 0x18c], edx
xor edx, edx
mov dword [ebp - 0x190], 0x9dec68
mov ecx, dword [edi]
add ecx, 2
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x84], edx
add dword [edi], 2
jmp 0x71d95c
add dword [edi], 2
mov ecx, dword [edi]
cmp word [ecx], 0xff
ja 0x71d976
mov eax, dword [edi]
movzx edx, word [eax]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 2
jne 0x71d959
mov edx, dword [edi]
sub edx, dword [ebp - 0x194]
sar edx, 1
jns 0x71d985
adc edx, 0
mov dword [ebp - 0x188], edx
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x3a
jne 0x71d9e6
add dword [edi], 2
mov edx, dword [edi]
mov dword [ebp - 0x198], edx
jmp 0x71d9a5
add dword [edi], 2
mov ecx, dword [edi]
cmp word [ecx], 0
je 0x71d9b7
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x29
jne 0x71d9a2
mov ecx, dword [edi]
sub ecx, dword [ebp - 0x198]
sar ecx, 1
jns 0x71d9c6
adc ecx, 0
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x18c], 0xffff
jbe 0x71d9e6
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x4b
jmp 0x71f654
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x29
je 0x71d9fe
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x3c
jmp 0x71f654
xor esi, esi
jmp 0x71dbb1
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x9de9d0]
cmp edx, dword [ebp - 0x188]
jne 0x71db9f
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
call fcn.0073f384
test eax, eax
jne 0x71db9f
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x9de9d4], 0x98
jne 0x71dac5
cmp dword [ebp - 0x18c], 0
je 0x71da61
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3b
jmp 0x71f654
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x5c], 1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x71da8d
mov word [ebx], 0x9a
add ebx, 2
mov dx, word [eax + 4]
mov word [ebx], dx
add ebx, 2
mov eax, dword [eax]
test eax, eax
jne 0x71da75
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 0
jle 0x71da9c
mov cx, 0x99
jmp 0x71daa0
mov cx, 0x98
mov word [ebx], cx
movzx eax, cx
mov dword [ebp - 0x19c], eax
add ebx, 2
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71db6e
mov dword [ebp - 0x34], 0xffffffff
jmp 0x71db6e
cmp dword [ebp - 0x18c], 0
jne 0x71db05
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x9de9d4], 0
jge 0x71dae9
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x42
jmp 0x71f654
lea eax, [esi + esi*2]
mov dx, word [eax*4 + 0x9de9d4]
movzx eax, dx
mov word [ebx], dx
add ebx, 2
mov dword [ebp - 0x19c], eax
jmp 0x71db6e
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x9de9d8], 0
jge 0x71db20
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3b
jmp 0x71f654
lea eax, [esi + esi*2]
mov dx, word [eax*4 + 0x9de9d8]
mov word [ebx], dx
movzx eax, dx
mov dword [ebp - 0x19c], eax
add ebx, 2
mov cx, word [ebp - 0x18c]
mov word [ebx], cx
add ebx, 2
mov ecx, dword [ebp - 0x18c]
add ecx, ecx
mov edx, dword [ebp - 0x198]
mov eax, ebx
call fcn.0070f4c0
mov ecx, dword [ebp - 0x18c]
add ecx, ecx
add ebx, ecx
mov word [ebx], 0
add ebx, 2
mov eax, dword [ebp - 0x19c]
add eax, 0xffffff70
sub eax, 4
jb 0x71db91
sub eax, 2
jb 0x71db85
jmp 0x71dbbd
mov edx, dword [ebp + 0xc]
or dword [edx + 0x54], 0x1000
jmp 0x71dbbd
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x60], 1
jmp 0x71dbbd
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x9de9d0]
inc edx
add dword [ebp - 0x190], edx
inc esi
cmp esi, dword [0x9dea3c]
jl 0x71da05
cmp esi, dword [0x9dea3c]
jl 0x71f64c
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3c
jmp 0x71f654
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x3f
jne 0x71eca7
add dword [edi], 2
mov ecx, dword [edi]
movzx ecx, word [ecx]
cmp ecx, 0x3a
jg 0x71dc74
je 0x71dcfa
add ecx, 0xffffffdf
cmp ecx, 0x18
ja case.0x71dc09.34
jmp dword [ecx*4 + 0x71dc10]
cmp ecx, 0x43
jg 0x71dc9b
je 0x71e261
sub ecx, 0x3c
je 0x71e1de
dec ecx
je 0x71e195
dec ecx
je 0x71e252
jmp case.0x71dc09.34
sub ecx, 0x50
je 0x71e33f
sub ecx, 2
je 0x71e81a
sub ecx, 0x2a
je 0x71dcf0
jmp case.0x71dc09.34
add dword [edi], 2
jmp 0x71dcbf
add dword [edi], 2
mov eax, dword [edi]
cmp word [eax], 0
je 0x71dcd1
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x29
jne 0x71dcbc
mov eax, dword [edi]
cmp word [eax], 0
jne 0x71f64c
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x12
jmp 0x71f654
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0x20], 0x7d
add dword [edi], 2
jmp 0x71ecd1
mov dword [ebp - 0x20], 0x81
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x3f
jne 0x71dd48
mov edx, dword [edi]
movzx ecx, word [edx + 4]
cmp ecx, 0x3d
je 0x71ecd1
mov eax, dword [edi]
movzx edx, word [eax + 4]
cmp edx, 0x21
je 0x71ecd1
mov ecx, dword [edi]
movzx eax, word [ecx + 4]
cmp eax, 0x3c
je 0x71ecd1
mov word [ebx + 6], 0x87
mov dword [ebp - 0xcc], 2
mov dword [ebp - 0xc8], 0xffffffff
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x52
jne 0x71dd8d
mov eax, dword [edi]
movzx edx, word [eax + 4]
cmp edx, 0x26
jne 0x71dd8d
mov dword [ebp - 0xe0], 0xffffffff
add dword [edi], 4
mov word [ebx + 6], 0x89
jmp 0x71dded
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x3c
jne 0x71dda7
mov dword [ebp - 0xe0], 0x3e
add dword [edi], 2
jmp 0x71dded
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x27
jne 0x71ddc1
mov dword [ebp - 0xe0], 0x27
add dword [edi], 2
jmp 0x71dded
xor eax, eax
mov dword [ebp - 0xe0], eax
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x2d
je 0x71dddf
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x2b
jne 0x71dded
add dword [edi], 2
mov ecx, dword [edi]
movzx eax, word [ecx]
mov dword [ebp - 0xc8], eax
mov edx, dword [edi]
cmp word [edx + 2], 0xff
ja 0x71de09
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
movzx eax, word [ecx + 2]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x71de1a
add dword [edi], 2
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x1c
jmp 0x71f654
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
add dword [edi], 2
mov ecx, dword [edi]
mov dword [ebp - 0x1b4], ecx
jmp 0x71de6f
cmp dword [ebp - 0xc4], 0
jl 0x71de6c
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x30
jl 0x71de63
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x39
jg 0x71de63
mov edx, dword [edi]
mov eax, dword [ebp - 0xc4]
add eax, eax
movzx ecx, word [edx]
lea eax, [eax + eax*4]
add ecx, eax
add ecx, 0xffffffd0
jmp 0x71de66
or ecx, 0xffffffff
mov dword [ebp - 0xc4], ecx
add dword [edi], 2
mov eax, dword [edi]
cmp word [eax], 0xff
ja 0x71de89
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
movzx ecx, word [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x71de2f
mov ecx, dword [edi]
sub ecx, dword [ebp - 0x1b4]
sar ecx, 1
jns 0x71de98
adc ecx, 0
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp - 0xe0], 0
jle 0x71deb8
mov eax, dword [edi]
add dword [edi], 2
mov dx, word [eax]
cmp dx, word [ebp - 0xe0]
jne 0x71dec5
mov ecx, dword [edi]
add dword [edi], 2
movzx eax, word [ecx]
cmp eax, 0x29
je 0x71ded6
sub dword [edi], 2
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1a
jmp 0x71f654
cmp dword [ebp + 8], 0
jne 0x71ecd1
cmp dword [ebp - 0xc8], 0
jle 0x71df5f
cmp dword [ebp - 0xc4], 0
jg 0x71df00
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3a
jmp 0x71f654
cmp dword [ebp - 0xc8], 0x2d
jne 0x71df18
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
sub edx, dword [ebp - 0xc4]
inc edx
jmp 0x71df24
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jle 0x71df41
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x3c]
cmp ecx, dword [ebp - 0xc4]
jge 0x71df4f
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xf
jmp 0x71f654
mov ax, word [ebp - 0xc4]
mov word [ebx + 8], ax
jmp 0x71ecd1
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1b8], ecx
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
jmp 0x71dfa7
mov edx, dword [ebp - 0x1b8]
add edx, 2
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1b4]
call fcn.0073f350
test eax, eax
je 0x71dfb5
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x30]
add ecx, ecx
add dword [ebp - 0x1b8], ecx
inc dword [ebp - 0x1a0]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x2c]
cmp edx, dword [ebp - 0x1a0]
jg 0x71df75
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x1a0]
jle 0x71dfe6
mov edx, dword [ebp - 0x1b8]
movzx ecx, word [edx]
mov dword [ebp - 0xc4], ecx
mov ax, word [ebp - 0xc4]
mov word [ebx + 8], ax
inc word [ebx + 6]
jmp 0x71ecd1
test byte [ebp - 0x58], 8
setne dl
and edx, 1
push edx
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 0xc]
call fcn.007191b0
mov dword [ebp - 0x1a0], eax
test eax, eax
jle 0x71e02a
mov dx, word [ebp - 0x1a0]
mov word [ebx + 8], dx
inc word [ebx + 6]
jmp 0x71ecd1
cmp dword [ebp - 0xe0], 0
je 0x71e046
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0xf
jmp 0x71f654
mov ecx, dword [ebp - 0x1b4]
movzx eax, word [ecx]
cmp eax, 0x52
jne 0x71e113
xor edx, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x1a0], 1
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x1ac]
jge 0x71e0ea
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1a0]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x30
jl 0x71e0a2
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1a0]
movzx ecx, word [eax + edx*2]
cmp ecx, 0x39
jle 0x71e0b0
mov eax, dword [ebp + 0x28]
mov dword [eax], 0xf
jmp 0x71f654
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0xc4]
movzx edx, word [edx + eax*2]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xc4], edx
inc dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x1ac]
jl 0x71e078
cmp dword [ebp - 0xc4], 0
jne 0x71e0fd
mov dword [ebp - 0xc4], 0xffff
mov word [ebx + 6], 0x89
mov ax, word [ebp - 0xc4]
mov word [ebx + 8], ax
jmp 0x71ecd1
cmp dword [ebp - 0x1ac], 6
jne 0x71e14a
mov edx, str.DEFINE
mov ecx, 6
mov eax, dword [ebp - 0x1b4]
call fcn.0073f384
test eax, eax
jne 0x71e14a
mov word [ebx + 6], 0x8b
mov dword [ebp - 0xcc], 1
jmp 0x71ecd1
cmp dword [ebp - 0xc4], 0
jle 0x71e171
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x3c]
cmp ecx, dword [ebp - 0xc4]
jl 0x71e171
mov ax, word [ebp - 0xc4]
mov word [ebx + 8], ax
jmp 0x71ecd1
cmp dword [ebp - 0xc4], 0
jne 0x71e181
mov edx, 0x23
jmp 0x71e186
mov edx, 0xf
mov eax, dword [ebp + 0x28]
mov dword [eax], edx
jmp 0x71f654
mov dword [ebp - 0x20], 0x77
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x4c]
add dword [edi], 2
jmp 0x71ecd1
add dword [edi], 2
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x29
jne 0x71e1cc
mov word [ebx], 0x97
add ebx, 2
xor edx, edx
mov dword [ebp - 0x84], edx
jmp 0x71f64c
mov dword [ebp - 0x20], 0x78
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x4c]
jmp 0x71ecd1
mov eax, dword [edi]
mov dx, word [eax + 2]
sub dx, 0x21
je 0x71e207
sub dx, 0x1c
je 0x71e1f2
jmp 0x71e21c
mov dword [ebp - 0x20], 0x79
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x4c]
add dword [edi], 4
jmp 0x71ecd1
mov dword [ebp - 0x20], 0x7a
mov eax, dword [ebp + 0xc]
inc dword [eax + 0x4c]
add dword [edi], 4
jmp 0x71ecd1
mov edx, dword [edi]
cmp word [edx + 2], 0xff
ja 0x71e23c
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
movzx eax, word [ecx + 2]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne case.0x71dc09.39
add dword [edi], 2
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x18
jmp 0x71f654
mov dword [ebp - 0x20], 0x7b
add dword [edi], 2
jmp 0x71ecd1
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x5c], 1
mov word [ebx], 0x70
add ebx, 2
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
add dword [edi], 2
jmp 0x71e2a1
mov eax, dword [edi]
mov ecx, dword [ebp - 0x1bc]
add ecx, ecx
movzx edx, word [eax]
lea ecx, [ecx + ecx*4]
add ecx, edx
add ecx, 0xffffffd0
mov dword [ebp - 0x1bc], ecx
add dword [edi], 2
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x30
jl 0x71e2b5
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x39
jle 0x71e283
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x29
je 0x71e2cd
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x27
jmp 0x71f654
cmp dword [ebp - 0x1bc], 0xff
jle 0x71e2e7
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x26
jmp 0x71f654
mov dx, word [ebp - 0x1bc]
mov word [ebx], dx
add ebx, 2
mov ecx, dword [ebp + 0xc]
mov esi, dword [edi]
sub esi, dword [ecx + 0x18]
sar esi, 1
jns 0x71e303
adc esi, 0
inc esi
sar esi, 0x10
mov word [ebx], si
mov eax, dword [ebp + 0xc]
mov edx, dword [edi]
sub edx, dword [eax + 0x18]
sar edx, 1
jns 0x71e319
adc edx, 0
inc edx
and dx, 0xffff
mov word [ebx + 2], dx
mov word [ebx + 4], 0
mov word [ebx + 6], 0
add ebx, 8
xor ecx, ecx
mov dword [ebp - 0x84], ecx
jmp 0x71f64c
add dword [edi], 2
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x3d
je 0x71e356
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x3e
jne 0x71e37b
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x3e
sete cl
and ecx, 1
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xe0], 0x29
jmp 0x71e648
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x3c
je case.0x71dc09.39
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x29
jmp 0x71f654
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x3c
jne 0x71e3a4
mov ecx, 0x3e
jmp 0x71e3a9
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
add dword [edi], 2
mov eax, dword [edi]
mov dword [ebp - 0x1b4], eax
jmp 0x71e3bf
add dword [edi], 2
mov edx, dword [edi]
cmp word [edx], 0xff
ja 0x71e3d9
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
movzx eax, word [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x71e3bc
mov eax, dword [edi]
sub eax, dword [ebp - 0x1b4]
sar eax, 1
jns 0x71e3e8
adc eax, 0
mov dword [ebp - 0x1ac], eax
cmp dword [ebp + 8], 0
je 0x71e46e
mov ecx, dword [edi]
mov cx, word [ecx]
cmp cx, word [ebp - 0xe0]
je 0x71e410
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x2a
jmp 0x71f654
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x2c], 0x2710
jl 0x71e42a
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x31
jmp 0x71f654
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1ac]
add eax, 2
cmp eax, dword [edx + 0x30]
jle 0x71e626
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1ac]
add ecx, 2
mov dword [esi + 0x30], ecx
cmp dword [ebp - 0x1ac], 0x20
jle 0x71e626
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x30
jmp 0x71f654
xor edx, edx
mov dword [ebp - 0x1c0], edx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x28]
mov dword [ebp - 0x1b8], ecx
xor eax, eax
mov dword [ebp - 0x1a0], eax
jmp 0x71e55b
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1b8]
add ecx, ecx
add edx, 2
mov eax, dword [ebp - 0x1b4]
call fcn.0070f45c
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0
jne 0x71e50e
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1ac]
cmp word [ecx + eax*2 + 2], 0
jne 0x71e504
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp + 0xc]
movzx ecx, word [edx]
mov edx, dword [eax + 0x38]
inc edx
cmp ecx, edx
je 0x71e4f8
test byte [ebp - 0x56], 8
jne 0x71e4f8
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x2b
jmp 0x71f654
mov dword [ebp - 0x1c0], 1
jmp 0x71e50e
mov dword [ebp - 0x1c4], 0xffffffff
cmp dword [ebp - 0x1c4], 0
jge 0x71e547
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov ecx, dword [eax + 0x2c]
sub ecx, dword [ebp - 0x1a0]
imul ecx, dword [edx + 0x30]
mov eax, dword [esi + 0x30]
add ecx, ecx
add eax, eax
mov edx, dword [ebp - 0x1b8]
add eax, dword [ebp - 0x1b8]
call fcn.0070f4d0
jmp 0x71e56d
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x30]
add ecx, ecx
add dword [ebp - 0x1b8], ecx
inc dword [ebp - 0x1a0]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x2c]
cmp edx, dword [ebp - 0x1a0]
jg 0x71e48f
cmp dword [ebp - 0x1c0], 0
jne 0x71e5e6
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x1c8], eax
xor edx, edx
mov dword [ebp - 0x1a0], edx
jmp 0x71e5d8
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1b8]
je 0x71e5be
mov eax, dword [ebp - 0x1c8]
movzx edx, word [eax]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x38]
inc ecx
cmp edx, ecx
jne 0x71e5c4
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x41
jmp 0x71f654
dec dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x30]
add eax, eax
add dword [ebp - 0x1c8], eax
inc dword [ebp - 0x1a0]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x2c]
cmp ecx, dword [ebp - 0x1a0]
jg 0x71e58c
mov eax, dword [ebp + 0xc]
mov dx, word [eax + 0x38]
mov eax, dword [ebp - 0x1b8]
inc edx
mov word [eax], dx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1b8]
add ecx, ecx
add eax, 2
mov edx, dword [ebp - 0x1b4]
call fcn.0070f4c0
mov ecx, dword [ebp - 0x1b8]
mov esi, dword [ebp - 0x1ac]
mov word [ecx + esi*2 + 2], 0
mov eax, dword [ebp + 0xc]
inc dword [eax + 0x2c]
add dword [edi], 2
jmp 0x71ecb6
mov dword [ebp - 0xe0], 0x29
mov dword [ebp - 0xb0], 1
add dword [edi], 2
mov edx, dword [edi]
mov dword [ebp - 0x1b4], edx
jmp 0x71e658
add dword [edi], 2
mov ecx, dword [edi]
cmp word [ecx], 0xff
ja 0x71e672
mov ecx, dword [edi]
mov edx, dword [ebp + 0xc]
movzx eax, word [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x71e655
mov eax, dword [edi]
sub eax, dword [ebp - 0x1b4]
sar eax, 1
jns 0x71e681
adc eax, 0
mov dword [ebp - 0x1ac], eax
cmp dword [ebp + 8], 0
je 0x71e741
cmp dword [ebp - 0x1ac], 0
jne 0x71e6a8
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x3e
jmp 0x71f654
mov ecx, dword [edi]
mov ax, word [ecx]
cmp ax, word [ebp - 0xe0]
je 0x71e6c4
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x2a
jmp 0x71f654
cmp dword [ebp - 0x1ac], 0x20
jle 0x71e6db
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x30
jmp 0x71f654
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x1cc], edx
mov ecx, dword [ebp + 0xc]
mov esi, dword [edi]
mov dword [ecx + 0x1c], esi
test byte [ebp - 0x58], 8
setne al
and eax, 1
push eax
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 0xc]
call fcn.007191b0
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x1cc]
mov dword [ecx + 0x1c], esi
cmp dword [ebp - 0xc4], 0
jge 0x71e808
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x71e808
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1b8], ecx
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
jmp 0x71e79d
mov edx, dword [ebp - 0x1b8]
add edx, 2
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1b4]
call fcn.0073f350
test eax, eax
jne 0x71e789
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1ac]
cmp word [edx + eax*2 + 2], 0
je 0x71e7ab
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x30]
add ecx, ecx
add dword [ebp - 0x1b8], ecx
inc dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x1a0]
jg 0x71e757
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x2c]
cmp ecx, dword [ebp - 0x1a0]
jle 0x71e7ca
mov eax, dword [ebp - 0x1b8]
movzx edx, word [eax]
mov dword [ebp - 0xc4], edx
jmp 0x71e808
test byte [ebp - 0x58], 8
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 0xc]
call fcn.007191b0
mov dword [ebp - 0xc4], eax
test eax, eax
jg 0x71e808
mov edx, dword [ebp + 0x28]
mov dword [edx], 0xf
jmp 0x71f654
cmp dword [ebp - 0xb0], 0
jne 0x71e95e
jmp 0x71f226
add dword [edi], 2
mov dword [ebp - 0xe0], 0x29
mov ecx, dword [edi]
movzx ecx, word [ecx]
mov dword [ebp - 0xc8], ecx
cmp ecx, 0x2b
jne 0x71e85e
add dword [edi], 2
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x30
jl 0x71e84e
mov ecx, dword [edi]
movzx eax, word [ecx]
cmp eax, 0x39
jle 0x71e888
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x3f
jmp 0x71f654
cmp dword [ebp - 0xc8], 0x2d
jne 0x71e888
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x30
jl case.0x71dc09.34
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x39
jg case.0x71dc09.34
add dword [edi], 2
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x71e8b0
mov eax, dword [edi]
mov edx, dword [ebp - 0xc4]
add edx, edx
movzx ecx, word [eax]
lea edx, [edx + edx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xc4], edx
add dword [edi], 2
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x30
jl 0x71e8c4
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x39
jle 0x71e892
mov ecx, dword [edi]
mov ax, word [ecx]
cmp ax, word [ebp - 0xe0]
je 0x71e8e0
mov edx, dword [ebp + 0x28]
mov dword [edx], 0x1d
jmp 0x71f654
cmp dword [ebp - 0xc8], 0x2d
jne 0x71e92c
cmp dword [ebp - 0xc4], 0
jne 0x71e900
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3a
jmp 0x71f654
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
sub edx, dword [ebp - 0xc4]
inc edx
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jg 0x71e95e
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0xf
jmp 0x71f654
cmp dword [ebp - 0xc8], 0x2b
jne 0x71e95e
cmp dword [ebp - 0xc4], 0
jne 0x71e94c
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x3a
jmp 0x71f654
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x84], ebx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1d0], ecx
cmp dword [ebp + 8], 0
jne 0x71eac4
mov word [ebx], 0
cmp dword [ebp - 0xc4], 0
je 0x71e9a5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x90]
call fcn.007195d8
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
jne 0x71ea76
test byte [ebp - 0x58], 8
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0xc4]
xor edx, edx
mov eax, dword [ebp + 0xc]
call fcn.007191b0
test eax, eax
jge 0x71e9e6
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xf
jmp 0x71f654
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc4]
add ecx, ecx
mov edx, dword [eax + 0x14]
add edx, ecx
mov dword [ebp - 0x1d0], edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov edx, dword [edx + 0x34]
add edx, edx
mov ecx, dword [ebp + 0xc]
add eax, edx
add eax, 0xffffff38
cmp eax, dword [ecx + 0x24]
ja 0x71ea32
mov eax, dword [ebp + 0xc]
call fcn.00718378
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x71f654
lea ecx, [ebx + 2]
mov esi, dword [ebp + 0xc]
sub ecx, dword [esi + 0x14]
sar ecx, 1
jns 0x71ea42
adc ecx, 0
sar ecx, 0x10
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov word [edx], cx
lea ecx, [ebx + 2]
mov esi, dword [ebp + 0xc]
sub ecx, dword [esi + 0x14]
sar ecx, 1
jns 0x71ea5e
adc ecx, 0
and cx, 0xffff
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov word [edx + 2], cx
mov ecx, dword [ebp + 0xc]
add dword [ecx + 0x24], 4
jmp 0x71eac4
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1d0]
movzx eax, word [ecx + 2]
movzx edx, word [edx + 4]
shl eax, 0x10
or eax, edx
jne 0x71eac4
cmp dword [ebp + 0x10], 0
jg 0x71eac4
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 0x14]
mov edx, ebx
mov eax, dword [ebp - 0x1d0]
call fcn.00719c84
test eax, eax
je 0x71eac4
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x28
jmp 0x71f654
mov word [ebx], 0x6f
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1d0]
sub edx, dword [eax + 0x14]
sar edx, 1
jns 0x71eadc
adc edx, 0
sar edx, 0x10
mov word [ebx + 2], dx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x1d0]
sub esi, dword [ecx + 0x14]
sar esi, 1
jns 0x71eaf6
adc esi, 0
and si, 0xffff
mov word [ebx + 4], si
add ebx, 6
xor eax, eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71f64c
mov dword [ebp - 0x34], 0xffffffff
jmp 0x71f64c
xor edx, edx
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x1b0], eax
jmp 0x71ebee
mov ecx, dword [edi]
add dword [edi], 2
movzx ecx, word [ecx]
cmp ecx, 0x69
jg 0x71eb61
je 0x71eb98
sub ecx, 0x2d
je 0x71eb72
sub ecx, 0x1d
je 0x71eb80
sub ecx, 0xb
je 0x71ebc4
sub ecx, 3
je 0x71ebd2
jmp 0x71ebdd
sub ecx, 0x6d
je 0x71eba3
sub ecx, 6
je 0x71ebae
sub ecx, 5
je 0x71ebb9
jmp 0x71ebdd
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1b0], eax
jmp 0x71ebee
mov edx, dword [ebp - 0x1b0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0xc]
or dword [ecx + 0x54], 0x400
jmp 0x71ebee
mov eax, dword [ebp - 0x1b0]
or dword [eax], 1
jmp 0x71ebee
mov edx, dword [ebp - 0x1b0]
or dword [edx], 2
jmp 0x71ebee
mov ecx, dword [ebp - 0x1b0]
or dword [ecx], 4
jmp 0x71ebee
mov eax, dword [ebp - 0x1b0]
or dword [eax], 8
jmp 0x71ebee
mov edx, dword [ebp - 0x1b0]
or dword [edx], 0x200
jmp 0x71ebee
mov ecx, dword [ebp - 0x1b0]
or dword [ecx], 0x40
jmp 0x71ebee
mov eax, dword [ebp + 0x28]
mov dword [eax], 0xc
sub dword [edi], 2
jmp 0x71f654
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x29
je 0x71ec06
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x3a
jne 0x71eb3c
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
not eax
and ecx, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x29
jne 0x71ec9b
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
add edx, 6
cmp ebx, edx
jne 0x71ec52
cmp dword [ebp + 8], 0
je 0x71ec44
mov ecx, dword [ebp + 8]
cmp dword [ecx], 6
jne 0x71ec52
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x50], edx
jmp 0x71ec80
test byte [ebp - 0xbf], 2
setne cl
and ecx, 1
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
xor eax, 1
mov dword [ebp - 0x28], eax
test byte [ebp - 0xc0], 1
je 0x71ec7b
mov edx, 1
jmp 0x71ec7d
xor edx, edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 4]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x84], ecx
jmp 0x71f64c
mov dword [ebp - 0x20], 0x7d
add dword [edi], 2
jmp 0x71ecd1
test byte [ebp - 0x57], 0x10
je 0x71ecb6
mov dword [ebp - 0x20], 0x7d
jmp 0x71ecd1
mov ecx, dword [ebp + 0xc]
inc dword [ecx + 0x38]
mov eax, dword [ebp + 0xc]
mov dx, word [eax + 0x38]
mov word [ebx + 6], dx
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0x84], ebx
mov cx, word [ebp - 0x20]
mov word [ebx], cx
mov dword [ebp - 0x6c], ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x58]
mov dword [ebp - 0x54], edx
xor edx, edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp + 0x28]
push ecx
cmp dword [ebp - 0x20], 0x79
je 0x71ed0f
cmp dword [ebp - 0x20], 0x7a
je 0x71ed0f
xor eax, eax
jmp 0x71ed14
mov eax, 1
push eax
mov edx, dword [ebp - 0xb4]
push edx
mov ecx, dword [ebp - 0xcc]
push ecx
cmp dword [ebp - 0x20], 0x81
jne 0x71ed33
mov eax, 1
jmp 0x71ed35
xor eax, eax
add eax, dword [ebp + 0x10]
lea edx, [ebp - 0xd4]
push eax
push edx
lea ecx, [ebp - 0xdc]
lea eax, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0xd0]
push ecx
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
cmp dword [ebp + 8], 0
jne 0x71ed67
xor eax, eax
jmp 0x71ed6a
lea eax, [ebp - 0x60]
push eax
mov ecx, edi
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0xc0]
call fcn.0071f668
test eax, eax
je 0x71f654
cmp dword [ebp - 0x20], 0x7b
jne 0x71ed9c
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [ebp - 0xe8]
ja 0x71ed9c
mov word [ebx], 0x7c
cmp dword [ebp - 0x20], 0x77
jl 0x71edae
cmp dword [ebp - 0x20], 0x7a
jg 0x71edae
mov ecx, dword [ebp + 0xc]
dec dword [ecx + 0x4c]
cmp dword [ebp - 0x20], 0x81
jne 0x71ee63
cmp dword [ebp + 8], 0
jne 0x71ee63
mov dword [ebp - 0x1d4], ebx
xor eax, eax
mov dword [ebp - 0x1d8], eax
inc dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d4]
movzx ecx, word [edx + 2]
movzx edx, word [eax + 4]
shl ecx, 0x10
or ecx, edx
add ecx, ecx
add dword [ebp - 0x1d4], ecx
mov ecx, dword [ebp - 0x1d4]
movzx eax, word [ecx]
cmp eax, 0x72
jne 0x71edd3
movzx edx, word [ebx + 6]
cmp edx, 0x8b
jne 0x71ee34
cmp dword [ebp - 0x1d8], 1
jle 0x71ee2b
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x36
jmp 0x71f654
mov dword [ebp - 0x20], 0x8b
jmp 0x71ee63
cmp dword [ebp - 0x1d8], 2
jle 0x71ee4b
mov eax, dword [ebp + 0x28]
mov dword [eax], 0x1b
jmp 0x71f654
cmp dword [ebp - 0x1d8], 1
jne 0x71ee63
or edx, 0xffffffff
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xdc], edx
mov eax, dword [edi]
movzx ecx, word [eax]
cmp ecx, 0x29
je 0x71ee7b
mov esi, dword [ebp + 0x28]
mov dword [esi], 0xe
jmp 0x71f654
cmp dword [ebp + 8], 0
je 0x71eeda
mov eax, dword [ebp + 8]
mov edx, 0x7fffffeb
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffffa
sub edx, dword [eax]
cmp edx, ecx
jge 0x71eea3
mov esi, dword [ebp + 0x28]
mov dword [esi], 0x14
jmp 0x71f654
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
add eax, 0xfffffffa
add ebx, 2
add dword [edx], eax
mov word [ebx], 0
mov word [ebx + 2], 3
add ebx, 4
mov word [ebx], 0x72
add ebx, 2
mov word [ebx], 0
mov word [ebx + 2], 3
add ebx, 4
jmp 0x71f64c
cmp dword [ebp - 0x20], 0x8b
mov ebx, dword [ebp - 0x6c]
je 0x71f64c
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x20], 0x7b
jl 0x71ef9c
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71ef4b
cmp dword [ebp - 0xdc], 0
jl 0x71ef3b
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x74], 1
jmp 0x71ef42
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
jmp 0x71ef78
cmp dword [ebp - 0xdc], 0
jl 0x71ef78
cmp dword [ebp - 0xd8], 0
jge 0x71ef78
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xdc]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
jl 0x71f64c
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x38], eax
jmp 0x71f64c
cmp dword [ebp - 0x20], 0x77
jne 0x71f64c
cmp dword [ebp - 0xd8], 0
jl 0x71f64c
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x38], ecx
jmp 0x71f64c
mov eax, dword [edi]
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x38]
push ecx
mov eax, dword [ebp - 0x58]
push eax
push 0
lea edx, [ebp - 0xec]
mov eax, edi
mov ecx, dword [ebp + 0x28]
call fcn.00718488
mov esi, eax
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x71f654
test esi, esi
jne 0x71f009
mov esi, dword [ebp - 0xec]
jmp 0x71f3ee
cmp esi, 0x1a
jne 0x71f038
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x5c
jne 0x71f02c
mov ecx, dword [edi]
movzx ecx, word [ecx + 4]
cmp ecx, 0x45
jne 0x71f02c
add dword [edi], 4
jmp 0x71f64c
mov dword [ebp - 0x70], 1
jmp 0x71f64c
cmp esi, 0x19
je 0x71f64c
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71f058
cmp esi, 5
jle 0x71f058
cmp esi, 0x17
jge 0x71f058
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x2c]
cmp esi, 0x1b
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
jne 0x71f1a5
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x8c], ecx
add dword [edi], 2
mov eax, dword [edi]
movzx edx, word [eax]
cmp edx, 0x3c
jne 0x71f099
mov ecx, 0x3e
jmp 0x71f09e
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
xor edx, edx
mov dword [ebp - 0xb4], edx
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x2b
je 0x71f169
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x2d
je 0x71f169
mov dword [ebp - 0x1dc], 1
mov eax, dword [edi]
add eax, 2
jmp 0x71f11d
cmp word [eax], 0xff
jbe 0x71f0f4
xor edx, edx
mov dword [ebp - 0x1dc], edx
jmp 0x71f12f
movzx edx, word [eax]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
test byte [ecx + edx], 4
jne 0x71f10b
xor edx, edx
mov dword [ebp - 0x1dc], edx
movzx edx, word [eax]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
test byte [ecx + edx], 0x10
je 0x71f12f
add eax, 2
cmp word [eax], 0
je 0x71f12f
mov dx, word [eax]
cmp dx, word [ebp - 0xe0]
jne 0x71f0e3
mov ax, word [eax]
cmp ax, word [ebp - 0xe0]
je 0x71f149
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x39
jmp 0x71f64c
cmp dword [ebp - 0x1dc], 0
je 0x71f15a
add dword [edi], 2
jmp 0x71e827
mov dword [ebp - 0xb0], 1
jmp 0x71e648
mov eax, dword [edi]
add eax, 4
jmp 0x71f173
add eax, 2
movzx edx, word [eax]
cmp edx, 0x30
jl 0x71f183
movzx edx, word [eax]
cmp edx, 0x39
jle 0x71f170
mov ax, word [eax]
cmp ax, word [ebp - 0xe0]
je 0x71f19d
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x39
jmp 0x71f64c
add dword [edi], 2
jmp 0x71e827
cmp esi, 0x1c
jne 0x71f216
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
cmp eax, 0x3c
je 0x71f1d9
mov edx, dword [edi]
movzx ecx, word [edx + 2]
cmp ecx, 0x27
je 0x71f1d9
mov eax, dword [edi]
movzx edx, word [eax + 2]
cmp edx, 0x7b
je 0x71f1d9
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 0x45
jmp 0x71f64c
xor eax, eax
mov dword [ebp - 0xb0], eax
add dword [edi], 2
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x3c
jne 0x71f1f5
mov eax, 0x3e
jmp 0x71f20b
mov edx, dword [edi]
movzx ecx, word [edx]
cmp ecx, 0x27
jne 0x71f206
mov eax, 0x27
jmp 0x71f20b
mov eax, 0x7d
mov dword [ebp - 0xe0], eax
jmp 0x71e648
test esi, esi
jge 0x71f2f1
neg esi
mov dword [ebp - 0xc4], esi
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71f233
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x84], ebx
test byte [ebp - 0x58], 1
je 0x71f245
mov dx, 0x6e
jmp 0x71f249
mov dx, 0x6d
mov word [ebx], dx
add ebx, 2
mov ax, word [ebp - 0xc4]
mov word [ebx], ax
add ebx, 2
cmp dword [ebp - 0xc4], 0x20
jge 0x71f274
mov ecx, dword [ebp - 0xc4]
mov esi, 1
shl esi, cl
jmp 0x71f279
mov esi, 1
mov eax, dword [ebp + 0xc]
or dword [eax + 0x48], esi
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [ebp - 0xc4]
jge 0x71f299
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x1e0], ecx
cmp dword [ebp - 0x1e0], 0
je 0x71f64c
mov eax, dword [ebp - 0x1e0]
movzx edx, word [eax + 4]
cmp edx, dword [ebp - 0xc4]
jne 0x71f2d5
mov ecx, dword [ebp - 0x1e0]
mov word [ecx + 6], 1
jmp 0x71f64c
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax]
mov dword [ebp - 0x1e0], edx
cmp dword [ebp - 0x1e0], 0
jne 0x71f2b2
jmp 0x71f64c
cmp esi, 0xf
je 0x71f2fb
cmp esi, 0x10
jne 0x71f377
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x1ec], eax
lea edx, [ebp - 0x1ec]
mov eax, edi
push edx
lea edx, [ebp - 0x1e4]
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp - 0x1e8]
call fcn.00718b4c
test eax, eax
je 0x71f654
mov dword [ebp - 0x84], ebx
cmp esi, 0x10
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x1e4]
je 0x71f34e
mov ax, 0x10
jmp 0x71f352
mov ax, 0xf
mov word [ebx], ax
add ebx, 2
mov dx, word [ebp - 0x1e8]
mov word [ebx], dx
add ebx, 2
mov cx, word [ebp - 0x1ec]
mov word [ebx], cx
add ebx, 2
jmp 0x71f64c
cmp esi, 5
je 0x71f381
cmp esi, 4
jne 0x71f394
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x40], 0
jne 0x71f394
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x40], 1
cmp esi, 0x1d
jl 0x71f3b7
cmp esi, 0x22
jg 0x71f3b7
mov edx, dword [edi]
add edx, 2
mov dword [ebp - 0x80], edx
mov ecx, dword [esi*4 + 0x9dead0]
add ecx, 0xfffffffe
mov dword [edi], ecx
jmp 0x71f64c
cmp esi, 5
jle 0x71f3c5
cmp esi, 0x17
jge 0x71f3c5
mov eax, ebx
jmp 0x71f3c7
xor eax, eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x90], 0
jne 0x71f3e1
cmp esi, 0xe
jne 0x71f3e1
mov dx, 0xd
jmp 0x71f3e3
mov edx, esi
mov word [ebx], dx
add ebx, 2
jmp 0x71f64c
cmp dword [ebp - 0x90], 0
je 0x71f414
cmp esi, 0xffff
jbe 0x71f414
lea edx, [ebp - 0x230]
mov eax, esi
call fcn.00720ad0
mov dword [ebp - 0xe4], eax
jmp 0x71f47f
mov word [ebp - 0x230], si
mov dword [ebp - 0xe4], 1
jmp 0x71f47f
mov dword [ebp - 0xe4], 1
mov word [ebp - 0x230], si
cmp dword [ebp - 0x90], 0
je 0x71f47f
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71f47f
mov ecx, dword [edi]
movzx ecx, word [ecx + 2]
and ecx, 0xfc00
cmp ecx, 0xdc00
jne 0x71f47f
add dword [edi], 2
mov eax, dword [edi]
mov dx, word [eax]
mov eax, dword [ebp - 0xe4]
mov word [ebp + eax*2 - 0x230], dx
inc dword [ebp - 0xe4]
mov dword [ebp - 0x84], ebx
cmp dword [ebp - 0x90], 0
je 0x71f53a
test byte [ebp - 0x58], 1
je 0x71f53a
movzx esi, word [ebp - 0x230]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x71f4cf
movzx edx, word [ebp - 0x22e]
and esi, 0x3ff
and edx, 0x3ff
shl esi, 0xa
or esi, edx
add esi, 0x10000
mov ecx, esi
test ecx, ecx
jns 0x71f4d8
add ecx, 0x7f
sar ecx, 7
movzx ecx, byte [ecx + 0x9ffa34]
shl ecx, 7
mov eax, esi
and eax, 0x8000007f
jns 0x71f4f3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx edx, word [ecx*2 + 0x9f2f34]
xor ecx, ecx
mov cl, byte [edx*8 + 0x9f1b97]
mov esi, ecx
test ecx, ecx
je 0x71f53a
mov word [ebx], 0x10
add ebx, 2
mov word [ebx], 9
add ebx, 2
mov word [ebx], si
add ebx, 2
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71f64c
or eax, 0xffffffff
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], eax
jmp 0x71f64c
test byte [ebp - 0x58], 1
je 0x71f546
mov dx, 0x1e
jmp 0x71f54a
mov dx, 0x1d
mov word [ebx], dx
add ebx, 2
xor esi, esi
lea eax, [ebp - 0x230]
mov dword [ebp - 0x1f0], eax
cmp esi, dword [ebp - 0xe4]
jae 0x71f585
mov edx, dword [ebp - 0x1f0]
inc esi
mov cx, word [edx]
mov word [ebx], cx
add ebx, 2
add dword [ebp - 0x1f0], 2
cmp esi, dword [ebp - 0xe4]
jb 0x71f566
movzx ecx, word [ebp - 0x230]
cmp ecx, 0xd
je 0x71f59d
movzx eax, word [ebp - 0x230]
cmp eax, 0xa
jne 0x71f5a7
mov edx, dword [ebp + 0xc]
or dword [edx + 0x54], 0x800
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x71f612
mov dword [ebp - 0x48], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0xe4], 1
je 0x71f5cf
cmp dword [ebp - 0x4c], 0
jne 0x71f607
movzx edx, word [ebp - 0x230]
or edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], edx
movzx ecx, word [ebp - 0x230]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xe4], 1
je 0x71f64c
movzx edx, word [ebx - 2]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x38], eax
jmp 0x71f64c
or edx, 0xffffffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
jmp 0x71f64c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0xe4], 1
je 0x71f639
cmp dword [ebp - 0x4c], 0
jne 0x71f64c
movzx edx, word [ebx - 2]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x58]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], eax
add dword [edi], 2
jmp 0x71b185
mov edx, dword [ebp - 0xc]
mov eax, dword [edi]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24