Function at 0x71d0308b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
or dword [esp + 0x14], 0xffffffff
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
and dword [esp + 0x38], esi
mov ebx, ecx
and dword [esp + 0x28], esi
mov dword [esp + 0x30], esi
mov al, byte [edi + 0x42]
and al, 7
cmp byte [ebx + 0x1936], 0
mov byte [esp + 0x10], al
je 0x71d030d6
mov ecx, dword [ebx + 0x18dc]
test ecx, ecx
je 0x71d030d6
lea eax, [esp + 0x20]
push eax
push edi
call fcn.71d03576
cmp byte [edi], 0x4b
jne 0x71d4f367
mov al, byte [esp + 0x10]
cmp dword [edi + 0x24], esi
jne 0x71d12ad1
test byte [edi + 0x40], 2
jne 0x71d4f371
and dword [esp + 0x48], esi
cmp byte [ebx + 0x1888], 0
je 0x71d0d322
mov eax, dword [ebx + 0x18cc]
and dword [esp + 0x1c], 0
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x10]
and eax, 0x84000000
cmp eax, 0x80000000
je 0x71d3280f
cmp dword [ebx + 0x15e4], 2
ja 0x71d4f3b6
mov eax, dword [ebx + 0x15e4]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x15f8]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [ebx + 0x15e4], eax
mov dword [ebx + 0x15f8], eax
cmp dword [edi + 0x24], eax
jne 0x71d03162
cmp dword [edi + 0x28], eax
je 0x71d0316e
push edi
mov ecx, ebx
call fcn.71d03beb
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x10], 0
jl 0x71d31e37
cmp byte [esp + 0x10], 2
je 0x71d329a6
and dword [esp + 0x2c], 0
test dword [edi + 0x10], 0x1000000
jne 0x71d4f3c0
push 7
pop eax
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0x15cc]
mov esi, ecx
and esi, eax
cmp dword [edi + 0x10], 0
jl 0x71d31e56
mov eax, dword [ebx + 0x15dc]
test dword [edi + 0x3c], eax
jne 0x71d4f405
mov eax, dword [edi + 0x3c]
or eax, dword [esp + 0x28]
not eax
and esi, eax
jne 0x71d312b1
mov esi, dword [ebx + 0x1a88]
test esi, esi
jne 0x71d4476a
mov al, byte [edi + 1]
cmp al, 0xc
je 0x71d3c345
cmp al, 0xd
je 0x71d3c345
cmp byte [ebp + 0xc], 0
mov dword [esp + 0x14], 4
je 0x71d03212
mov al, byte [edi + 1]
cmp al, 0xe
jne 0x71d0c4ba
mov dword [esp + 0x14], 0x24
test dword [edi + 0x10], 0x4000000
mov eax, dword [esp + 0x1c]
jne 0x71d3eb5b
cmp byte [ebx + 0x1a18], 0
mov cl, byte [esp + 0x10]
mov dword [esp + 0x18], eax
jne 0x71d4f40f
xor eax, eax
mov byte [esp + 0x13], al
mov dword [esp + 0x24], eax
mov byte [esp + 0x12], al
movzx eax, word [edi + 0x40]
mov dl, al
shr dl, 1
and dl, 1
mov byte [esp + 0x11], dl
test al, 0x10
jne 0x71d25fde
mov eax, dword [edi + 0x10]
and eax, 0x30000000
jne 0x71d133f8
test dword [edi + 0x10], 0x8000000
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x34], ecx
jne 0x71d17fac
cmp dword [edi + 0x10], 0
jl 0x71d32131
mov al, byte [esp + 0x10]
cmp al, 2
je 0x71d40fad
test al, al
jne 0x71d0af73
mov edx, dword [esp + 0x34]
test dl, 1
jne 0x71d0af89
xor esi, esi
mov dword [esp + 0x24], esi
cmp al, 1
je 0x71d0afea
test esi, esi
jne 0x71d4f76e
movzx ecx, word [edi + 0x40]
shr ecx, 7
and ecx, 1
test dword [edi + 0x10], 0x8000000
jne 0x71d032d6
or ecx, 4
mov edi, dword [ebx + 0x1948]
push ecx
lea ecx, [esp + 0x40]
push ecx
mov eax, dword [edi]
push edx
mov esi, dword [eax + 0x1e8]
mov ecx, esi
call dword [0x653b188]
mov ecx, edi
call esi
mov esi, dword [esp + 0x3c]
xor edx, edx
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x11], 0
jne 0x71d4f77c
sub esi, edx
jne 0x71d17e47
mov ecx, dword [esp + 0x24]
call fcn.71d029a6
mov esi, dword [esp + 0x18]
movzx eax, al
push eax
push edx
push edx
push edx
push 9
push 9
push dword [esp + 0x38]
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push dword [esp + 0x40]
push esi
push edi
push edx
mov ecx, dword [ebx]
call fcn.71d02f57
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
jne 0x71d0a00e
cmp dword [ebx + 0x15e4], 2
ja 0x71d4f8a5
mov esi, dword [ebp + 8]
xor edi, edi
mov eax, dword [edi + 0x653b728]
test dword [esi + 0x3c], eax
je 0x71d0338a
push eax
mov ecx, ebx
call fcn.71d01a10
add edi, 4
cmp edi, 8
jb 0x71d03377
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [ebx + 0x15e4], eax
mov dword [ebx + 0x15f8], ecx
cmp eax, 2
ja 0x71d4f8af
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x71d033c3
push eax
lea ecx, [ebx + 0x1634]
call fcn.71d034a4
lea edi, [ebx + 0x1634]
mov ecx, edi
call fcn.71d03067
mov al, byte [esi + 1]
cmp al, 0xc
je 0x71d3c383
cmp al, 0xd
je 0x71d3c383
cmp dword [ebx + 0x1a88], 0
jne 0x71d4f8b9
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x18cc], eax
jne 0x71d47726
cmp dword [esi + 0x10], 0
jl 0x71d31e6b
mov edi, dword [esp + 0x1c]
test dword [esi + 0x10], 0x4000000
jne 0x71d3eb62
cmp dword [esp + 0x48], 0
jne 0x71d4f941
mov cl, byte [esi + 1]
xor edi, edi
mov al, cl
cmp al, 1
je 0x71d03462
cmp al, 8
je 0x71d0345f
cmp al, 0xa
je 0x71d37a4e
cmp al, 0xb
jbe 0x71d4f974
cmp al, 0xd
jbe 0x71d03462
cmp al, 0x10
ja 0x71d4f974
push ecx
push edi
mov ecx, ebx
call fcn.71d01a72
xor edi, edi
inc edi
cmp dword [esi + 0x10], 0
jl 0x71d32513
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x71d3251f
mov eax, dword [ebx + 0x1a44]
test eax, eax
jne 0x71d44838
mov al, byte [esi + 1]
cmp al, 0xc
je 0x71d3c38f
cmp al, 0xd
je 0x71d3c38f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test byte [ebx + 0x1964], 0x20
je 0x71d03365
mov byte [esp + 0x13], 1
cmp byte [esp + 0x11], 0
je 0x71d03365
cmp dword [ebx + 0x19a4], 0
je 0x71d0a03b
mov ecx, ebx
call fcn.71d326a7
test esi, esi
jns 0x71d0a044
call fcn.71d51586
mov eax, dword [ebx + 0x15e8]
mov ecx, dword [ebx + 0x19f8]
shl eax, 2
sub ecx, eax
shr ecx, 2
push ecx
mov ecx, dword [ebx]
push 4
push 1
call fcn.71d23b74
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx]
add dword [ebx + 0x18cc], 4
shr eax, 2
push eax
push 4
push 1
call fcn.71d23b74
add dword [ebx + 0x18cc], 4
xor eax, eax
cmp byte [esp + 0x12], al
mov ecx, dword [ebx]
setne al
lea eax, [eax*2 + 1]
push eax
push 4
push 1
call fcn.71d23b74
mov ecx, dword [ebx]
add dword [ebx + 0x18cc], 4
push 0
push 4
push 1
call fcn.71d0828a
add dword [ebx + 0x18cc], 4
add esi, 0x10
cmp byte [ebx + 0x1915], 0
mov dword [esp + 0x18], esi
je 0x71d0a0d5
push 1
mov ecx, ebx
call fcn.71d3b163
mov eax, dword [ebx + 0x19cc]
test dword [eax + 0xc], 0x80000
jne 0x71d0a0e9
call fcn.71d51586
push edi
push esi
push 0x8b
mov ecx, ebx
call fcn.71d2101c
jmp 0x71d03365
cmp al, 1
je 0x71d0329d
call fcn.71d51586
mov al, byte [esp + 0x10]
jmp 0x71d0329d
mov esi, edx
shr esi, 2
jmp 0x71d032ac
test esi, esi
je 0x71d4f764
lea eax, [esp + 0x44]
mov ecx, ebx
push eax
push esi
call fcn.71d0afb2
mov edi, eax
xor edx, edx
mov esi, edx
test edi, edi
jne 0x71d03301
mov edi, dword [esp + 0x44]
inc esi
jmp 0x71d03301
cmp al, 0x10
je 0x71d0320a
cmp al, 0xf
jne 0x71d03212
mov dword [esp + 0x14], 0x44
jmp 0x71d03212
cmp dword [ebx + 0x18cc], esi
je 0x71d03107
mov esi, dword [ebx + 0x19cc]
mov ecx, ebx
push esi
call fcn.71cfc77b
test al, al
jne 0x71d4f395
mov esi, dword [esp + 0x30]
jmp 0x71d03107
test al, al
je 0x71d030ec
cmp al, 2
je 0x71d030ec
call fcn.71d51586
mov al, byte [esp + 0x10]
jmp 0x71d030ec
cmp eax, 0x10000000
je 0x71d2195e
cmp eax, 0x20000000
jne 0x71d4f4df
test cl, cl
jne 0x71d4f4f1
push 0xcf
mov ecx, ebx
call fcn.71d01d76
mov ecx, dword [ebx + 0x15d0]
mov esi, eax
not ecx
mov dword [esp + 0x28], esi
movzx eax, byte [esi + 0x653b6d8]
and ecx, eax
mov dword [esp + 0x3c], eax
not ecx
and dword [ebx + 0x1680], ecx
and dword [ebx + 0x1684], ecx
cmp byte [edi], 0x4b
jne 0x71d4f4fb
push ecx
push ecx
push 0
push 1
push esi
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0a2e1
mov ecx, dword [ebx + 0x1634]
movzx eax, byte [esi + 0x653b6d8]
or dword [ecx + 0x1630], eax
and dword [ebx + esi*8 + 0x1638], 0
mov eax, dword [edi + 0x3c]
not eax
test dword [esp + 0x3c], eax
je 0x71d4f505
mov edi, dword [ebx + 0x1948]
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x38]
mov byte [esp + 0x14], 0
push eax
mov esi, dword [edi]
lea eax, [esp + 0x4c]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x2c]
push dword [eax + 0x4c]
call dword [0x653b188]
mov ecx, edi
call dword [esi + 0x2c]
cmp byte [esp + 0x10], 0
jne 0x71d4f50f
mov esi, dword [esp + 0x28]
mov eax, dword [ebx + 0x15d0]
push ecx
push ecx
push dword [esp + 0x4c]
not eax
and eax, dword [esp + 0x48]
push esi
push esi
not eax
and dword [ebx + 0x1680], eax
and dword [ebx + 0x1684], eax
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0a2e1
cmp byte [esp + 0x11], 0
jne 0x71d4f519
xor eax, eax
mov edi, dword [esp + 0x14]
push eax
push eax
push dword [esp + 0x3c]
mov ecx, dword [ebx]
push eax
push 9
push esi
push dword [esp + 0x38]
mov esi, dword [esp + 0x34]
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push edi
push esi
push eax
push 3
call fcn.71d02f57
jmp 0x71d0a020
sub esi, 1
jne 0x71d4f804
mov ecx, dword [esp + 0x24]
call fcn.71d029a6
mov esi, dword [esp + 0x18]
movzx eax, al
push eax
push edx
push edx
push edx
push 9
push 9
push dword [esp + 0x38]
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push dword [esp + 0x40]
push esi
push edi
push 1
jmp 0x71d0334f
cmp byte [edi], 0x4b
jne 0x71d4f5e0
push ecx
push ecx
mov ecx, dword [ebx]
push 0
push 1
push 1
push 4
push 0x10
call fcn.71d0f406
jmp 0x71d0327f
mov eax, dword [ebx]
mov byte [eax + 0xf8], 1
jmp 0x71d0a020
mov eax, dword [ebx]
or dword [ebx + 0x1630], 1
mov byte [eax + 0xf8], 0
test dl, dl
jne 0x71d4f549
cmp cl, 2
je 0x71d4015f
mov esi, dword [edi + 0x48]
test esi, esi
je 0x71d4f53f
push 2
xor edx, edx
mov ecx, esi
test byte [edi + 0x40], 0x80
pop eax
je 0x71d2199e
push 6
pop eax
xor ecx, ecx
mov edx, esi
push 0
push 0
push edx
mov edi, dword [esp + 0x20]
push 0
mov esi, dword [esp + 0x28]
push 9
push 9
push dword [esp + 0x38]
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push edi
push esi
push ecx
push eax
mov ecx, dword [ebx]
call fcn.71d02f57
jmp 0x71d21531
test dl, dl
jne 0x71d0325d
test byte [edi + 0x42], 7
jne 0x71d4f4bf
cmp byte [edi], 0x4b
jne 0x71d4f4c9
mov ecx, ebx
call fcn.71cf449b
push 0xcf
mov ecx, ebx
mov edi, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
call fcn.71d01d76
push ecx
push ecx
push esi
push 1
mov esi, eax
mov dword [esp + 0x54], eax
push esi
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0a2e1
mov ecx, dword [ebx + 0x1634]
movzx eax, byte [esi + 0x653b6d8]
push ecx
push ecx
or dword [ecx + 0x1630], eax
and dword [ebx + esi*8 + 0x1638], 0
push edi
push 1
push 1
push 0x24
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0a2e1
mov eax, dword [ebx + 0x1634]
or dword [eax + 0x1630], 2
xor eax, eax
mov dword [ebx + 0x1640], eax
cmp edi, 0x7f
jae 0x71d4f4d3
push eax
push eax
push eax
push eax
push 9
push esi
push dword [esp + 0x38]
mov ecx, dword [ebx]
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push dword [esp + 0x40]
push dword [esp + 0x48]
push eax
push 4
call fcn.71d02f57
jmp 0x71d03365
push esi
mov ecx, ebx
call fcn.71d31269
jmp 0x71d031d0
test dword [edi + 0x10], 0x4000000
jne 0x71d437cc
test esi, esi
jne 0x71d03178
call fcn.71d51586
jmp 0x71d03178
mov eax, dword [ebx + 0x1684]
or eax, dword [ebx + 0x1680]
and eax, ecx
or esi, eax
jmp 0x71d031b0
push dword [esp + 0x30]
mov ecx, ebx
call fcn.71d187e9
cmp dword [esi + 0x10], 0
jge 0x71d0340f
test dword [ebx + 0x191c], 0x200
je 0x71d0340f
mov ecx, ebx
call fcn.71cf449b
cmp dword [esp + 0x1c], 0
jne 0x71d4f8d7
push dword [eax + 0x10]
push dword [ebx + 0x540]
push 4
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0c994
jmp 0x71d0340f
cmp dword [ebx + 0x19a4], 0
je 0x71d4f5ea
test dword [esp + 0x1c], 0xffff0000
jne 0x71d4f5f4
imul ecx, dword [ebx + 0x19a8], 0x60
xor esi, esi
mov eax, dword [ebx]
push 9
add ecx, dword [ebx + 0x1c]
mov byte [eax + 0xf8], 0
pop eax
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x10]
mov dword [esp + 0x38], ecx
cmp al, 2
jne 0x71d32c22
mov eax, dword [edi + 0x4c]
test dword [eax + 0x10], 0x180
jne 0x71d4f5fe
mov eax, dword [edi + 0x4c]
test byte [eax + 0x10], 0x40
je 0x71d32198
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], eax
mov esi, dword [edi + 0x10]
and esi, 0x4000000
neg esi
sbb esi, esi
not esi
and esi, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x34], eax
push dword [esp + 0x30]
push eax
push esi
push ecx
mov ecx, ebx
call fcn.71d3204e
and dword [esp + 0x44], 0
mov ecx, eax
mov al, byte [esp + 0x10]
cmp al, 2
jne 0x71d32c95
mov esi, dword [esp + 0x3c]
cmp ecx, esi
je 0x71d4f61a
cmp esi, 9
je 0x71d42bc6
mov esi, dword [esp + 0x3c]
push 4
pop eax
push 0
push 0
push 0
mov edi, dword [esp + 0x20]
push 0
push 9
push esi
push dword [esp + 0x38]
mov esi, dword [esp + 0x34]
push dword [ebx + 0x1684]
mov ecx, dword [ebx]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push edi
push esi
push dword [esp + 0x78]
push eax
call fcn.71d02f57
cmp byte [esp + 0x10], 2
jne 0x71d21531
push dword [esp + 0x28]
mov ecx, ebx
call fcn.71d01a10
jmp 0x71d21531
mov eax, dword [esp + 0x38]
test eax, eax
je 0x71d4f95d
push edi
push eax
mov ecx, ebx
call fcn.71d3252d
jmp 0x71d03478
mov ecx, ebx
call fcn.71d18829
mov esi, eax
mov dword [esp + 0x30], eax
jmp 0x71d03129
push edi
mov ecx, ebx
call fcn.71d328e3
mov dword [esp + 0x28], eax
jmp 0x71d03183
test al, al
jne 0x71d4f60c
mov eax, dword [esp + 0x34]
jmp 0x71d321b1
test al, al
jne 0x71d4f624
mov edi, dword [ebx + 0x1948]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x38]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x214]
mov ecx, esi
call dword [0x653b188]
mov ecx, edi
call esi
mov esi, eax
mov dword [esp + 0x44], esi
test esi, esi
je 0x71d4f62e
xor eax, eax
push 9
inc eax
pop esi
jmp 0x71d321ee
push 5
pop edi
jmp 0x71d03462
push ecx
push 0
push ecx
mov ecx, ebx
call fcn.71d3befe
or dword [edi + 0x10], 0x40
mov esi, eax
push 1
push edi
mov ecx, ebx
mov dword [edi + 0xc], esi
call fcn.71d3bfbe
inc dword [ebx + 0x1a88]
mov eax, dword [ebx + 0x1a88]
dec eax
mov dword [ebx + eax*4 + 0x1a68], esi
mov dword [ebx + esi*4 + 0x1a48], eax
jmp 0x71d031f1
cmp dword [ebx + 0x1a88], 1
jmp 0x71d033ea
test byte [esi + 0x10], 0x80
jne 0x71d4f967
push 0
push esi
mov ecx, ebx
call fcn.71d3bfbe
jmp 0x71d03499
neg eax
jmp 0x71d03223
mov eax, edi
neg eax
cmp dword [esp + 0x18], eax
jne 0x71d4f928
test edi, edi
je 0x71d03420
mov ecx, dword [ebx]
push 4
pop eax
cmp edi, eax
je 0x71d4f932
push edi
push eax
push eax
push 9
call fcn.71d08e72
jmp 0x71d03420
mov eax, dword [edi + 0x4c]
test dword [eax + 0x10], 0x180
jne 0x71d4f535
push ecx
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [edi + 0x4c]
push eax
push 0x12
call fcn.71d0292e
mov eax, dword [ebx + 0x1634]
push 3
or dword [eax + 0x1630], 1
and dword [ebx + 0x1638], 0
mov ecx, dword [ebx]
call fcn.71d4012e
push dword [esp + 0x28]
mov ecx, ebx
call fcn.71d01a10
xor eax, eax
mov edi, dword [esp + 0x14]
push eax
push eax
push eax
push eax
mov esi, dword [esp + 0x28]
push 9
push eax
push dword [esp + 0x38]
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push edi
push esi
push eax
push 7
jmp 0x71d219d1
mov eax, dword [edi + 0x4c]
test dword [eax + 0x10], 0x180
jne 0x71d4f671
mov esi, dword [edi + 0x48]
test esi, esi
jne 0x71d4f67b
cmp byte [esp + 0x11], 0
jne 0x71d4f734
push dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, ebx
push esi
push edi
call fcn.71d40f23
mov edi, dword [esp + 0x14]
push dword [esp + 0x28]
mov ecx, ebx
call fcn.71d01a10
jmp 0x71d0a020
push 0xcf
mov ecx, ebx
call fcn.71d01d76
push ecx
push 0
push 0
push dword [edi + 0x4c]
mov esi, eax
mov ecx, ebx
push esi
push 0x12
mov dword [esp + 0x54], esi
call fcn.71d0292e
mov ecx, dword [ebx + 0x1634]
movzx eax, byte [esi + 0x653b6d8]
or dword [ecx + 0x1630], eax
and dword [ebx + esi*8 + 0x1638], 0
jmp 0x71d321e7
mov ecx, ebx
call fcn.71d18829
mov esi, eax
mov dword [esp + 0x30], esi
jmp 0x71d31e44
mov eax, dword [ebx + 0x1a88]
push ecx
mov ecx, ebx
push dword [ebx + eax*4 + 0x1a64]
call fcn.71d4469d
sub esi, 1
je 0x71d031de
jmp 0x71d4476a
cmp byte [eax + 0x10], 0
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
je 0x71d44850
push eax
mov ecx, ebx
call fcn.71d447f4
mov ecx, dword [esp + 0x54]
mov eax, ecx
test ecx, ecx
je 0x71d03486
jmp 0x71d44838
mov eax, dword [esp + 0x24]
sub eax, 0x4b
je 0x71d47787
sub eax, 1
je 0x71d47742
sub eax, 1
je 0x71d47787
sub eax, 1
jne 0x71d03405
lea edi, [ebx + 0x19ec]
cmp dword [edi], 0
jne 0x71d4f8c3
mov ecx, dword [ebx]
push 0
push dword [ebx + 0x1684]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push edi
call fcn.71cfd18d
cmp dword [edi], 0
je 0x71d4f8cd
lea edi, [ebx + 0x1634]
jmp 0x71d03405
lea edi, [ebx + 0x19e8]
jmp 0x71d47748
call fcn.71d51586
jmp 0x71d030df
cmp al, 1
je 0x71d4f38b
test dword [edi + 0x10], 0x4000000
jne 0x71d4f38b
cmp byte [ebx + 0x190f], 0
jne 0x71d030f6
call fcn.71d51586
jmp 0x71d030f6
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x24], edi
je 0x71d4f3a2
call fcn.71d51586
mov eax, dword [ebx + 0x18cc]
mov dword [esp + 0x48], eax
call fcn.71d51586
jmp 0x71d0d344
call fcn.71d51586
jmp 0x71d03136
mov cl, byte [edi + 1]
cmp cl, 1
je 0x71d4f3fe
cmp cl, 8
je 0x71d4f3f6
cmp cl, 0xa
je 0x71d4f3ef
cmp cl, 0xb
jbe 0x71d4f3e1
cmp cl, 0xd
jbe 0x71d4f3fe
cmp cl, 0xf
jbe 0x71d4f3f6
call fcn.71d51586
mov eax, dword [esp + 0x2c]
jmp 0x71d0319c
push 5
jmp 0x71d03197
xor eax, eax
inc eax
jmp 0x71d03198
xor eax, eax
jmp 0x71d03198
call fcn.71d51586
jmp 0x71d031bf
test cl, cl
jne 0x71d03238
test byte [edi + 0x40], 2
je 0x71d03238
mov esi, dword [ebx + 0x18cc]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
push dword [edi + 0x3c]
call fcn.71d4ead8
cmp byte [ebx + 0x1a20], 0
mov dword [esp + 0x34], eax
je 0x71d4f4ac
push ecx
push ecx
push dword [ebx + 0x1a1c]
mov ecx, dword [ebx]
push 9
push 9
push 0x104
push 1
call fcn.71d0f406
add dword [ebx + 0x18cc], 4
mov ecx, ebx
push 0
push 4
push 0x88
call fcn.71d2101c
xor eax, eax
inc eax
cmp dword [ebx + 0x71c], eax
jae 0x71d4f48a
mov dword [ebx + 0x71c], eax
push dword [esp + 0x44]
mov ecx, ebx
push dword [esp + 0x40]
push dword [esp + 0x3c]
call fcn.71d3b140
mov cl, byte [esp + 0x10]
mov dword [ebx + 0x18cc], esi
jmp 0x71d03238
push dword [ebx + 0x1a1c]
mov ecx, dword [ebx]
push 4
push 1
call fcn.71d23b74
jmp 0x71d4f462
call fcn.71d51586
jmp 0x71d25ff0
call fcn.71d51586
jmp 0x71d25ff9
call fcn.71d51586
xor eax, eax
jmp 0x71d26080
call fcn.71d51586
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp 0x71d0a020
call fcn.71d51586
jmp 0x71d13416
call fcn.71d51586
jmp 0x71d13454
call fcn.71d51586
jmp 0x71d13496
call fcn.71d51586
jmp 0x71d134d1
push ecx
push ecx
push dword [esp + 0x3c]
push esi
push 0
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0a2e1
jmp 0x71d4f4e4
call fcn.71d51586
jmp 0x71d4016f
call fcn.71d51586
jmp 0x71d2198a
cmp byte [edi], 0x4b
je 0x71d4f553
call fcn.71d51586
push ecx
push ecx
mov ecx, dword [ebx]
push 0
push 1
push 1
push 4
push 0x10
call fcn.71d0f406
cmp byte [esp + 0x10], 2
jne 0x71d4f5c1
mov eax, dword [edi + 0x4c]
test dword [eax + 0x10], 0x180
je 0x71d4f57e
call fcn.71d51586
push ecx
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [edi + 0x4c]
push eax
push 0x12
call fcn.71d0292e
mov eax, dword [ebx + 0x1634]
mov ecx, ebx
push dword [esp + 0x28]
or dword [eax + 0x1630], 1
and dword [ebx + 0x1638], 0
call fcn.71d01a10
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov byte [esp + 0x12], 1
jmp 0x71d21531
test byte [edi + 0x40], 0x80
jne 0x71d4f5cc
call fcn.71d51586
push ecx
push dword [edi + 0x48]
mov ecx, ebx
push 0
push 0x204
call fcn.71d0af14
jmp 0x71d4f5af
call fcn.71d51586
jmp 0x71d17fb5
call fcn.71d51586
jmp 0x71d3213e
call fcn.71d51586
jmp 0x71d3214c
call fcn.71d51586
mov ecx, dword [esp + 0x38]
jmp 0x71d32188
call fcn.71d51586
mov ecx, dword [esp + 0x38]
jmp 0x71d32c2a
call fcn.71d51586
jmp 0x71d321de
call fcn.71d51586
jmp 0x71d32c9d
push 0xcf
mov ecx, ebx
call fcn.71d01d76
push dword [esp + 0x3c]
mov ecx, dword [ebx]
mov esi, eax
push esi
push 0x104
push 0x12
call fcn.71d2902a
mov ecx, dword [ebx + 0x1634]
movzx eax, byte [esi + 0x653b6d8]
push 7
or dword [ecx + 0x1630], eax
and dword [ebx + esi*8 + 0x1638], 0
jmp 0x71d321ed
call fcn.71d51586
jmp 0x71d40fbd
test dword [edi + 0x10], 0x4000000
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x44], eax
je 0x71d4f690
call fcn.71d51586
mov al, byte [esi]
push 7
pop ecx
cmp al, cl
je 0x71d4f6a9
cmp al, 0x1d
jne 0x71d4f6a4
mov eax, dword [esi + 0x24]
cmp byte [eax], cl
je 0x71d4f6a9
call fcn.71d51586
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x18], eax
je 0x71d4f6b8
call fcn.71d51586
push ecx
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [esp + 0x50]
push eax
push 0x12
call fcn.71d0292e
mov eax, dword [ebx + 0x1634]
or dword [eax + 0x1630], 1
xor eax, eax
mov dword [ebx + 0x1638], eax
cmp byte [esi], 7
jne 0x71d4f725
push dword [esi + 0x24]
mov ecx, dword [ebx]
push 0x204
push 1
call fcn.71d23b74
mov eax, dword [esp + 0x1c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
add eax, 4
add dword [ebx + 0x18cc], 4
mov esi, eax
push edi
push eax
push 0x8a
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
call fcn.71d2101c
jmp 0x71d40fe8
push eax
push eax
push eax
push esi
push 1
mov ecx, ebx
call fcn.71d10cd5
jmp 0x71d4f6f6
push ecx
push 0
push 0
push dword [edi + 0x4c]
mov ecx, ebx
push 0
push 0x12
call fcn.71d0292e
mov eax, dword [ebx + 0x1634]
mov esi, dword [esp + 0x18]
or dword [eax + 0x1630], 1
and dword [ebx + 0x1638], 0
jmp 0x71d40fe4
call fcn.71d51586
jmp 0x71d0aff2
call fcn.71d51586
mov edx, dword [esp + 0x34]
jmp 0x71d032c0
mov al, byte [esp + 0x10]
test al, al
je 0x71d4f789
call fcn.71d51586
xor eax, eax
sub esi, eax
je 0x71d4f7f0
sub esi, 1
je 0x71d4f7de
sub esi, 1
jne 0x71d4f4df
mov ecx, dword [ebx]
push edi
push eax
push 0x104
push 0x12
call fcn.71d2902a
push ecx
push ecx
xor eax, eax
push eax
push eax
push eax
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0a2e1
mov eax, dword [ebx + 0x1634]
or dword [eax + 0x1630], 1
and dword [ebx + 0x1638], 0
jmp 0x71d4f4e4
mov ecx, dword [ebx]
push edi
push eax
push 0x104
push 0x12
call fcn.71d2902a
jmp 0x71d4f7c5
push ecx
push edi
push eax
push 0x204
mov ecx, ebx
call fcn.71d0af14
jmp 0x71d4f4e4
sub esi, 1
je 0x71d4f817
call fcn.71d51586
mov esi, dword [esp + 0x18]
jmp 0x71d03356
cmp dword [esp + 0x24], 0
je 0x71d4f823
call fcn.71d51586
push 0xcf
mov ecx, ebx
call fcn.71d01d76
mov ecx, dword [ebx]
mov esi, eax
push edi
push esi
push 0x104
push 0x12
call fcn.71d2902a
mov ecx, dword [ebx + 0x1634]
xor edx, edx
movzx eax, byte [esi + 0x653b6d8]
or dword [ecx + 0x1630], eax
mov ecx, dword [esp + 0x24]
mov dword [ebx + esi*8 + 0x1638], edx
call fcn.71d029a6
mov edi, dword [esp + 0x14]
movzx eax, al
push eax
push edx
push edx
push edx
push 9
push esi
push dword [esp + 0x38]
mov esi, dword [esp + 0x34]
push dword [ebx + 0x1684]
mov ecx, dword [ebx]
push dword [ebx + 0x1680]
push dword [ebx + 0x1694]
push dword [ebx + 0x1690]
push edi
push esi
push edx
push 7
call fcn.71d02f57
jmp 0x71d0335a
call fcn.71d51586
jmp 0x71d03372
call fcn.71d51586
jmp 0x71d033af
call fcn.71d51586
jmp 0x71d033f0
call fcn.71d51586
jmp 0x71d47751
call fcn.71d51586
jmp 0x71d4777c
test dword [esi + 0x10], 0x4000000
jne 0x71d31ea2
push dword [eax + 0x10]
push dword [ebx + 0x540]
push 1
push 4
push 8
call fcn.71d128e4
mov ecx, dword [ebx]
push eax
call fcn.71d0c994
mov eax, dword [edi]
push ecx
push ecx
or dword [eax + 0x1630], 2
and dword [edi + 0xc], 0
mov edi, dword [esp + 0x24]
mov ecx, dword [ebx]
push edi
push 1
push 4
push 4
push 0x13
call fcn.71d0a2e1
jmp 0x71d03413
call fcn.71d51586
jmp 0x71d3eb70
push 1
push eax
push 2
call fcn.71d0828a
jmp 0x71d03420
cmp byte [esi + 1], 1
je 0x71d4f94c
call fcn.71d51586
mov ecx, dword [ebx]
push 0x93
call fcn.71d05322
jmp 0x71d0342b
call fcn.71d51586
jmp 0x71d0346c
push esi
mov ecx, ebx
call fcn.71d483a4
jmp 0x71d3c399
call fcn.71d51586
jmp 0x71d03462