Function at 0x4679a1
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x474349
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c6b0c]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
cmp ebx, 0x1f
jbe 0x4675db
add ebx, 0xffffffe0
shr ebx, 5
lea edx, [edi + 0x18]
inc ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea ebx, [edx + 8]
mov ebp, edx
cmp edx, ebx
jae 0x467560
mov bl, byte [esi + ebp]
mov byte [eax + ecx], bl
inc ebp
lea ebx, [edx + 8]
inc eax
cmp ebp, ebx
jb 0x467551
lea ebx, [edx - 8]
mov dword [esp + 0x14], ebx
mov ebp, ebx
cmp ebx, edx
jae 0x467580
lea ecx, [ecx]
mov bl, byte [esi + ebp]
mov byte [eax + ecx], bl
inc ebp
inc eax
cmp ebp, edx
jb 0x467570
mov ebx, dword [esp + 0x14]
add edx, 0xfffffff0
mov dword [esp + 0x14], edx
mov ebp, edx
cmp edx, ebx
jae 0x4675a0
lea ecx, [ecx]
mov dl, byte [esi + ebp]
mov byte [eax + ecx], dl
inc ebp
inc eax
cmp ebp, ebx
jb 0x467590
mov edx, dword [esp + 0x14]
mov ebp, edi
cmp edi, edx
jae 0x4675b2
mov bl, byte [esi + ebp]
mov byte [eax + ecx], bl
inc ebp
inc eax
cmp ebp, edx
jb 0x4675a6
mov edx, dword [esp + 0x38]
sub dword [esp + 0x30], 0x20
add edx, 0x20
add edi, 0x20
sub dword [esp + 0x34], 1
mov dword [esp + 0x38], edx
jne 0x467548
cmp dword [esp + 0x30], 0x1f
ja 0x467b95
mov edx, dword [esp + 0x30]
jmp dword [edx*4 + 0x467bdc]
mov dl, byte [edi + esi]
mov byte [eax + ecx], dl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, byte [edi + esi + 2]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 1]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi]
mov byte [eax + ecx + 1], dl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, byte [edi + esi + 4]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 1]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 2]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 3]
mov byte [eax + ecx + 3], dl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, byte [edi + esi + 5]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 1]
inc eax
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 2]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 3]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 4]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi]
add eax, 4
mov byte [eax + ecx], dl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, byte [edi + esi + 6]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 5]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 1]
inc eax
inc eax
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 2]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 3]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 4]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi]
add eax, 4
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 1]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 2]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 3]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 4]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 5]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 6]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 7]
mov byte [eax + ecx + 7], dl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 9]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 1]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 2]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 3]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 4]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 5]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 6]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 7]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 8]
mov byte [eax + ecx + 7], dl
movzx edx, byte [edi + esi]
add eax, 8
mov byte [eax + ecx], dl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
movzx edx, byte [edi + esi + 0xc]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 8]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 9]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0xb]
mov byte [eax + ecx + 3], dl
add eax, 4
jmp case.0x4675df.8
movzx edx, byte [edi + esi + 0xe]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0xd]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 9]
inc eax
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0xb]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0xc]
mov byte [eax + ecx + 3], dl
add eax, 4
jmp 0x467762
movzx edx, byte [edi + esi + 9]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0xb]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0xc]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0xd]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0xe]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0xf]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x10]
mov byte [eax + ecx + 7], dl
add eax, 8
movzx edx, byte [edi + esi + 8]
mov byte [eax + ecx], dl
inc eax
jmp case.0x4675df.8
movzx edx, byte [edi + esi + 0x11]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 9]
inc eax
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0xb]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0xc]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0xd]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0xe]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0xf]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x10]
mov byte [eax + ecx + 7], dl
add eax, 8
jmp 0x467762
movzx edx, byte [edi + esi + 0x12]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0x11]
inc eax
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x10]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 8]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 9]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0xb]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0xc]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0xd]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0xe]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0xf]
mov byte [eax + ecx + 7], dl
add eax, 8
jmp case.0x4675df.8
movzx edx, byte [edi + esi + 0x16]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x15]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x14]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x10]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0x11]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0x12]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0x13]
mov byte [eax + ecx + 3], dl
add eax, 4
jmp case.0x4675df.16
movzx edx, byte [edi + esi + 0x1a]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x19]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x11]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0x12]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0x13]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0x14]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0x15]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0x16]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0x17]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x18]
mov byte [eax + ecx + 7], dl
add eax, 8
jmp 0x4678fa
movzx edx, byte [edi + esi + 0x1d]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x1c]
mov byte [eax + ecx], dl
inc eax
movzx edx, byte [edi + esi + 0x18]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0x19]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0x1a]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0x1b]
mov byte [eax + ecx + 3], dl
add eax, 4
movzx edx, byte [edi + esi + 0x10]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0x11]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0x12]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0x13]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0x14]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0x15]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0x16]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x17]
mov byte [eax + ecx + 7], dl
add eax, 8
jmp case.0x4675df.16
movzx edx, byte [edi + esi + 0x1e]
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 0x1a]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 0x1b]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 0x1c]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0x1d]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0x12]
inc eax
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0x13]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0x14]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x15]
mov byte [eax + ecx + 7], dl
movzx edx, byte [edi + esi + 0x16]
mov byte [eax + ecx + 8], dl
movzx edx, byte [edi + esi + 0x17]
add eax, 4
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0x18]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x19]
mov byte [eax + ecx + 7], dl
movzx edx, byte [edi + esi + 0xa]
mov byte [eax + ecx + 8], dl
movzx edx, byte [edi + esi + 0xb]
mov byte [eax + ecx + 9], dl
movzx edx, byte [edi + esi + 0xc]
mov byte [eax + ecx + 0xa], dl
movzx edx, byte [edi + esi + 0xd]
add eax, 8
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 0xe]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 0xf]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 0x10]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 0x11]
mov byte [eax + ecx + 7], dl
movzx edx, byte [edi + esi + 2]
add eax, 8
mov byte [eax + ecx], dl
movzx edx, byte [edi + esi + 3]
mov byte [eax + ecx + 1], dl
movzx edx, byte [edi + esi + 4]
mov byte [eax + ecx + 2], dl
movzx edx, byte [edi + esi + 5]
mov byte [eax + ecx + 3], dl
movzx edx, byte [edi + esi + 6]
mov byte [eax + ecx + 4], dl
movzx edx, byte [edi + esi + 7]
mov byte [eax + ecx + 5], dl
movzx edx, byte [edi + esi + 8]
mov byte [eax + ecx + 6], dl
movzx edx, byte [edi + esi + 9]
mov byte [eax + ecx + 7], dl
add eax, 8
jmp case.0x4675df.2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.WARNING_dwgCompressor::copyCompBytes21__bad_output._n
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov dword [esp + 0x3c], 0
call fcn.00460470
mov ecx, eax
mov dword [esp + 0x3c], 0xffffffff
call fcn.004601e0
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret