Function at 0x71cfb146
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, eax
mov dword [esp + 0x14], eax
jmp 0x71cfb212
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
mov ebx, dword [ebp + 8]
or eax, 0xffffffff
push esi
mov esi, ecx
mov dword [esp + 0x18], eax
push edi
mov dl, byte [ebx]
mov cl, byte [ebx + 1]
movzx edi, dl
mov byte [esp + 0xf], cl
mov byte [esp + 0x20], cl
mov dword [esp + 0x18], eax
mov cl, byte [edi + 0x653b450]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
xor eax, eax
mov byte [esp + 0x10], dl
mov edx, dword [ebp + 0xc]
mov byte [esp + 0x13], cl
movzx ecx, cl
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x12], al
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], 3
cmp edx, 1
je 0x71d0e8f5
lea ecx, [edx - 0x11]
cmp ecx, 0x3f
jbe 0x71d0f0a5
mov ecx, dword [ebp + 0x14]
test cl, 0x10
jne 0x71d027cc
test byte [esp + 0x14], 3
jne 0x71d017d6
test byte [esp + 0x14], 0x3c
je 0x71d02ac2
test byte [esp + 0x13], 8
mov ebx, dword [ebx + 0x24]
mov dword [esp + 0x18], ebx
je 0x71cfb13b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x14], ecx
lea eax, [edi - 0xb]
cmp eax, 0x4a
ja 0x71d60df0
movzx eax, byte [eax + 0x64ce82b]
mov edi, dword [ebp + 0x10]
jmp dword [eax*4 + 0x64ce7c3]
movzx ecx, byte [ecx + 7]
and ecx, edi
jne 0x71d312c9
cmp ebx, 0x10
je 0x71d60e7d
mov eax, ebx
and eax, edi
mov dword [esp + 0x40], eax
jne 0x71d2e710
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x14]
mov ecx, dword [esi + 0x1470]
and ecx, dword [esp + 0x38]
movzx edx, byte [edi + 7]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x1474]
and eax, dword [esp + 0x3c]
or ecx, eax
mov dword [esp + 0x48], edx
jne 0x71d60e87
mov ecx, dword [esp + 0x4c]
mov eax, ecx
or eax, dword [esp + 0x44]
je 0x71cfb4cf
test edx, edx
jne 0x71d038e5
mov eax, dword [esi + 0x1478]
cmp eax, 0xffffffff
jne 0x71d16786
cmp byte [esp + 0x12], 0
jne 0x71d027f4
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push edx
push ecx
push edi
mov ecx, esi
call fcn.71d0387a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x71d00f5f
mov bh, 1
jmp 0x71d0184b
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mov edx, dword [esp + 0x18]
or eax, edx
je 0x71d60986
or dword [esi + 0x1468], ecx
or dword [esi + 0x146c], edx
test edi, edi
jne 0x71d0095a
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x71d164c8
cmp byte [esp + 0xf], 8
mov ecx, dword [ebp + 8]
jne 0x71d018da
cmp byte [ecx + 1], 0xa
jne 0x71d018da
test ebx, ebx
je 0x71d018da
push dword [esp + 0x18]
mov ecx, esi
push dword [esp + 0x20]
push ebx
call fcn.71d0387a
jmp 0x71d018d7
mov cl, byte [esp + 0x10]
mov edi, dword [ebp + 0x10]
mov byte [esp + 0x11], al
mov dword [esp + 0x24], eax
cmp cl, 1
jne 0x71d066a6
movzx ecx, byte [esp + 0xf]
mov dword [esp + 0x40], ecx
test byte [ecx + 0x653b5f0], 4
jne 0x71d15afb
imul eax, dword [ebx + 0x24], 0x60
add eax, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
test byte [eax + 1], 0x40
je 0x71d1b75a
movzx eax, word [eax + 0x1e]
mov ecx, dword [eax*8 + 0x653b810]
mov eax, dword [eax*8 + 0x653b814]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x14]
and ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x18]
and eax, dword [esp + 0x18]
or ecx, eax
je 0x71d00f32
xor bh, bh
mov byte [esp + 0x11], bh
cmp edx, 2
je 0x71d08d0e
push 3
pop ecx
cmp edx, ecx
je 0x71d17fcd
lea eax, [edx - 0x11]
cmp eax, 0x3f
jbe 0x71d18962
mov bl, byte [esp + 0xf]
cmp bl, 0x11
je 0x71d26fa9
push dword [esp + 0x20]
mov ecx, esi
push edx
call fcn.71d01692
mov ebx, eax
test ebx, ebx
jne 0x71d0c6af
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x71d066f1
mov eax, dword [esp + 0x24]
mov ecx, esi
or eax, edi
or eax, dword [ebp + 0x14]
push eax
push edx
push dword [esp + 0x28]
call fcn.71d016ec
cmp byte [esp + 0x10], 1
mov ebx, eax
jne 0x71d018cc
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0x11
je 0x71d4847c
cmp byte [esp + 0x11], 0
jne 0x71d00f39
mov ecx, dword [ebp + 8]
mov byte [ecx + 7], bl
jmp 0x71cfb463
or al, bl
mov ecx, dword [ebp + 8]
mov byte [ecx + 7], al
jmp 0x71cfb463
mov edi, dword [esi + 0x1468]
and ecx, 0xffffffef
mov dword [esp + 0x30], edi
mov edi, dword [esi + 0x146c]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x40]
mov byte [esp + 0x12], 1
mov dword [ebp + 0x14], ecx
jmp 0x71cfb1e0
mov ecx, dword [esp + 0x30]
mov eax, ecx
and eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x71d60ea4
mov edi, dword [esi + 0x146c]
mov eax, dword [esp + 0x2c]
cmp dword [esi + 0x1468], ecx
jne 0x71d0c6f6
cmp edi, eax
jne 0x71d0c6f6
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x1468], ecx
mov dword [esi + 0x146c], eax
jmp 0x71cfb4e9
sub edi, 0x10
je 0x71d39082
sub edi, 5
je 0x71d2aab6
sub edi, 0x35
je 0x71d48bba
sub edi, 1
jne 0x71d60eb2
test dword [ebx + 0x10], 0x1000000
mov byte [ebx + 7], 0
jne 0x71d60e00
push 7
pop edi
push 0xfffffffffffffff8
pop eax
and eax, dword [ebp + 0x10]
and edi, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x14], edi
mov dword [esp + 0x40], eax
test eax, eax
jne 0x71d12a72
mov eax, dword [esi + 0x1470]
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x1474]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x71d02b90
mov edi, dword [esp + 0x28]
cmp byte [ecx], 0x48
mov eax, ecx
mov dword [esp + 0x24], eax
jne 0x71d60e42
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x24], eax
test dword [eax + 0x10], 0x200000
mov dword [esp + 0x20], ecx
je 0x71d1d585
mov dl, byte [eax]
cmp dl, 0x58
jne 0x71d193f8
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x1470], edx
mov edx, dword [esp + 0x18]
mov dword [esi + 0x1474], edx
mov al, byte [eax + 7]
or byte [ebx + 7], al
test ecx, ecx
jne 0x71d02b39
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx + 0x2c]
xor eax, eax
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x71d02c54
mov edi, dword [esp + 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
push eax
push ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x54], ecx
call fcn.71d03ba3
mov eax, dword [eax + 0xc]
cmp eax, 8
je 0x71d60e49
lea ecx, [eax + 8]
movzx eax, byte [eax + 0x653b6d8]
mov dword [esp + 0x40], eax
push 0x10
mov eax, edi
or eax, dword [esp + 0x28]
push eax
push ecx
push dword [esp + 0x40]
mov ecx, esi
call fcn.71cfb146
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
or ecx, dword [esp + 0x40]
or al, cl
mov dword [esp + 0x24], ecx
or byte [edx + 7], al
mov al, byte [edx + 7]
or byte [ebx + 7], al
mov ecx, dword [ebx + 0x2c]
mov al, byte [edx + 7]
or byte [ecx + 7], al
mov al, byte [edx + 7]
test al, al
je 0x71d02c2d
movzx eax, al
test eax, eax
je 0x71d02c2d
push dword [edx + 0x18]
mov ecx, esi
push dword [edx + 0x14]
push eax
call fcn.71d0387a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov dword [esi + 0x1470], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x1474], eax
push 0
pop eax
test ecx, ecx
jne 0x71d02ba5
mov edi, dword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x4c], ecx
and eax, 0x30000000
jne 0x71d133dd
push 3
pop ecx
mov al, byte [ebx + 0x42]
and al, 7
cmp al, 2
je 0x71d328c8
test ecx, ecx
je 0x71d219dd
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x24]
push eax
push ecx
push 8
mov ecx, esi
call fcn.71d016ec
mov ecx, eax
mov dword [esp + 0x20], ecx
cmp dword [ebx + 0x10], 0
jl 0x71d31dce
movzx eax, byte [ebx + 1]
or byte [ebx + 7], cl
or edi, dword [esp + 0x28]
mov ebx, dword [eax*4 + 0x653cdd0]
mov eax, dword [ebp + 0x14]
test eax, ebx
jne 0x71d312e7
mov ecx, dword [ebp + 8]
or byte [ecx + 7], bl
test dword [ecx + 0x10], 0x1000000
mov al, byte [ecx + 7]
jne 0x71cfb463
or al, 7
jmp 0x71d01b20
push dword [esp + 0x44]
push ecx
push edx
mov ecx, esi
call fcn.71d0387a
mov edx, dword [esp + 0x48]
jmp 0x71cfb4cf
mov ecx, dword [ebp + 8]
jmp 0x71cfb463
cmp cl, 6
jbe 0x71d01898
cmp cl, 8
ja 0x71d15bd4
lea eax, [edx - 0x11]
cmp eax, 0x3f
jbe 0x71d2f5a3
cmp byte [esi + 0x193b], 0
je 0x71d01898
test dword [ebx + 0x10], 0xf0000000
je 0x71d01898
test edx, edx
jne 0x71d018a0
push 3
pop edx
jmp 0x71d01898
xor ebx, ebx
jmp 0x71d018cc
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x10], 8
je 0x71d01898
mov bl, byte [esp + 0xf]
mov edx, eax
mov eax, dword [edx + 0x10]
cmp eax, 7
ja 0x71d60a16
mov al, byte [eax + 0x653d2d8]
movzx eax, al
mov dword [esp + 0x24], eax
mov eax, edi
or eax, dword [ebp + 0x14]
mov dword [esp + 0x40], eax
and eax, dword [esp + 0x24]
neg eax
sbb ecx, ecx
neg ecx
mov eax, ecx
mov dword [esp + 0x28], eax
cmp bl, 0xa
je 0x71d3814c
or byte [edx + 1], 0x10
test eax, eax
jne 0x71d3a036
mov ebx, dword [esp + 0x1c]
mov eax, ebx
or eax, dword [esp + 0x18]
je 0x71d60a21
or dword [esi + 0x1470], ebx
mov eax, dword [esp + 0x18]
or dword [esi + 0x1474], eax
jmp 0x71d066f1
mov eax, dword [esp + 0x40]
mov al, byte [eax + 0x653b6f0]
mov byte [esp + 0x13], al
cmp al, 1
jne 0x71d3a8fb
mov ecx, dword [esp + 0x28]
push esi
push ebx
call fcn.71d0c68e
jmp 0x71d01895
mov edx, dword [esi + 0x1478]
cmp edx, 0xffffffff
je 0x71d02825
not eax
not ecx
and ecx, dword [esi + 0x1468]
and eax, edi
push eax
push ecx
push edx
mov ecx, esi
call fcn.71d167b2
mov ecx, dword [esp + 0x30]
jmp 0x71d02825
cmp byte [esp + 0x10], 0x1d
je 0x71cfb1d4
mov edx, eax
mov dword [ebp + 0xc], edx
jmp 0x71cfb1d4
mov ecx, dword [ecx*8 + 0x653b810]
mov eax, dword [edx*8 + 0x653b78c]
and ecx, dword [ebx + 0x14]
and eax, dword [ebx + 0x18]
or ecx, eax
jne 0x71d34743
xor eax, eax
jmp 0x71cfb1d4
push eax
mov ecx, esi
call fcn.71cfb146
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
jmp 0x71d02b6e
test dword [eax + 0x10], 0x200000
je 0x71d60e14
mov cl, byte [eax]
cmp cl, 0x58
je 0x71d02b1a
cmp cl, 0xc
je 0x71d25ece
cmp cl, 0x2d
jne 0x71d60e22
cmp byte [eax], 0x58
je 0x71d02b1a
push 0x10
push dword [esp + 0x2c]
mov ecx, esi
push 0
push eax
call fcn.71cfb146
jmp 0x71d02b1a
cmp eax, 0x10000000
je 0x71d21932
cmp eax, 0x20000000
je 0x71d02c6c
jmp 0x71d02c6f
mov ebx, dword [esp + 0x24]
jmp 0x71d0531a
mov edi, dword [ebp + 0x10]
jmp 0x71d15aed
mov byte [ebx + 7], al
mov ebx, eax
jmp 0x71d0531a
cmp cl, 0x1b
je 0x71d15afb
cmp cl, 0x57
jne 0x71d01898
mov cl, byte [esp + 0xf]
test edx, edx
je 0x71d435aa
lea eax, [edx - 0x11]
cmp eax, 0x3f
ja 0x71d01898
lea eax, [edx - 0x11]
mov dword [esi + 0x1478], eax
imul eax, dword [esi + eax*4 + 0x38], 0x60
add eax, dword [esi + 0x1c]
or byte [eax + 1], 0x10
cmp cl, 0xa
jne 0x71d066f1
cmp dword [eax + 0x14], 8
jne 0x71d066f1
mov bl, 8
mov byte [esp + 0xf], bl
mov byte [esp + 0x20], bl
jmp 0x71d066e9
push edx
push ecx
push eax
mov ecx, esi
call fcn.71d0387a
jmp 0x71d00f6a
test edx, edx
jne 0x71d209b0
mov eax, dword [edi + 0x14]
or eax, dword [edi + 0x18]
je 0x71cfb4de
push dword [edi + 0x18]
mov ecx, esi
push dword [edi + 0x14]
push dword [esi + 0x1478]
call fcn.71d167b2
jmp 0x71cfb4de
test bh, bh
je 0x71d018a0
mov ebx, dword [esp + 0x1c]
mov eax, ebx
and eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x71d60998
mov ecx, dword [esi + 0x1470]
mov eax, dword [esi + 0x1474]
and ecx, ebx
and eax, dword [esp + 0x18]
or ecx, eax
je 0x71d08d0e
jmp 0x71d018a0
lea ecx, [edx - 0x11]
imul edx, dword [esi + ecx*4 + 0x38], 0x60
mov eax, dword [ecx*8 + 0x653b810]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx*8 + 0x653b814]
mov dword [esp + 0x18], eax
add edx, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], edx
movzx eax, word [edx + 0x1e]
cmp eax, ecx
jne 0x71d609a5
cmp dword [edx + 0x10], 8
je 0x71d609b3
mov bl, byte [esp + 0xf]
cmp bl, 0xa
je 0x71d36e5b
mov eax, dword [esp + 0x28]
test byte [eax + 1], 0x40
je 0x71d18a0d
movzx ecx, word [eax + 0x1e]
test bh, bh
je 0x71d189f9
mov eax, dword [esp + 0x1c]
or dword [esi + ecx*8 + 0x338], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
or dword [esi + ecx*8 + 0x33c], eax
mov eax, dword [ecx*8 + 0x653b810]
or dword [esi + edx*8 + 0x338], eax
mov eax, dword [ecx*8 + 0x653b814]
or dword [esi + edx*8 + 0x33c], eax
mov edx, dword [esi + 0x1468]
mov eax, edx
or eax, dword [esi + 0x146c]
jne 0x71d609c1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x1478], eax
jmp 0x71d08d22
cmp dl, 0xc
je 0x71d2add6
cmp dl, 0x2d
jne 0x71d455b2
cmp byte [eax], 0x58
je 0x71d10bd2
push 0x10
push edi
push 0
jmp 0x71d10bc6
mov bh, byte [esp + 0x11]
jmp 0x71d0184f
push 0x10
push edi
push 2
jmp 0x71d10bc6
push dword [eax*8 + 0x653b814]
mov ecx, esi
push dword [eax*8 + 0x653b810]
push edx
call fcn.71d0387a
jmp 0x71d1678e
push dword [ebx + 0x18]
mov ecx, esi
push dword [ebx + 0x14]
push 1
call fcn.71d0387a
or dword [esi + 0x1630], 1
mov al, byte [ebx + 0x42]
and al, 7
cmp al, 2
je 0x71d40106
mov ecx, dword [esp + 0x4c]
jmp 0x71d02c6f
mov ecx, dword [esp + 0x20]
jmp 0x71d02c9d
cmp byte [eax + 1], 1
je 0x71d12a9c
jmp 0x71d12a93
test edx, edx
jne 0x71d609d5
mov eax, dword [esp + 0x28]
test byte [eax + 4], 0x20
je 0x71d01898
test byte [eax + 2], 8
jne 0x71d01898
mov esi, dword [eax + 8]
movzx eax, byte [eax + 0xc]
add eax, esi
mov dword [esp + 0x14], esi
cmp esi, eax
mov esi, dword [esp + 0x34]
jae 0x71d01898
imul eax, dword [esp + 0x14], 0x60
mov edi, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x1c]
add eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
test byte [eax + 0xd], cl
jne 0x71d483c3
movzx eax, byte [edi + 0xc]
inc dword [esp + 0x14]
add eax, dword [edi + 8]
add dword [esp + 0x34], 0x60
cmp dword [esp + 0x14], eax
jb 0x71d26fef
mov edi, dword [ebp + 0x10]
mov byte [esp + 0xf], bl
jmp 0x71d01898
mov edi, dword [ebp + 0x10]
xor eax, eax
inc eax
or ecx, eax
push ecx
push edi
push eax
push dword [ebx + 0x24]
mov dword [ebp + 0x14], ecx
mov ecx, esi
call fcn.71cfb146
mov dword [esp + 0x24], eax
mov ecx, esi
or eax, dword [ebp + 0x14]
push eax
push edi
push 2
push dword [ebx + 0x28]
call fcn.71cfb146
mov ebx, eax
mov ecx, esi
mov eax, dword [ebp + 0x14]
and eax, 0xfffffffe
or eax, ebx
or eax, dword [esp + 0x24]
push eax
mov eax, dword [ebp + 8]
push edi
push 8
push dword [eax + 0x2c]
call fcn.71cfb146
or al, byte [esp + 0x24]
or al, bl
mov ebx, dword [ebp + 8]
or al, 1
mov byte [ebx + 7], al
jmp 0x71d15aed
cmp byte [eax + 1], 1
je 0x71d1940a
jmp 0x71d19401
not eax
and ebx, eax
xor ecx, ecx
or ecx, ebx
or ecx, edi
push ecx
push 2
push 8
mov ecx, esi
call fcn.71d016ec
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
or ecx, eax
mov eax, edx
mov dword [esp + 0x44], ecx
neg eax
and eax, edx
not eax
and edx, eax
mov dword [esp + 0x40], edx
jne 0x71d2e716
mov edi, dword [ebp + 8]
or ebx, ecx
or byte [edi + 7], bl
jmp 0x71cfb489
lea eax, [edx - 0x11]
mov dword [esi + 0x1478], eax
imul eax, dword [esi + eax*4 + 0x38], 0x60
add eax, dword [esi + 0x1c]
or byte [eax + 1], 0x10
cmp byte [esp + 0xf], 0xa
jne 0x71d066f1
cmp dword [eax + 0x14], 8
jne 0x71d066f1
mov al, 8
push 3
mov byte [esp + 0x13], al
mov byte [esp + 0x24], al
pop edx
jmp 0x71d018a0
mov edx, dword [esi + 0x145c]
mov eax, ecx
inc edx
neg eax
and eax, ecx
not eax
and ecx, eax
jne 0x71d312cf
mov dword [esi + 0x145c], edx
jmp 0x71cfb46f
and ebx, 0xcf
push 0
mov ecx, ebx
pop ebx
je 0x71d02cc4
cmp ecx, 1
jne 0x71d42612
push eax
push 3
push 8
mov ecx, esi
call fcn.71d016ec
mov ebx, eax
jmp 0x71d02cc4
mov eax, dword [esp + 0x28]
or eax, ecx
mov ecx, esi
or eax, dword [esp + 0x24]
push eax
push 3
push 8
call fcn.71d016ec
mov ecx, dword [esp + 0x20]
or ecx, eax
jmp 0x71d02ca7
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x24]
push 0x10
push eax
push ecx
push dword [ebx + 0x4c]
mov ecx, esi
call fcn.71cfb146
jmp 0x71d02c97
push 3
pop edx
mov dword [ebp + 0xc], edx
jmp 0x71d0f0c1
mov al, byte [edx]
and al, 0x1f
cmp al, bl
je 0x71d189b1
call fcn.71d51586
jmp 0x71d189b1
mov eax, dword [edx + 0x14]
cmp eax, 8
je 0x71d3a09e
movzx eax, byte [eax + 0x653b6d8]
or dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
test dword [esp + 0x40], eax
jne 0x71d40520
mov eax, dword [esp + 0x28]
jmp 0x71d08d5d
xor eax, eax
cmp dword [ebx + 0x10], eax
jge 0x71d15af6
cmp dword [ebp + 0xc], eax
jne 0x71d60e71
mov edi, dword [ebp + 0x10]
push eax
push 0x10
push edi
push ecx
push dword [ebx + 0x24]
mov ecx, esi
call fcn.71d0902f
mov ecx, dword [ebp + 8]
mov dword [esp + 0x4c], eax
xor eax, eax
mov byte [ebx + 7], al
mov ebx, eax
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x48], edx
test edx, edx
je 0x71cfb463
mov eax, dword [ebp + 0x14]
mov ecx, esi
or eax, 0x10
push eax
mov eax, dword [esp + 0x50]
or eax, edi
push eax
push 2
push edx
call fcn.71cfb146
mov ecx, dword [esi + 0x1468]
mov eax, ecx
mov edx, dword [esi + 0x146c]
or eax, edx
je 0x71d0531a
mov eax, dword [esp + 0x48]
imul eax, dword [eax + 0x24], 0x60
add eax, dword [esi + 0x1c]
test byte [eax + 1], 0x40
je 0x71d0531a
movzx eax, word [eax + 0x1e]
push edx
push ecx
push eax
mov ecx, esi
call fcn.71d167b2
jmp 0x71d0531a
cmp bl, 0xa
jne 0x71d3a06d
cmp eax, 1
jne 0x71d3a076
mov eax, dword [esp + 0x1c]
add bl, 0xfe
or eax, dword [esp + 0x18]
mov byte [esp + 0xf], bl
mov byte [esp + 0x20], bl
je 0x71d60a2b
mov eax, dword [esp + 0x1c]
or dword [esi + 0x1470], eax
mov eax, dword [esp + 0x18]
or dword [esi + 0x1474], eax
cmp bl, 0xd
je 0x71d01895
movzx eax, bl
movzx eax, byte [eax + 0x653b430]
movzx eax, byte [eax + 0x653b710]
shr eax, 2
cmp dword [esp + 0x28], eax
je 0x71d01895
call fcn.71d51586
jmp 0x71d01895
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jmp 0x71d08d5d
push 0
push ebx
call fcn.71cf898e
movzx edx, byte [esp + 0x13]
cmp eax, edx
jbe 0x71d0c6c5
jmp 0x71d01895
push 8
jmp 0x71d02c6e
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
jmp 0x71d08d5d
cmp ecx, 5
jne 0x71d60e50
push eax
push 3
push 0xa
jmp 0x71d31306
movzx eax, cl
cmp byte [eax + 0x653b430], 8
jne 0x71d066f1
cmp byte [eax + 0x653b710], 4
jae 0x71d066f1
push 3
pop edx
jmp 0x71d15bf2
cmp dl, 0x55
je 0x71d1940a
cmp dl, 0x41
je 0x71d1940a
call fcn.71d51586
mov eax, dword [esp + 0x24]
jmp 0x71d1940a
mov ah, byte [eax]
and ah, 0x1f
mov al, ah
sub al, 2
cmp al, 2
ja 0x71d609e5
push esi
mov bl, cl
mov dword [ebp + 0xc], ecx
mov ecx, dword [esp + 0x2c]
push 0x10
mov byte [esp + 0x28], bl
call fcn.71d0c68e
mov edx, dword [ebp + 0xc]
push 3
pop ecx
jmp 0x71d27003
mov cl, byte [esp + 0xf]
cmp cl, 8
je 0x71d4848e
cmp cl, 3
jne 0x71d6096b
imul ecx, dword [eax + 0x24], 0x60
add ecx, dword [esi + 0x1c]
mov dword [esp + 0x34], ecx
test byte [ecx + 4], 0x20
je 0x71d60978
test byte [ecx + 2], 8
jne 0x71d60978
mov edx, dword [ecx + 8]
movzx eax, byte [ecx + 0xc]
add eax, edx
mov dword [esp + 0x28], edx
cmp edx, eax
jae 0x71d018cc
imul edi, edx, 0x60
mov eax, dword [esi + 0x1c]
test byte [eax + edi + 1], 0x40
je 0x71d484f6
test ebx, ebx
je 0x71d484f6
movzx eax, word [eax + edi + 0x1e]
mov ecx, esi
push dword [eax*8 + 0x653b814]
push dword [eax*8 + 0x653b810]
push ebx
call fcn.71d0387a
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
movzx eax, byte [ecx + 0xc]
inc edx
add eax, dword [ecx + 8]
add edi, 0x60
mov dword [esp + 0x28], edx
cmp edx, eax
jb 0x71d484c5
mov edi, dword [ebp + 0x10]
jmp 0x71d018cc
mov al, byte [ebx + 0x34]
test al, al
je 0x71d48bda
lea edx, [ebx + 0x28]
movzx edi, al
mov eax, dword [edx]
lea edx, [edx + 4]
movzx eax, byte [eax + 6]
or ecx, eax
sub edi, 1
jne 0x71d48bc7
mov dword [ebp + 0x14], ecx
mov edi, dword [ebp + 0x10]
push ecx
push edi
push 2
push dword [ebx + 0x24]
mov ecx, esi
call fcn.71cfb146
mov ecx, dword [ebp + 8]
mov ebx, eax
xor eax, eax
mov edx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
cmp byte [ecx + 0x34], al
jbe 0x71d48c42
push dword [ebp + 0x14]
mov eax, dword [esp + 0x2c]
or edx, ebx
or edx, edi
push edx
push 3
push dword [ecx + eax*4 + 0x28]
mov ecx, esi
call fcn.71cfb146
mov ecx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x71d48c26
or ebx, ecx
mov edx, dword [esp + 0x34]
or edx, ecx
mov ecx, dword [ebp + 8]
inc eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
movzx eax, byte [ecx + 0x34]
cmp dword [esp + 0x28], eax
jb 0x71d48c01
movzx ecx, byte [ecx + 0x35]
call fcn.71d2e425
test al, al
je 0x71d60e5a
mov eax, dword [esp + 0x34]
jmp 0x71d01b1b
call fcn.71d51586
mov eax, dword [ebp + 8]
jmp 0x71d4848e
call fcn.71d51586
mov ecx, dword [esp + 0x34]
jmp 0x71d484ad
call fcn.71d51586
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x71d00f4b
call fcn.71d51586
mov edx, dword [ebp + 0xc]
jmp 0x71d17fe8
call fcn.71d51586
mov edx, dword [esp + 0x24]
jmp 0x71d1899a
call fcn.71d51586
mov edx, dword [esp + 0x24]
jmp 0x71d189a4
push dword [esi + 0x146c]
push edx
push ecx
mov ecx, esi
call fcn.71d167b2
jmp 0x71d18a0d
call fcn.71d51586
mov edx, dword [ebp + 0xc]
push 3
pop ecx
jmp 0x71d26fb1
sub ah, 5
cmp ah, 2
ja 0x71d27003
mov eax, dword [esp + 0x28]
test byte [eax + 1], 0x40
je 0x71d60a05
cmp dword [eax + 0x10], 8
jne 0x71d27003
cmp bl, cl
je 0x71d60a0f
mov bl, 8
mov byte [esp + 0x20], bl
mov edx, ecx
jmp 0x71d27003
mov al, byte [eax + 0x653b6d8]
jmp 0x71d08d34
call fcn.71d51586
jmp 0x71d08d79
call fcn.71d51586
jmp 0x71d3a059
call fcn.71d51586
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
jmp 0x71d02ac2
movzx eax, byte [ebx + 1]
mov edi, dword [eax*4 + 0x653cdd0]
mov eax, edi
not eax
jmp 0x71d02afd
call fcn.71d51586
mov eax, dword [esp + 0x40]
jmp 0x71d12a7f
cmp cl, 0x55
je 0x71d12a9c
cmp cl, 0x41
je 0x71d12a9c
call fcn.71d51586
mov eax, dword [esp + 0x40]
jmp 0x71d12a9c
xor ecx, ecx
jmp 0x71d02b52
xor ecx, ecx
jmp 0x71d02bd8
call fcn.71d51586
jmp 0x71d02cc4
or edx, ebx
mov ecx, esi
or edx, edi
push edx
push 3
push 8
call fcn.71d016ec
or ebx, eax
jmp 0x71d48c53
call fcn.71d51586
xor eax, eax
jmp 0x71d39096
call fcn.71d51586
jmp 0x71cfb478
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
not eax
and dword [esi + 0x1470], eax
not ecx
and dword [esi + 0x1474], ecx
jmp 0x71cfb4bb
call fcn.71d51586
mov ecx, dword [esp + 0x30]
jmp 0x71d02807
call fcn.71d51571
int3