Function at 0x461780
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e0df5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
mov ebx, ecx
cmp word [esi + 4], di
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x3c], edi
je 0x461f4b
cmp word [esi + 0x16], di
je 0x461f4b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
push 0x51f7a4
mov dword [eax], edi
mov dword [ecx], edi
mov ecx, dword [ebp + 0x20]
mov dword [edx], edi
call fcn.0044dca0
lea eax, [ebx + 8]
push 1
push edi
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
cmp eax, 1
jne 0x46180b
mov esi, dword [ebp + 8]
push 0xf4
push edi
push 2
push esi
mov ecx, ebx
call fcn.00460d60
jmp 0x461f61
push edi
push edi
lea eax, [ebp - 0x34]
push edi
push eax
mov ecx, ebx
call fcn.00460d60
lea ecx, [ebp - 0x30]
call fcn.0044d9c0
lea ecx, [ebp - 0xcc]
call fcn.0045c500
push str.RegInfo
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], 1
call fcn.0045c660
lea ecx, [ebp - 0xcc]
call fcn.0045d870
push 2
push 0x50e84c
lea ecx, [ebp - 0xcc]
push str.Type
push ecx
call fcn.0045c680
add esp, 0x10
lea ecx, [ebp - 0xcc]
push str.Content
call fcn.0045c660
lea ecx, [ebp - 0xcc]
call fcn.0045d870
lea edx, [esi + 0x18]
lea eax, [ebp - 0xcc]
push edx
push 0x513b3c
push 0x513b34
push eax
call fcn.0045c680
xor ecx, ecx
add esp, 0x10
mov cx, word [esi + 4]
lea eax, [ebp - 0xcc]
lea edx, [esi + ecx*2 + 0x1a]
push edx
push 0x513b3c
push str.ENCRYPT_SN
push eax
call fcn.0045c680
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 0xc]
mov dx, word [esi + 6]
xor eax, eax
add ecx, edx
mov ax, word [esi + 0xe]
xor edx, edx
mov dx, word [esi + 0x10]
add ecx, eax
xor eax, eax
add ecx, edx
mov ax, word [esi + 8]
xor edx, edx
mov dx, word [esi + 4]
add ecx, eax
xor eax, eax
add ecx, edx
mov ax, word [esi + 0xa]
add esp, 0x10
add ecx, eax
lea edx, [ebp - 0xcc]
lea ecx, [esi + ecx*2 + 0x26]
push ecx
push 0x513b3c
push str.SVersion
push edx
call fcn.0045c680
add esp, 0x10
mov ecx, esi
call fcn.00461750
xor ecx, ecx
mov cx, word [esi + 4]
lea eax, [eax + ecx*2 + 2]
xor edx, edx
xor ecx, ecx
mov dx, word [esi + 0xc]
mov cx, word [esi + 6]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0xe]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0x10]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0x12]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 8]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0xa]
add edx, ecx
lea edx, [eax + edx*2 + 0xe]
lea eax, [ebp - 0xcc]
push edx
push 0x513b3c
push str.SHash
push eax
call fcn.0045c680
add esp, 0x10
mov ecx, esi
call fcn.00461760
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 6]
mov dx, word [esi + 0x14]
lea eax, [eax + ecx*2 + 2]
xor ecx, ecx
mov cx, word [esi + 0xc]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0xe]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0x10]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0x12]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 8]
add edx, ecx
xor ecx, ecx
mov cx, word [esi + 0xa]
add edx, ecx
lea edx, [eax + edx*2 + 0xe]
lea eax, [ebp - 0xcc]
push edx
push 0x513b3c
push 0x513abc
push eax
call fcn.0045c680
add esp, 0x10
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], edi
push 0x51f7a4
call fcn.0044d150
lea ecx, [ebp - 0x5c]
mov dword [ebp + 0xc], edi
push ecx
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 3
call fcn.0045c610
mov eax, dword [eax]
lea edx, [ebp - 0x1c]
push eax
push edx
mov byte [ebp - 4], 4
call fcn.004645b0
add esp, 8
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 6
call fcn.0044d9c0
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 8], edi
jne 0x461a50
lea ecx, [ebp - 0x48]
mov eax, 0xf003
push 0x501dc8
push ecx
mov dword [ebp + 0xc], 0x110
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x48], eax
call fcn.00423785
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x28]
push edx
push str.Data
push eax
call fcn.00448aa0
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.00448320
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.00448180
lea ecx, [ebp - 0x20]
call fcn.00444650
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x18]
lea esi, [ebp - 0x20]
mov byte [ebp - 4], 8
mov ecx, dword [eax - 8]
push esi
push ecx
mov ecx, dword [ebx + 4]
push eax
push edx
call fcn.00462fa0
cmp eax, edi
jne 0x461b67
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebx + 4]
call fcn.00462e80
mov eax, dword [ebp - 0x34]
mov bl, 9
cmp eax, edi
mov byte [ebp - 4], bl
jne 0x461ac6
mov eax, 0xf200
jmp 0x461b03
cmp eax, 0xf0000002
ja 0x461af0
je 0x461ae9
cmp eax, 1
je 0x461ae2
cmp eax, 0xf0000001
jne 0x461af7
mov eax, 0xf100
jmp 0x461b03
mov eax, 1
jmp 0x461b03
mov eax, 0xf005
jmp 0x461b03
cmp eax, 0xf0000003
je 0x461afe
mov eax, 0xf200
jmp 0x461b03
mov eax, 0xf006
mov esi, eax
mov eax, dword [ebp - 0x2c]
cmp eax, edi
mov dword [ebp - 0x14], esi
jne 0x461b1d
mov edx, dword [ebp - 0x30]
lea ecx, [ebp - 0x18]
push edx
call fcn.0044dca0
jmp 0x461b50
mov eax, dword [ebp - 0x30]
lea ecx, [ebp + 0x14]
push eax
call fcn.0044d150
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax]
push ecx
push edx
lea eax, [ebp - 0x18]
push str._s_Inner_error:_d_
push eax
mov byte [ebp - 4], 0xa
call fcn.00450aa0
add esp, 0x10
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], bl
call fcn.0044d9c0
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x40]
push 0x501dc8
push edx
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x40], esi
call fcn.00423785
lea ecx, [ebp - 0x20]
call fcn.00444820
cmp eax, edi
jne 0x461b93
mov eax, 0xf007
push 0x501dc8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
mov dword [ebp + 0xc], 0x126
push eax
call fcn.00423785
push edi
lea ecx, [ebp - 0x20]
call fcn.00444b30
lea ecx, [ebp - 0x20]
call fcn.00444f40
mov edx, eax
mov edi, str.RegCenter_Error:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.RegCenter_Error:
mov esi, edx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x461bfa
mov edi, str.RegCenter_Error:
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp + 0xc], 0x12e
add ecx, edx
push ecx
lea ecx, [ebp - 0x18]
call fcn.0044dd70
lea ecx, [ebp - 0x50]
mov eax, 0xf050
push 0x501dc8
push ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x50], eax
call fcn.00423785
push edx
lea edx, [ebp - 0x24]
push edx
call fcn.00464690
add esp, 8
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xb
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x461c35
lea ecx, [ebp - 0x60]
mov eax, 0xf004
push 0x501dc8
push ecx
mov dword [ebp + 0xc], 0x135
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x60], eax
call fcn.00423785
lea ecx, [ebp - 0x98]
call fcn.0045c500
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x98]
push edx
mov byte [ebp - 4], 0xc
call fcn.0045d230
test eax, eax
jne 0x461c77
mov eax, 0xf004
push 0x501dc8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov dword [ebp + 0xc], 0x13d
push eax
call fcn.00423785
push str.Result
lea ecx, [ebp - 0x98]
call fcn.0045d440
test eax, eax
jne 0x461cab
lea ecx, [ebp - 0x44]
mov eax, 0xf004
push 0x501dc8
push ecx
mov dword [ebp + 0xc], 0x142
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x44], eax
call fcn.00423785
lea ecx, [ebp - 0x98]
call fcn.0045d870
push str.ResCode
lea ecx, [ebp - 0x98]
call fcn.0045d440
test eax, eax
jne 0x461cea
lea edx, [ebp - 0x4c]
mov eax, 0xf004
push 0x501dc8
push edx
mov dword [ebp + 0xc], 0x148
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], eax
call fcn.00423785
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x98]
push eax
call fcn.0045d9e0
mov eax, dword [eax]
push eax
call fcn.004254af
mov esi, dword [ebp + 0x14]
add esp, 4
lea ecx, [ebp - 0x28]
mov dword [esi], eax
call fcn.0044d9c0
cmp dword [esi], 0
jne 0x461e3f
lea ecx, [ebp - 0x98]
call fcn.0045d900
push str.ESN_ResCode
lea ecx, [ebp - 0x98]
call fcn.0045d440
test eax, eax
je 0x461d6b
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x98]
call fcn.0045d9e0
mov eax, dword [eax]
push eax
call fcn.004254af
mov edx, dword [ebp + 0x18]
add esp, 4
lea ecx, [ebp + 0x14]
mov dword [edx], eax
call fcn.0044d9c0
lea ecx, [ebp - 0x98]
call fcn.0045d900
push str.ESN_ResDesc
lea ecx, [ebp - 0x98]
call fcn.0045d440
test eax, eax
je 0x461db2
lea eax, [ebp + 0x14]
lea ecx, [ebp - 0x98]
push eax
call fcn.0045d9e0
mov ecx, dword [ebp + 0x20]
push eax
mov byte [ebp - 4], 0xd
call fcn.0044db70
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0xc
call fcn.0044d9c0
lea ecx, [ebp - 0x98]
call fcn.0045d900
push str.ESN_Status
lea ecx, [ebp - 0x98]
call fcn.0045d440
test eax, eax
je 0x461df8
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x98]
call fcn.0045d9e0
mov eax, dword [eax]
push eax
call fcn.004254af
mov edx, dword [ebp + 0x1c]
add esp, 4
lea ecx, [ebp + 0x14]
mov dword [edx], eax
call fcn.0044d9c0
lea ecx, [ebp - 0x98]
call fcn.0045d900
lea ecx, [ebp - 0x98]
call fcn.0045d900
push str.MTCode
lea ecx, [ebp - 0x98]
call fcn.0045d440
test eax, eax
je 0x461e3f
lea eax, [ebp + 0x14]
lea ecx, [ebp - 0x98]
push eax
call fcn.0045d9e0
mov ecx, dword [ebp + 0x10]
push eax
mov byte [ebp - 4], 0xe
call fcn.0044db70
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0xc
call fcn.0044d9c0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.0045c590
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 8
call fcn.0044d9c0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call fcn.00444780
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.00448180
lea eax, [ebx + 8]
push 0
push eax
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov esi, dword [ebp + 8]
push 0
push 0
push 0
push esi
mov ecx, ebx
call fcn.00460d60
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x3c], 1
mov byte [ebp - 4], 1
call fcn.0044d9c0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0
call fcn.0045c590
jmp 0x461f61
mov esi, dword [ebp + 8]
push 0xe6
push edi
push 0xf001
push esi
mov ecx, ebx
call fcn.00460d60
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c