Function at 0x100034a0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x40
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
test byte [0x1000b018], 8
jne 0x100036b0
mov ebx, dword [edi + 8]
cmp ebx, dword [edi + 0xc]
jb 0x100034e4
jmp 0x10003628
mov edx, dword [eax]
mov ecx, dword [esi]
cmp dword [edx], ecx
je 0x10003540
add ebx, 4
cmp dword [edi + 0xc], ebx
jbe 0x10003628
mov eax, dword [ebx]
test eax, eax
je 0x100034d8
test esi, esi
jne 0x100034d0
test byte [0x1000b018], 8
jne 0x10003568
call dword [eax + 0x18]
test eax, eax
je 0x1000351f
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov eax, dword [eax]
mov dword [esp], eax
call sym.atl110.dll_AtlRegisterClassCategoriesHelper
sub esp, 0xc
mov edx, eax
test eax, eax
js 0x10003534
mov eax, dword [ebx]
mov dword [esp], 0
call dword [eax + 4]
sub esp, 4
mov edx, eax
test eax, eax
jns 0x100034d8
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov ecx, dword [esi + 4]
cmp dword [edx + 4], ecx
jne 0x100034d8
mov ecx, dword [esi + 8]
cmp dword [edx + 8], ecx
jne 0x100034d8
mov ecx, dword [esi + 0xc]
cmp dword [edx + 0xc], ecx
jne 0x100034d8
test byte [0x1000b018], 8
je 0x100034f7
jmp 0x10003573
mov edx, dword [eax]
mov eax, section..rdata
test edx, edx
je 0x100035e0
mov eax, edx
shr eax, 0x10
je 0x10003610
movzx eax, byte [edx + 0xf]
mov dword [esp + 0x2c], eax
movzx eax, byte [edx + 0xe]
mov dword [esp + 0x28], eax
movzx eax, byte [edx + 0xd]
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 0xc]
mov dword [esp + 0x20], eax
movzx eax, byte [edx + 0xb]
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + 0xa]
mov dword [esp + 0x18], eax
movzx eax, byte [edx + 9]
mov dword [esp + 0x14], eax
movzx eax, byte [edx + 8]
mov dword [esp + 0x10], eax
movzx eax, word [edx + 6]
mov dword [esp + 0xc], eax
movzx eax, word [edx + 4]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], 0x1000d070
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Unregistering_clsid__s_n
mov dword [esp + 8], str.AtlComModuleUnregisterServer
mov dword [esp + 4], 0x1000b018
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [ebx]
jmp 0x100034f7
movzx edx, dx
mov dword [esp], 0x1000d061
mov dword [esp + 4], edx
call sym._wine_dbg_sprintf
jmp 0x100035e0
mov eax, dword [ebp + 0xc]
xor edx, edx
test eax, eax
je 0x10003534
lea eax, [ebp - 0x18]
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x10]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], eax
call sym.atl110.dll_AtlLoadTypeLib
sub esp, 0x10
mov edx, eax
test eax, eax
js 0x10003534
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call dword [sym.imp.oleaut32.dll_SysFreeString]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 8
test eax, eax
jns 0x10003772
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 4
jmp 0x10003534
test esi, esi
je 0x100037d4
mov eax, esi
shr eax, 0x10
je 0x1000375d
movzx eax, byte [esi + 0xf]
mov dword [esp + 0x2c], eax
movzx eax, byte [esi + 0xe]
mov dword [esp + 0x28], eax
movzx eax, byte [esi + 0xd]
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 0xc]
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0xb]
mov dword [esp + 0x1c], eax
movzx eax, byte [esi + 0xa]
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 9]
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 8]
mov dword [esp + 0x10], eax
movzx eax, word [esi + 6]
mov dword [esp + 0xc], eax
movzx eax, word [esi + 4]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp], 0x1000d070
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], str.__p__x__s__n
mov dword [esp + 8], str.AtlComModuleUnregisterServer
mov dword [esp + 4], 0x1000b018
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x100034bc
movzx eax, si
mov dword [esp], 0x1000d061
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf
jmp 0x10003725
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0xc], edx
movzx edx, word [eax + 0x1a]
mov dword [esp + 8], edx
movzx edx, word [eax + 0x18]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [sym.imp.oleaut32.dll_UnRegisterTypeLib]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
sub esp, 0x14
mov ecx, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ebx
call dword [ecx + 0x30]
mov eax, dword [ebp - 0x18]
sub esp, 8
mov ecx, dword [eax]
mov dword [esp], eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 4
mov eax, edx
sar eax, 0x1f
and edx, eax
jmp 0x10003534
mov eax, section..rdata
jmp 0x10003725