Function at 0x10003fe0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebx, edx
mov esi, dword [edi + 0x1b4]
movzx ecx, byte [ebx + 8]
mov ebp, dword [esi + eax*4]
cmp ecx, 0x2f
ja case.0x10004009.1
movzx eax, byte [ecx + 0x100047c0]
jmp dword [eax*4 + 0x1000475c]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
cmp esi, 0x10
jg 0x10004649
lea eax, [esi + esi*2]
mov dword [ebp + 0xa4], esi
shl eax, 5
lea edi, [ebp + 0x128]
add edi, eax
test esi, esi
je 0x10004143
nop word [eax + eax]
movzx edx, byte [ebx]
lea ebx, [ebx + 1]
and edx, 0x1f
dec esi
lea ecx, [edx - 5]
mov dword [edi], ecx
movzx eax, byte [ebx - 1]
shr eax, 5
mov dword [edi + 4], eax
test ecx, ecx
je 0x10004649
cmp edx, 2
jl 0x10004649
cmp edx, 0xd
jle 0x10004078
cmp edx, 0x16
jl 0x10004649
cmp edx, 0x17
jg 0x10004649
test dword [ebp + 0x1c], 0x40000004
je 0x10004093
cmp edx, 5
jl 0x10004649
sub edi, 0x60
test esi, esi
jne 0x10004040
pop edi
lea eax, [esi + 1]
pop esi
pop ebp
pop ebx
ret
mov esi, dword [ebx]
mov eax, esi
mov edi, dword [ebx + 4]
mov ecx, dword [ebp + 0x1c]
cdq
sub eax, edx
mov edx, dword [ebp + 0xa4]
mov ebx, eax
sar ebx, 1
and ecx, 0x40000004
cmovne ebx, esi
cmp ebx, edx
jg 0x10004649
lea esi, [ebp + 0x188]
mov ecx, esi
test edx, edx
je 0x100040f6
nop word [eax + eax]
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
add ecx, 0x60
sub edx, 1
jne 0x100040e0
sub ecx, 0x60
cmp ecx, esi
jb 0x10004143
nop dword [eax]
mov eax, ebx
dec ebx
test eax, eax
je 0x10004143
movsx edx, byte [edi]
shl edx, 3
test edx, edx
jle 0x10004119
lea eax, [edx + 0x40]
sar eax, 7
add edx, eax
mov dword [ecx + 8], edx
inc edi
test dword [ebp + 0x1c], 0x40000004
jne 0x1000413c
movsx edx, byte [edi]
shl edx, 3
test edx, edx
jle 0x10004138
lea eax, [edx + 0x40]
sar eax, 7
add edx, eax
mov dword [ecx + 0xc], edx
inc edi
sub ecx, 0x60
cmp ecx, esi
jae 0x10004100
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov ecx, ebp
pop ebp
pop ebx
jmp 0x10007050
pop edi
pop esi
mov ecx, ebp
pop ebp
pop ebx
jmp 0x10007830
pop edi
pop esi
mov ecx, ebp
pop ebp
pop ebx
jmp 0x100079c0
pop edi
pop esi
mov ecx, ebp
pop ebp
pop ebx
jmp 0x10006e60
cmp dword [ebx], 4
jne 0x10004649
mov ecx, dword [ebx + 4]
pop edi
pop esi
movzx eax, byte [ecx]
mov byte [ebp + 0x140], al
movzx eax, byte [ecx + 1]
mov byte [ebp + 0x141], al
movzx eax, byte [ecx + 2]
mov byte [ebp + 0x142], al
movzx eax, byte [ecx + 3]
mov byte [ebp + 0x143], al
mov eax, 1
pop ebp
pop ebx
ret
cmp dword [ebx], 4
jne 0x10004649
mov ecx, dword [ebx + 4]
pop edi
pop esi
movzx eax, byte [ecx]
mov byte [ebp + 0x13c], al
movzx eax, byte [ecx + 1]
mov byte [ebp + 0x13d], al
movzx eax, byte [ecx + 2]
mov byte [ebp + 0x13e], al
movzx eax, byte [ecx + 3]
mov byte [ebp + 0x13f], al
mov eax, 1
pop ebp
pop ebx
ret
mov esi, dword [ebx]
xor ecx, ecx
mov ebx, dword [ebx + 4]
xor edx, edx
test esi, esi
je 0x10004649
cmp esi, 7
jg 0x10004649
cmp dword [edi + 0x1c], ecx
jne 0x10004143
movzx eax, byte [ebx]
lea ebp, [ebx + 1]
cmp esi, 6
jl 0x1000427d
movzx edx, byte [ebx + 2]
and edx, 0xf
shl edx, 8
or edx, eax
inc edx
mov dword [edi + 0x1c], edx
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebp]
and ecx, 0xf0
shl ecx, 4
or eax, ecx
mov dword [esp + 0x14], edx
inc eax
mov dword [edi + 0x1ac], eax
cmp edx, eax
jb 0x10004649
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 3]
shl eax, 8
or edx, eax
movzx eax, byte [ebx + 5]
shl eax, 0x10
or edx, eax
cmp esi, 7
jne 0x100042b9
movzx eax, byte [ebx + 6]
shl eax, 0x18
or edx, eax
jmp 0x100042b9
mov dword [esp + 0x14], eax
mov dword [edi + 0x1c], eax
sub esi, 1
je 0x100042aa
nop dword [eax]
movzx eax, byte [ebp]
lea ebp, [ebp + 1]
shl eax, cl
add ecx, 8
or edx, eax
sub esi, 1
jne 0x10004290
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x14], eax
cmp eax, 8
jle 0x100042b9
mov dword [edi + 0x1ac], eax
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x1ac]
add eax, eax
cmp dword [esp + 0x14], eax
jg 0x10004649
xor eax, eax
mov dword [edi + 0x30], edx
test edx, edx
je 0x10004143
mov ecx, edx
test dl, 1
je 0x100042e9
inc eax
cmp eax, dword [edi + 0x1c]
jg 0x10004649
shr edx, 1
cmp ecx, 2
jae 0x100042d8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov edx, dword [ebx + 4]
test edx, edx
je 0x10004649
mov ecx, dword [ebx]
test ecx, ecx
je 0x10004649
xor eax, eax
test ecx, ecx
jle 0x10004324
cmp byte [eax + edx], 0
je 0x10004649
inc eax
cmp eax, ecx
jl 0x10004315
cmp dword [edi + 0x1c4], 0
jne 0x1000435f
xor eax, eax
add ecx, 1
setb al
neg eax
or eax, ecx
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [ebx]
push esi
push dword [ebx + 4]
mov dword [edi + 0x1c4], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 0x1c4]
add esp, 0x10
mov byte [esi + eax], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov esi, dword [ebx]
mov edx, dword [ebx + 4]
cmp esi, 3
jl case.0x10004009.0
movzx ecx, byte [edi + 0x14]
mov dword [edi + 0x14], ecx
movzx eax, byte [edx]
shl eax, 8
or ecx, eax
mov dword [edi + 0x14], ecx
movzx eax, byte [edx + 1]
shl eax, 0x10
or ecx, eax
mov dword [edi + 0x14], ecx
movzx eax, byte [edx + 2]
add edx, 3
shl eax, 0x18
or ecx, eax
mov dword [edi + 0x14], ecx
sub esi, 3
je case.0x10004009.0
test ecx, 0x2000000
je 0x100043bd
movzx eax, byte [edx]
inc edx
mov dword [edi + 0x18], eax
dec esi
test esi, esi
je case.0x10004009.0
mov ecx, dword [edi + 0x10]
movzx eax, byte [edx]
and ecx, 0xffffff00
or ecx, eax
mov dword [edi + 0xcc], 1
mov dword [edi + 0x10], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret
mov eax, dword [edi + 0x1c0]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [edi + 0xcc], 1
mov dword [edi + 0x1c8], 0
mov dword [edi + 0x10], 0
mov byte [edi + 0x1bc], 0
test eax, eax
je 0x1000442f
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [edi + 0x1c0], 0
cmp esi, 2
jl 0x100044ec
mov al, byte [ebx]
mov ecx, dword [edi + 0x10]
mov byte [edi + 0x1bc], al
and ecx, 0xffffff00
movzx eax, byte [ebx + 1]
or ecx, eax
mov dword [edi + 0x10], ecx
sub esi, 2
je 0x100044ec
movzx ecx, byte [ebx + 2]
shl ecx, 0x10
mov dword [edi + 0x1c8], ecx
sub esi, 1
je 0x100044e1
movzx ebp, byte [ebx + 3]
add ebx, 4
lea eax, [ecx + ebp]
mov dword [edi + 0x1c8], eax
sub esi, 1
je 0x100044ec
cmp esi, ebp
jg 0x10004649
push ebp
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [edi + 0x1c0], eax
test eax, eax
je 0x100044ec
xor edx, edx
test ebp, ebp
je 0x100044ec
test esi, esi
je 0x100044c9
mov ecx, dword [edi + 0x1c0]
mov al, byte [ebx]
inc ebx
mov byte [edx + ecx], al
mov ecx, dword [edi + 0x1c0]
movzx eax, byte [ecx + edx]
cmp eax, ebp
jb 0x100044c6
mov byte [ecx + edx], 0
dec esi
jmp 0x100044d2
mov eax, dword [edi + 0x1c0]
mov byte [edx + eax], dl
inc edx
cmp edx, ebp
jl 0x100044a4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov eax, dword [edi + 0x1c]
add eax, ecx
mov dword [edi + 0x1c8], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov esi, dword [ebx]
cmp esi, 3
je 0x10004506
cmp esi, 4
jne case.0x10004009.0
mov ecx, dword [ebx + 4]
movzx edx, byte [ecx]
mov dword [edi + 0x2c], edx
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
mov dword [edi + 0x2c], edx
movzx eax, byte [ecx + 2]
shl eax, 0x10
or edx, eax
mov dword [edi + 0x2c], edx
cmp esi, 4
jne case.0x10004009.0
movzx eax, byte [ecx + 3]
and eax, 0x7f
shl eax, 0x18
or eax, edx
mov dword [edi + 0x2c], eax
lea eax, [esi - 3]
pop edi
pop esi
pop ebp
pop ebx
ret
mov edx, dword [ebx]
test edx, edx
je 0x10004649
test dl, 1
jne 0x10004649
mov ecx, dword [ebx + 4]
pop edi
pop esi
mov dword [ebp + 0xf0], 0
lea eax, [ecx - 2]
mov dword [ebp + 0xf4], 0
mov dword [ebp + 0xe4], eax
lea eax, [ecx + edx]
mov dword [ebp + 0xe0], eax
mov eax, 1
mov dword [ebp + 0xec], 0
mov dword [ebp + 0xdc], ecx
mov dword [ebp + 0xe8], 0x10003f90
pop ebp
pop ebx
ret
mov edx, dword [ebx]
test edx, edx
je 0x10004649
test dl, 1
jne 0x10004649
mov ecx, dword [ebx + 4]
pop edi
pop esi
mov dword [ebp + 0x10c], 0
lea eax, [ecx - 2]
mov dword [ebp + 0x110], 0
mov dword [ebp + 0x100], eax
lea eax, [ecx + edx]
mov dword [ebp + 0xfc], eax
mov eax, 1
mov dword [ebp + 0x108], 0
mov dword [ebp + 0xf8], ecx
mov dword [ebp + 0x104], 0x10003f90
pop ebp
pop ebx
ret
pop edi
pop esi
mov ecx, ebp
pop ebp
pop ebx
jmp 0x10004cf0
movups xmm0, xmmword [str.not_configured_to_handle_DSD_WavPack_files_]
movups xmmword [edi + 0x1e0], xmm0
movups xmm0, xmmword [0x1000da10]
movups xmmword [edi + 0x1f0], xmm0
movq xmm0, qword [0x1000da20]
movq qword [edi + 0x200], xmm0
mov eax, dword [0x1000da28]
mov dword [edi + 0x208], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
test dword [edi + 0xbc], 0x400
je case.0x10004009.0
test byte [edi + 0xbc], 4
je 0x100046b2
mov ecx, dword [edi + 0x60]
cmp ecx, 0x1000000
jae 0x100046b2
mov edx, dword [ebx]
test edx, edx
je 0x100046b2
xor eax, eax
add ecx, edx
setb al
neg eax
or eax, ecx
push eax
push dword [edi + 0x5c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov ecx, eax
add esp, 8
mov dword [edi + 0x5c], ecx
test ecx, ecx
je 0x10004649
mov esi, dword [ebx]
mov eax, dword [edi + 0x60]
push esi
push dword [ebx + 4]
add eax, ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [edi + 0x60], esi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
test dword [edi + 0xbc], 0x400
je case.0x10004009.0
cmp dword [ebx], 0x10
jne case.0x10004009.0
mov eax, dword [ebx + 4]
movups xmm0, xmmword [eax]
or dword [edi + 0x14], 0x8000000
mov eax, 1
mov byte [edi + 0x44], 1
movups xmmword [edi + 0x34], xmm0
pop edi
pop esi
pop ebp
pop ebx
ret
mov eax, dword [ebx]
test eax, eax
je case.0x10004009.0
cmp eax, 8
jae case.0x10004009.0
xor ebp, ebp
xor esi, esi
test eax, eax
jle 0x10004728
nop
mov eax, dword [ebx + 4]
movsx eax, byte [eax + esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
je 0x10004723
mov eax, dword [ebx + 4]
mov al, byte [esi + eax]
mov byte [edi + ebp + 0x1d4], al
inc ebp
inc esi
cmp esi, dword [ebx]
jl 0x10004700
mov byte [edi + ebp + 0x1d4], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov dword [edi + 0xcc], 1
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret
pop edi
pop esi
shr ecx, 5
and ecx, 1
pop ebp
mov eax, ecx
pop ebx
ret
sub esp, 8
mov eax, edx
push ebx
push esi
mov esi, ecx
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 8], ecx
push edi
mov edi, ecx
cmp ebx, 4
jle 0x10004fab
test bl, 1
jne 0x10004fab
movzx eax, byte [edi]
mov dword [esi + 0xd8], eax
movzx edx, byte [edi + 1]
shl edx, 8
or edx, eax
mov dword [esi + 0xd8], edx
movzx ecx, byte [edi + 2]
shl ecx, 0x10
or ecx, edx
mov dword [esi + 0xd8], ecx
movzx eax, byte [edi + 3]
add edi, 4
shl eax, 0x18
or eax, ecx
mov dword [esi + 0xd8], eax
push ebp
lea ebp, [esi + 0x114]
lea eax, [edi - 2]
mov dword [ebp + 0x14], 0
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x10]
add eax, ebx
mov dword [ebp + 0x18], 0
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x10], 0
mov dword [ebp], edi
mov dword [ebp + 0xc], 0x10003f90
cmp byte [eax + 8], 0x2c
jne 0x10004f9e
test byte [esi + 0x1c], 0x80
lea edi, [esi + 0x12c]
mov ecx, dword [esi + 0x128]
je 0x10004f01
cmp ecx, 5
jge 0x10004e06
mov edx, dword [esi + 0x11c]
nop dword [eax + eax]
add edx, 2
mov dword [esi + 0x11c], edx
cmp edx, dword [esi + 0x118]
jne 0x10004de3
mov eax, dword [esi + 0x120]
push ebp
call eax
mov edx, dword [esi + 0x11c]
add esp, 4
movzx eax, word [edx]
mov ecx, dword [esi + 0x128]
shl eax, cl
add ecx, 0x10
or dword [edi], eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov dword [esi + 0x128], ecx
cmp ecx, 5
jl 0x10004dc0
jmp 0x10004e0c
mov al, byte [edi]
mov dword [esp + 0x10], eax
mov byte [esi + 0x146], al
lea edx, [ecx - 5]
mov dword [esi + 0x128], edx
cmp ecx, 0x20
jle 0x10004e3a
mov eax, dword [esi + 0x11c]
mov ecx, 0x10
sub cl, dl
movzx ebx, word [eax]
mov eax, dword [esp + 0x10]
shr ebx, cl
mov dword [edi], ebx
jmp 0x10004e3f
shr dword [edi], 5
mov ebx, dword [edi]
and al, 0x1f
mov byte [esi + 0x146], al
cmp edx, 5
jge 0x10004ea0
mov edx, dword [esi + 0x11c]
nop dword [eax]
nop word [eax + eax]
add edx, 2
mov dword [esi + 0x11c], edx
cmp edx, dword [esi + 0x118]
jne 0x10004e83
mov eax, dword [esi + 0x120]
push ebp
call eax
mov edx, dword [esi + 0x11c]
add esp, 4
mov ecx, dword [esi + 0x128]
movzx ebx, word [edx]
shl ebx, cl
or ebx, dword [edi]
lea eax, [ecx + 0x10]
mov dword [edi], ebx
mov dword [esi + 0x128], eax
cmp eax, 5
jl 0x10004e60
mov eax, dword [esi + 0x128]
mov byte [esi + 0x145], bl
lea edx, [eax - 5]
mov dword [esi + 0x128], edx
cmp eax, 0x20
jle 0x10004ee4
mov eax, dword [esi + 0x11c]
mov ecx, 0x10
sub cl, dl
pop ebp
movzx eax, word [eax]
shr eax, cl
and bl, 0x1f
mov dword [edi], eax
mov eax, 1
pop edi
mov byte [esi + 0x145], bl
pop esi
pop ebx
add esp, 8
ret
mov eax, ebx
shr eax, 5
and bl, 0x1f
pop ebp
mov dword [edi], eax
mov eax, 1
pop edi
mov byte [esi + 0x145], bl
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 5
jge 0x10004f52
mov edx, dword [esi + 0x11c]
nop dword [eax]
add edx, 2
mov dword [esi + 0x11c], edx
cmp edx, dword [esi + 0x118]
jne 0x10004f33
mov eax, dword [esi + 0x120]
push ebp
call eax
mov edx, dword [esi + 0x11c]
add esp, 4
movzx eax, word [edx]
mov ecx, dword [esi + 0x128]
shl eax, cl
add ecx, 0x10
or dword [edi], eax
mov ebx, dword [edi]
mov dword [esi + 0x128], ecx
cmp ecx, 5
jl 0x10004f10
jmp 0x10004f54
mov bl, byte [edi]
mov byte [esi + 0x144], bl
lea edx, [ecx - 5]
mov dword [esi + 0x128], edx
cmp ecx, 0x20
jle 0x10004f92
mov eax, dword [esi + 0x11c]
mov ecx, 0x10
sub cl, dl
pop ebp
movzx eax, word [eax]
shr eax, cl
and bl, 0x1f
mov dword [edi], eax
mov eax, 1
pop edi
mov byte [esi + 0x144], bl
pop esi
pop ebx
add esp, 8
ret
shr dword [edi], 5
and bl, 0x1f
mov byte [esi + 0x144], bl
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 8
ret
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
push ebp
mov ebp, dword [edx]
push edi
mov edi, ecx
cmp ebp, 2
jne 0x10006ead
mov ecx, dword [edx + 4]
movsx edx, byte [ecx]
shl edx, 3
test edx, edx
jle 0x10006e80
lea eax, [edx + 0x40]
sar eax, 7
add edx, eax
shl edx, 0x10
mov dword [edi + 0x148], edx
movsx ecx, byte [ecx + 1]
shl ecx, 3
test ecx, ecx
jle 0x10006e9c
lea eax, [ecx + 0x40]
sar eax, 7
add ecx, eax
shl ecx, 0x10
mov eax, 1
mov dword [edi + 0x14c], ecx
pop edi
pop ebp
ret
push ebx
mov ebx, dword [edi + 0x1c]
mov eax, 0
and ebx, 0x40000004
sete al
lea eax, [eax*4 + 4]
cmp ebp, eax
jl 0x10007048
push esi
mov esi, dword [edx + 4]
mov eax, pe_nt_image_headers32
cwde
movzx ecx, byte [esi + 1]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x10006efa
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10006f24
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x10006f1c
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10006f24
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [edi + 0x158], eax
mov edx, pe_nt_image_headers32
movzx ecx, byte [esi + 3]
movsx ecx, cx
movsx eax, dx
imul ecx, eax
movzx eax, byte [esi + 2]
add cx, ax
movsx ecx, cx
jns 0x10006f58
neg ecx
call fcn.100077d0
neg eax
mov edx, pe_nt_image_headers32
jmp 0x10006f89
movzx eax, cl
sar ecx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ecx, 9
jg 0x10006f81
mov edx, 9
sub edx, ecx
mov ecx, edx
mov edx, pe_nt_image_headers32
shr eax, cl
jmp 0x10006f89
add ecx, 0xfffffff7
and ecx, 0x1f
shl eax, cl
add esi, 4
mov dword [edi + 0x148], eax
test ebx, ebx
jne 0x10006fdf
movzx ecx, byte [esi + 1]
movsx ecx, cx
movsx eax, dx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx ecx, cx
call fcn.100077d0
mov dword [edi + 0x15c], eax
mov eax, pe_nt_image_headers32
movzx ecx, byte [esi + 3]
movsx ecx, cx
cwde
imul ecx, eax
movzx eax, byte [esi + 2]
add cx, ax
movsx ecx, cx
call fcn.100077d0
mov dword [edi + 0x14c], eax
add esi, 4
test ebx, ebx
mov eax, 0xc
mov ecx, 6
cmovne eax, ecx
cmp ebp, eax
jne 0x1000703e
movzx ecx, byte [esi + 1]
mov ebp, pe_nt_image_headers32
movsx ecx, cx
movsx eax, bp
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx ecx, cx
call fcn.100077d0
mov dword [edi + 0x150], eax
test ebx, ebx
jne 0x1000703e
movzx ecx, byte [esi + 3]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
movzx eax, byte [esi + 2]
add cx, ax
movsx ecx, cx
call fcn.100077d0
mov dword [edi + 0x154], eax
pop esi
pop ebx
pop edi
mov eax, 1
pop ebp
ret
pop ebx
pop edi
xor eax, eax
pop ebp
ret
sub esp, 0xc
push ebx
mov ebx, dword [edx]
lea eax, [ecx + 0x188]
push ebp
push esi
mov esi, dword [edx + 4]
mov ebp, eax
push edi
mov edi, dword [ecx + 0xa4]
add ebx, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
test edi, edi
je 0x1000709c
nop dword [eax]
push 0x40
lea eax, [ebp + 0x10]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
add ebp, 0x60
sub edi, 1
jne 0x10007080
mov ecx, dword [esp + 0x10]
mov eax, 0x402
mov edi, pe_nt_image_headers32
cmp word [ecx + 0xc], ax
jne 0x10007195
mov eax, dword [ecx + 0x1c]
test al, 8
je 0x10007195
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
add eax, esi
cmp eax, ebx
ja 0x10007578
movzx ecx, byte [esi + 1]
movsx eax, di
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x100070f9
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10007123
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x1000711b
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007123
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
add esi, 2
mov dword [ecx + 0x158], eax
test dword [ecx + 0x1c], 0x40000004
jne 0x10007195
movzx ecx, byte [esi + 1]
movsx eax, di
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x1000715e
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10007188
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x10007180
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007188
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
add esi, 2
mov dword [ecx + 0x15c], eax
lea edx, [ecx + 0x188]
cmp ebp, edx
jbe 0x10007563
mov edx, ebx
lea eax, [ecx + 0x188]
nop dword [eax + eax]
sub ebp, 0x60
cmp esi, edx
jae 0x1000755f
mov ebx, dword [ebp]
cmp ebx, 8
jle 0x1000737f
mov eax, dword [ecx + 0x1c]
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 8
add eax, esi
cmp eax, edx
ja 0x10007578
movzx ecx, byte [esi + 1]
movsx eax, di
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x10007208
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10007232
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x1000722a
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007232
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [ebp + 0x10], eax
movzx ecx, byte [esi + 3]
movsx eax, di
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + 2]
add cx, ax
movsx edx, cx
jns 0x1000725b
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10007285
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x1000727d
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007285
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
add esi, 4
mov dword [ebp + 0x14], eax
test dword [ecx + 0x1c], 0x40000004
jne 0x10007572
movzx ecx, byte [esi + 1]
movsx eax, di
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x100072c1
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x100072eb
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x100072e3
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x100072eb
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [ebp + 0x30], eax
movzx ecx, byte [esi + 3]
movsx eax, di
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + 2]
add cx, ax
movsx edx, cx
jns 0x10007329
neg edx
mov ecx, edx
call fcn.100077d0
mov ecx, dword [esp + 0x10]
neg eax
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x34], eax
mov eax, dword [esp + 0x18]
jmp 0x10007557
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x10007360
mov ecx, 9
sub ecx, edx
mov edx, dword [esp + 0x14]
shr eax, cl
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x34], eax
mov eax, dword [esp + 0x18]
jmp 0x10007557
lea ecx, [edx - 9]
mov edx, dword [esp + 0x14]
and ecx, 0x1f
shl eax, cl
add esi, 4
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x34], eax
mov eax, dword [esp + 0x18]
jmp 0x10007557
test ebx, ebx
jns 0x10007451
lea edi, [esi + 4]
cmp edi, edx
ja 0x10007578
movzx ecx, byte [esi + 1]
mov ebx, pe_nt_image_headers32
movsx eax, bx
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x100073bc
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x100073e6
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x100073de
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x100073e6
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [ebp + 0x10], eax
movzx ecx, byte [esi + 3]
movsx eax, bx
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + 2]
add cx, ax
movsx edx, cx
jns 0x1000740f
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10007439
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x10007431
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007439
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
mov esi, edi
mov edx, dword [esp + 0x14]
mov edi, ebx
mov dword [ebp + 0x30], eax
mov eax, dword [esp + 0x18]
jmp 0x10007557
je 0x10007557
lea edi, [ebp + 0x30]
nop word [eax + eax]
mov eax, dword [ecx + 0x1c]
dec ebx
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
add eax, esi
cmp eax, edx
ja 0x10007578
movzx ecx, byte [esi + 1]
mov eax, pe_nt_image_headers32
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x100074a5
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x100074cf
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x100074c7
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x100074cf
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
add esi, 2
mov dword [edi - 0x20], eax
test dword [ecx + 0x1c], 0x40000004
jne 0x1000753d
movzx ecx, byte [esi + 1]
mov eax, pe_nt_image_headers32
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx edx, cx
jns 0x1000750a
neg edx
mov ecx, edx
call fcn.100077d0
neg eax
jmp 0x10007534
movzx eax, dl
sar edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
jg 0x1000752c
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007534
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov ecx, dword [esp + 0x10]
add esi, 2
mov dword [edi], eax
mov edx, dword [esp + 0x14]
add edi, 4
test ebx, ebx
jne 0x10007460
mov edi, pe_nt_image_headers32
lea eax, [ecx + 0x188]
cmp ebp, eax
ja 0x100071b0
mov ebx, dword [esp + 0x14]
pop edi
xor eax, eax
cmp esi, ebx
pop esi
pop ebp
sete al
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 0x14]
jmp 0x10007551
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
push esi
mov esi, ecx
push edi
mov edi, dword [edx + 4]
mov eax, dword [esi + 0x1c]
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0xc
cmp dword [edx], eax
je 0x10007852
pop edi
xor eax, eax
pop esi
ret
movzx eax, byte [edi]
mov edx, 9
push ebx
movzx ebx, byte [edi + 1]
shl ebx, 8
add ebx, eax
movzx eax, bl
shr ebx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ebx, edx
ja 0x10007882
mov ecx, edx
sub ecx, ebx
shr eax, cl
jmp 0x1000788a
lea ecx, [ebx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [esi + 0x48], eax
movzx ebx, byte [edi + 3]
movzx eax, byte [edi + 2]
shl ebx, 8
add ebx, eax
movzx eax, bl
shr ebx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ebx, edx
ja 0x100078b8
mov ecx, edx
sub ecx, ebx
shr eax, cl
jmp 0x100078c0
lea ecx, [ebx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [esi + 0x4c], eax
movzx ebx, byte [edi + 5]
movzx eax, byte [edi + 4]
shl ebx, 8
add ebx, eax
movzx eax, bl
shr ebx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ebx, edx
ja 0x100078ee
mov ecx, edx
sub ecx, ebx
shr eax, cl
jmp 0x100078f6
lea ecx, [ebx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [esi + 0x50], eax
test dword [esi + 0x1c], 0x40000004
jne 0x100079b2
movzx ebx, byte [edi + 7]
movzx eax, byte [edi + 6]
shl ebx, 8
add ebx, eax
movzx eax, bl
shr ebx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ebx, edx
ja 0x10007931
mov ecx, edx
sub ecx, ebx
shr eax, cl
jmp 0x10007939
lea ecx, [ebx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [esi + 0x5c], eax
movzx ebx, byte [edi + 9]
movzx eax, byte [edi + 8]
shl ebx, 8
add ebx, eax
movzx eax, bl
shr ebx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ebx, edx
ja 0x10007967
mov ecx, edx
sub ecx, ebx
shr eax, cl
jmp 0x1000796f
lea ecx, [ebx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [esi + 0x60], eax
movzx ecx, byte [edi + 0xb]
movzx eax, byte [edi + 0xa]
shl ecx, 8
add ecx, eax
movzx eax, cl
shr ecx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp ecx, edx
ja 0x100079a7
sub edx, ecx
mov ecx, edx
pop ebx
shr eax, cl
mov dword [esi + 0x64], eax
mov eax, 1
pop edi
pop esi
ret
add ecx, 0xfffffff7
and ecx, 0x1f
shl eax, cl
mov dword [esi + 0x64], eax
pop ebx
pop edi
mov eax, 1
pop esi
ret
push ebx
mov ebx, dword [edx]
push esi
mov esi, dword [edx + 4]
add ebx, esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x1c]
test eax, 0x200
je 0x10007a4f
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
add eax, esi
cmp eax, ebx
ja 0x10007b0d
movzx edx, byte [esi + 1]
movzx eax, byte [esi]
shl edx, 8
add edx, eax
movzx eax, dl
shr edx, 8
movzx eax, byte [eax + 0x1000d438]
or eax, 0x100
cmp edx, 9
ja 0x10007a1d
mov ecx, 9
sub ecx, edx
shr eax, cl
jmp 0x10007a25
lea ecx, [edx - 9]
and ecx, 0x1f
shl eax, cl
mov dword [edi + 0x54], eax
add esi, 2
mov eax, dword [edi + 0x1c]
test eax, 0x40000004
jne 0x10007a4f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
shl ecx, 8
add ecx, eax
call fcn.100077d0
mov dword [edi + 0x68], eax
add esi, 2
mov eax, dword [edi + 0x1c]
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
add eax, esi
cmp eax, ebx
ja 0x10007b0d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
add esi, 2
shl ecx, 8
add ecx, eax
shl ecx, 0x10
mov dword [edi + 0x2c], ecx
test dword [edi + 0x1c], 0x40000004
jne 0x10007a9b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
shl ecx, 8
add ecx, eax
shl ecx, 0x10
add esi, 2
mov dword [edi + 0x30], ecx
cmp esi, ebx
jae 0x10007b13
mov eax, dword [edi + 0x1c]
and eax, 0x40000004
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
add eax, esi
cmp eax, ebx
ja 0x10007b0d
movzx ecx, byte [esi + 1]
push ebp
movsx ecx, cx
mov ebp, pe_nt_image_headers32
movsx eax, bp
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx ecx, cx
call fcn.100077d0
mov dword [edi + 0x24], eax
add esi, 2
test dword [edi + 0x1c], 0x40000004
jne 0x10007b08
movzx ecx, byte [esi + 1]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
movzx eax, byte [esi]
add cx, ax
movsx ecx, cx
call fcn.100077d0
mov dword [edi + 0x28], eax
add esi, 2
pop ebp
cmp esi, ebx
jae 0x10007b21
pop edi
pop esi
xor eax, eax
pop ebx
ret
mov dword [edi + 0x28], 0
mov dword [edi + 0x24], 0
pop edi
pop esi
mov eax, 1
pop ebx
ret