Function at 0x71acb146
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, eax
mov dword [esp + 0x14], eax
jmp 0x71acb212
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 + 0x627b450]
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 0x71ade8f5
lea ecx, [edx - 0x11]
cmp ecx, 0x3f
jbe 0x71adf0a5
mov ecx, dword [ebp + 0x14]
test cl, 0x10
jne 0x71ad27cc
test byte [esp + 0x14], 3
jne 0x71ad17d6
test byte [esp + 0x14], 0x3c
je 0x71ad2ac2
test byte [esp + 0x13], 8
mov ebx, dword [ebx + 0x24]
mov dword [esp + 0x18], ebx
je 0x71acb13b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x14], ecx
lea eax, [edi - 0xb]
cmp eax, 0x4a
ja 0x71b30df0
movzx eax, byte [eax + 0x620e82b]
mov edi, dword [ebp + 0x10]
jmp dword [eax*4 + 0x620e7c3]
movzx ecx, byte [ecx + 7]
and ecx, edi
jne 0x71b012c9
cmp ebx, 0x10
je 0x71b30e7d
mov eax, ebx
and eax, edi
mov dword [esp + 0x40], eax
jne 0x71afe710
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 0x71b30e87
mov ecx, dword [esp + 0x4c]
mov eax, ecx
or eax, dword [esp + 0x44]
je 0x71acb4cf
test edx, edx
jne 0x71ad38e5
mov eax, dword [esi + 0x1478]
cmp eax, 0xffffffff
jne 0x71ae6786
cmp byte [esp + 0x12], 0
jne 0x71ad27f4
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.71ad387a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x71ad0f5f
mov bh, 1
jmp 0x71ad184b
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mov edx, dword [esp + 0x18]
or eax, edx
je 0x71b30986
or dword [esi + 0x1468], ecx
or dword [esi + 0x146c], edx
test edi, edi
jne 0x71ad095a
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x71ae64c8
cmp byte [esp + 0xf], 8
mov ecx, dword [ebp + 8]
jne 0x71ad18da
cmp byte [ecx + 1], 0xa
jne 0x71ad18da
test ebx, ebx
je 0x71ad18da
push dword [esp + 0x18]
mov ecx, esi
push dword [esp + 0x20]
push ebx
call fcn.71ad387a
jmp 0x71ad18d7
mov cl, byte [esp + 0x10]
mov edi, dword [ebp + 0x10]
mov byte [esp + 0x11], al
mov dword [esp + 0x24], eax
cmp cl, 1
jne 0x71ad66a6
movzx ecx, byte [esp + 0xf]
mov dword [esp + 0x40], ecx
test byte [ecx + 0x627b5f0], 4
jne 0x71ae5afb
imul eax, dword [ebx + 0x24], 0x60
add eax, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
test byte [eax + 1], 0x40
je 0x71aeb75a
movzx eax, word [eax + 0x1e]
mov ecx, dword [eax*8 + 0x627b810]
mov eax, dword [eax*8 + 0x627b814]
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 0x71ad0f32
xor bh, bh
mov byte [esp + 0x11], bh
cmp edx, 2
je 0x71ad8d0e
push 3
pop ecx
cmp edx, ecx
je 0x71ae7fcd
lea eax, [edx - 0x11]
cmp eax, 0x3f
jbe 0x71ae8962
mov bl, byte [esp + 0xf]
cmp bl, 0x11
je 0x71af6fa9
push dword [esp + 0x20]
mov ecx, esi
push edx
call fcn.71ad1692
mov ebx, eax
test ebx, ebx
jne 0x71adc6af
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x71ad66f1
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.71ad16ec
cmp byte [esp + 0x10], 1
mov ebx, eax
jne 0x71ad18cc
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0x11
je 0x71b1847c
cmp byte [esp + 0x11], 0
jne 0x71ad0f39
mov ecx, dword [ebp + 8]
mov byte [ecx + 7], bl
jmp 0x71acb463
or al, bl
mov ecx, dword [ebp + 8]
mov byte [ecx + 7], al
jmp 0x71acb463
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 0x71acb1e0
mov ecx, dword [esp + 0x30]
mov eax, ecx
and eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x71b30ea4
mov edi, dword [esi + 0x146c]
mov eax, dword [esp + 0x2c]
cmp dword [esi + 0x1468], ecx
jne 0x71adc6f6
cmp edi, eax
jne 0x71adc6f6
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x1468], ecx
mov dword [esi + 0x146c], eax
jmp 0x71acb4e9
sub edi, 0x10
je 0x71b09082
sub edi, 5
je 0x71afaab6
sub edi, 0x35
je 0x71b18bba
sub edi, 1
jne 0x71b30eb2
test dword [ebx + 0x10], 0x1000000
mov byte [ebx + 7], 0
jne 0x71b30e00
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 0x71ae2a72
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 0x71ad2b90
mov edi, dword [esp + 0x28]
cmp byte [ecx], 0x48
mov eax, ecx
mov dword [esp + 0x24], eax
jne 0x71b30e42
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 0x71aed585
mov dl, byte [eax]
cmp dl, 0x58
jne 0x71ae93f8
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 0x71ad2b39
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx + 0x2c]
xor eax, eax
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x71ad2c54
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.71ad3ba3
mov eax, dword [eax + 0xc]
cmp eax, 8
je 0x71b30e49
lea ecx, [eax + 8]
movzx eax, byte [eax + 0x627b6d8]
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.71acb146
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 0x71ad2c2d
movzx eax, al
test eax, eax
je 0x71ad2c2d
push dword [edx + 0x18]
mov ecx, esi
push dword [edx + 0x14]
push eax
call fcn.71ad387a
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 0x71ad2ba5
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 0x71ae33dd
push 3
pop ecx
mov al, byte [ebx + 0x42]
and al, 7
cmp al, 2
je 0x71b028c8
test ecx, ecx
je 0x71af19dd
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x24]
push eax
push ecx
push 8
mov ecx, esi
call fcn.71ad16ec
mov ecx, eax
mov dword [esp + 0x20], ecx
cmp dword [ebx + 0x10], 0
jl 0x71b01dce
movzx eax, byte [ebx + 1]
or byte [ebx + 7], cl
or edi, dword [esp + 0x28]
mov ebx, dword [eax*4 + 0x627cdd0]
mov eax, dword [ebp + 0x14]
test eax, ebx
jne 0x71b012e7
mov ecx, dword [ebp + 8]
or byte [ecx + 7], bl
test dword [ecx + 0x10], 0x1000000
mov al, byte [ecx + 7]
jne 0x71acb463
or al, 7
jmp 0x71ad1b20
push dword [esp + 0x44]
push ecx
push edx
mov ecx, esi
call fcn.71ad387a
mov edx, dword [esp + 0x48]
jmp 0x71acb4cf
mov ecx, dword [ebp + 8]
jmp 0x71acb463
cmp cl, 6
jbe 0x71ad1898
cmp cl, 8
ja 0x71ae5bd4
lea eax, [edx - 0x11]
cmp eax, 0x3f
jbe 0x71aff5a3
cmp byte [esi + 0x193b], 0
je 0x71ad1898
test dword [ebx + 0x10], 0xf0000000
je 0x71ad1898
test edx, edx
jne 0x71ad18a0
push 3
pop edx
jmp 0x71ad1898
xor ebx, ebx
jmp 0x71ad18cc
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x10], 8
je 0x71ad1898
mov bl, byte [esp + 0xf]
mov edx, eax
mov eax, dword [edx + 0x10]
cmp eax, 7
ja 0x71b30a16
mov al, byte [eax + 0x627d2d8]
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 0x71b0814c
or byte [edx + 1], 0x10
test eax, eax
jne 0x71b0a036
mov ebx, dword [esp + 0x1c]
mov eax, ebx
or eax, dword [esp + 0x18]
je 0x71b30a21
or dword [esi + 0x1470], ebx
mov eax, dword [esp + 0x18]
or dword [esi + 0x1474], eax
jmp 0x71ad66f1
mov eax, dword [esp + 0x40]
mov al, byte [eax + 0x627b6f0]
mov byte [esp + 0x13], al
cmp al, 1
jne 0x71b0a8fb
mov ecx, dword [esp + 0x28]
push esi
push ebx
call fcn.71adc68e
jmp 0x71ad1895
mov edx, dword [esi + 0x1478]
cmp edx, 0xffffffff
je 0x71ad2825
not eax
not ecx
and ecx, dword [esi + 0x1468]
and eax, edi
push eax
push ecx
push edx
mov ecx, esi
call fcn.71ae67b2
mov ecx, dword [esp + 0x30]
jmp 0x71ad2825
cmp byte [esp + 0x10], 0x1d
je 0x71acb1d4
mov edx, eax
mov dword [ebp + 0xc], edx
jmp 0x71acb1d4
mov ecx, dword [ecx*8 + 0x627b810]
mov eax, dword [edx*8 + 0x627b78c]
and ecx, dword [ebx + 0x14]
and eax, dword [ebx + 0x18]
or ecx, eax
jne 0x71b04743
xor eax, eax
jmp 0x71acb1d4
push eax
mov ecx, esi
call fcn.71acb146
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
jmp 0x71ad2b6e
test dword [eax + 0x10], 0x200000
je 0x71b30e14
mov cl, byte [eax]
cmp cl, 0x58
je 0x71ad2b1a
cmp cl, 0xc
je 0x71af5ece
cmp cl, 0x2d
jne 0x71b30e22
cmp byte [eax], 0x58
je 0x71ad2b1a
push 0x10
push dword [esp + 0x2c]
mov ecx, esi
push 0
push eax
call fcn.71acb146
jmp 0x71ad2b1a
cmp eax, 0x10000000
je 0x71af1932
cmp eax, 0x20000000
je 0x71ad2c6c
jmp 0x71ad2c6f
mov ebx, dword [esp + 0x24]
jmp 0x71ad531a
mov edi, dword [ebp + 0x10]
jmp 0x71ae5aed
mov byte [ebx + 7], al
mov ebx, eax
jmp 0x71ad531a
cmp cl, 0x1b
je 0x71ae5afb
cmp cl, 0x57
jne 0x71ad1898
mov cl, byte [esp + 0xf]
test edx, edx
je 0x71b135aa
lea eax, [edx - 0x11]
cmp eax, 0x3f
ja 0x71ad1898
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 0x71ad66f1
cmp dword [eax + 0x14], 8
jne 0x71ad66f1
mov bl, 8
mov byte [esp + 0xf], bl
mov byte [esp + 0x20], bl
jmp 0x71ad66e9
push edx
push ecx
push eax
mov ecx, esi
call fcn.71ad387a
jmp 0x71ad0f6a
test edx, edx
jne 0x71af09b0
mov eax, dword [edi + 0x14]
or eax, dword [edi + 0x18]
je 0x71acb4de
push dword [edi + 0x18]
mov ecx, esi
push dword [edi + 0x14]
push dword [esi + 0x1478]
call fcn.71ae67b2
jmp 0x71acb4de
test bh, bh
je 0x71ad18a0
mov ebx, dword [esp + 0x1c]
mov eax, ebx
and eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x71b30998
mov ecx, dword [esi + 0x1470]
mov eax, dword [esi + 0x1474]
and ecx, ebx
and eax, dword [esp + 0x18]
or ecx, eax
je 0x71ad8d0e
jmp 0x71ad18a0
lea ecx, [edx - 0x11]
imul edx, dword [esi + ecx*4 + 0x38], 0x60
mov eax, dword [ecx*8 + 0x627b810]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx*8 + 0x627b814]
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 0x71b309a5
cmp dword [edx + 0x10], 8
je 0x71b309b3
mov bl, byte [esp + 0xf]
cmp bl, 0xa
je 0x71b06e5b
mov eax, dword [esp + 0x28]
test byte [eax + 1], 0x40
je 0x71ae8a0d
movzx ecx, word [eax + 0x1e]
test bh, bh
je 0x71ae89f9
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 + 0x627b810]
or dword [esi + edx*8 + 0x338], eax
mov eax, dword [ecx*8 + 0x627b814]
or dword [esi + edx*8 + 0x33c], eax
mov edx, dword [esi + 0x1468]
mov eax, edx
or eax, dword [esi + 0x146c]
jne 0x71b309c1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x1478], eax
jmp 0x71ad8d22
cmp dl, 0xc
je 0x71afadd6
cmp dl, 0x2d
jne 0x71b155b2
cmp byte [eax], 0x58
je 0x71ae0bd2
push 0x10
push edi
push 0
jmp 0x71ae0bc6
mov bh, byte [esp + 0x11]
jmp 0x71ad184f
push 0x10
push edi
push 2
jmp 0x71ae0bc6
push dword [eax*8 + 0x627b814]
mov ecx, esi
push dword [eax*8 + 0x627b810]
push edx
call fcn.71ad387a
jmp 0x71ae678e
push dword [ebx + 0x18]
mov ecx, esi
push dword [ebx + 0x14]
push 1
call fcn.71ad387a
or dword [esi + 0x1630], 1
mov al, byte [ebx + 0x42]
and al, 7
cmp al, 2
je 0x71b10106
mov ecx, dword [esp + 0x4c]
jmp 0x71ad2c6f
mov ecx, dword [esp + 0x20]
jmp 0x71ad2c9d
cmp byte [eax + 1], 1
je 0x71ae2a9c
jmp 0x71ae2a93
test edx, edx
jne 0x71b309d5
mov eax, dword [esp + 0x28]
test byte [eax + 4], 0x20
je 0x71ad1898
test byte [eax + 2], 8
jne 0x71ad1898
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 0x71ad1898
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 0x71b183c3
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 0x71af6fef
mov edi, dword [ebp + 0x10]
mov byte [esp + 0xf], bl
jmp 0x71ad1898
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.71acb146
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.71acb146
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.71acb146
or al, byte [esp + 0x24]
or al, bl
mov ebx, dword [ebp + 8]
or al, 1
mov byte [ebx + 7], al
jmp 0x71ae5aed
cmp byte [eax + 1], 1
je 0x71ae940a
jmp 0x71ae9401
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.71ad16ec
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 0x71afe716
mov edi, dword [ebp + 8]
or ebx, ecx
or byte [edi + 7], bl
jmp 0x71acb489
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 0x71ad66f1
cmp dword [eax + 0x14], 8
jne 0x71ad66f1
mov al, 8
push 3
mov byte [esp + 0x13], al
mov byte [esp + 0x24], al
pop edx
jmp 0x71ad18a0
mov edx, dword [esi + 0x145c]
mov eax, ecx
inc edx
neg eax
and eax, ecx
not eax
and ecx, eax
jne 0x71b012cf
mov dword [esi + 0x145c], edx
jmp 0x71acb46f
and ebx, 0xcf
push 0
mov ecx, ebx
pop ebx
je 0x71ad2cc4
cmp ecx, 1
jne 0x71b12612
push eax
push 3
push 8
mov ecx, esi
call fcn.71ad16ec
mov ebx, eax
jmp 0x71ad2cc4
mov eax, dword [esp + 0x28]
or eax, ecx
mov ecx, esi
or eax, dword [esp + 0x24]
push eax
push 3
push 8
call fcn.71ad16ec
mov ecx, dword [esp + 0x20]
or ecx, eax
jmp 0x71ad2ca7
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.71acb146
jmp 0x71ad2c97
push 3
pop edx
mov dword [ebp + 0xc], edx
jmp 0x71adf0c1
mov al, byte [edx]
and al, 0x1f
cmp al, bl
je 0x71ae89b1
call fcn.71b21586
jmp 0x71ae89b1
mov eax, dword [edx + 0x14]
cmp eax, 8
je 0x71b0a09e
movzx eax, byte [eax + 0x627b6d8]
or dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
test dword [esp + 0x40], eax
jne 0x71b10520
mov eax, dword [esp + 0x28]
jmp 0x71ad8d5d
xor eax, eax
cmp dword [ebx + 0x10], eax
jge 0x71ae5af6
cmp dword [ebp + 0xc], eax
jne 0x71b30e71
mov edi, dword [ebp + 0x10]
push eax
push 0x10
push edi
push ecx
push dword [ebx + 0x24]
mov ecx, esi
call fcn.71ad902f
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 0x71acb463
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.71acb146
mov ecx, dword [esi + 0x1468]
mov eax, ecx
mov edx, dword [esi + 0x146c]
or eax, edx
je 0x71ad531a
mov eax, dword [esp + 0x48]
imul eax, dword [eax + 0x24], 0x60
add eax, dword [esi + 0x1c]
test byte [eax + 1], 0x40
je 0x71ad531a
movzx eax, word [eax + 0x1e]
push edx
push ecx
push eax
mov ecx, esi
call fcn.71ae67b2
jmp 0x71ad531a
cmp bl, 0xa
jne 0x71b0a06d
cmp eax, 1
jne 0x71b0a076
mov eax, dword [esp + 0x1c]
add bl, 0xfe
or eax, dword [esp + 0x18]
mov byte [esp + 0xf], bl
mov byte [esp + 0x20], bl
je 0x71b30a2b
mov eax, dword [esp + 0x1c]
or dword [esi + 0x1470], eax
mov eax, dword [esp + 0x18]
or dword [esi + 0x1474], eax
cmp bl, 0xd
je 0x71ad1895
movzx eax, bl
movzx eax, byte [eax + 0x627b430]
movzx eax, byte [eax + 0x627b710]
shr eax, 2
cmp dword [esp + 0x28], eax
je 0x71ad1895
call fcn.71b21586
jmp 0x71ad1895
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jmp 0x71ad8d5d
push 0
push ebx
call fcn.71ac898e
movzx edx, byte [esp + 0x13]
cmp eax, edx
jbe 0x71adc6c5
jmp 0x71ad1895
push 8
jmp 0x71ad2c6e
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
jmp 0x71ad8d5d
cmp ecx, 5
jne 0x71b30e50
push eax
push 3
push 0xa
jmp 0x71b01306
movzx eax, cl
cmp byte [eax + 0x627b430], 8
jne 0x71ad66f1
cmp byte [eax + 0x627b710], 4
jae 0x71ad66f1
push 3
pop edx
jmp 0x71ae5bf2
cmp dl, 0x55
je 0x71ae940a
cmp dl, 0x41
je 0x71ae940a
call fcn.71b21586
mov eax, dword [esp + 0x24]
jmp 0x71ae940a
mov ah, byte [eax]
and ah, 0x1f
mov al, ah
sub al, 2
cmp al, 2
ja 0x71b309e5
push esi
mov bl, cl
mov dword [ebp + 0xc], ecx
mov ecx, dword [esp + 0x2c]
push 0x10
mov byte [esp + 0x28], bl
call fcn.71adc68e
mov edx, dword [ebp + 0xc]
push 3
pop ecx
jmp 0x71af7003
mov cl, byte [esp + 0xf]
cmp cl, 8
je 0x71b1848e
cmp cl, 3
jne 0x71b3096b
imul ecx, dword [eax + 0x24], 0x60
add ecx, dword [esi + 0x1c]
mov dword [esp + 0x34], ecx
test byte [ecx + 4], 0x20
je 0x71b30978
test byte [ecx + 2], 8
jne 0x71b30978
mov edx, dword [ecx + 8]
movzx eax, byte [ecx + 0xc]
add eax, edx
mov dword [esp + 0x28], edx
cmp edx, eax
jae 0x71ad18cc
imul edi, edx, 0x60
mov eax, dword [esi + 0x1c]
test byte [eax + edi + 1], 0x40
je 0x71b184f6
test ebx, ebx
je 0x71b184f6
movzx eax, word [eax + edi + 0x1e]
mov ecx, esi
push dword [eax*8 + 0x627b814]
push dword [eax*8 + 0x627b810]
push ebx
call fcn.71ad387a
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 0x71b184c5
mov edi, dword [ebp + 0x10]
jmp 0x71ad18cc
mov al, byte [ebx + 0x34]
test al, al
je 0x71b18bda
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 0x71b18bc7
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.71acb146
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 0x71b18c42
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.71acb146
mov ecx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x71b18c26
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 0x71b18c01
movzx ecx, byte [ecx + 0x35]
call fcn.71afe425
test al, al
je 0x71b30e5a
mov eax, dword [esp + 0x34]
jmp 0x71ad1b1b
call fcn.71b21586
mov eax, dword [ebp + 8]
jmp 0x71b1848e
call fcn.71b21586
mov ecx, dword [esp + 0x34]
jmp 0x71b184ad
call fcn.71b21586
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x71ad0f4b
call fcn.71b21586
mov edx, dword [ebp + 0xc]
jmp 0x71ae7fe8
call fcn.71b21586
mov edx, dword [esp + 0x24]
jmp 0x71ae899a
call fcn.71b21586
mov edx, dword [esp + 0x24]
jmp 0x71ae89a4
push dword [esi + 0x146c]
push edx
push ecx
mov ecx, esi
call fcn.71ae67b2
jmp 0x71ae8a0d
call fcn.71b21586
mov edx, dword [ebp + 0xc]
push 3
pop ecx
jmp 0x71af6fb1
sub ah, 5
cmp ah, 2
ja 0x71af7003
mov eax, dword [esp + 0x28]
test byte [eax + 1], 0x40
je 0x71b30a05
cmp dword [eax + 0x10], 8
jne 0x71af7003
cmp bl, cl
je 0x71b30a0f
mov bl, 8
mov byte [esp + 0x20], bl
mov edx, ecx
jmp 0x71af7003
mov al, byte [eax + 0x627b6d8]
jmp 0x71ad8d34
call fcn.71b21586
jmp 0x71ad8d79
call fcn.71b21586
jmp 0x71b0a059
call fcn.71b21586
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
jmp 0x71ad2ac2
movzx eax, byte [ebx + 1]
mov edi, dword [eax*4 + 0x627cdd0]
mov eax, edi
not eax
jmp 0x71ad2afd
call fcn.71b21586
mov eax, dword [esp + 0x40]
jmp 0x71ae2a7f
cmp cl, 0x55
je 0x71ae2a9c
cmp cl, 0x41
je 0x71ae2a9c
call fcn.71b21586
mov eax, dword [esp + 0x40]
jmp 0x71ae2a9c
xor ecx, ecx
jmp 0x71ad2b52
xor ecx, ecx
jmp 0x71ad2bd8
call fcn.71b21586
jmp 0x71ad2cc4
or edx, ebx
mov ecx, esi
or edx, edi
push edx
push 3
push 8
call fcn.71ad16ec
or ebx, eax
jmp 0x71b18c53
call fcn.71b21586
xor eax, eax
jmp 0x71b09096
call fcn.71b21586
jmp 0x71acb478
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 0x71acb4bb
call fcn.71b21586
mov ecx, dword [esp + 0x30]
jmp 0x71ad2807
call fcn.71b21571
int3