Function at 0x40dbc4
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x7f0]
sub esp, 0x870
mov eax, dword [0x414050]
push 0x404b00
push 0xa
mov dword [ebp + 0x7ec], eax
mov dword [ebp - 0x78], 0x104
mov dword [ebp - 0x74], 0x105
call fcn.0040adfe
cmp dword [0x414040], 0
pop ecx
pop ecx
je 0x40dc2d
cmp dword [0x416468], 0
je 0x40dc2d
push 0x404ab0
push 0xa
call fcn.0040adfe
push 0x404a6c
push 0xa
call fcn.0040adfe
add esp, 0x10
xor eax, eax
jmp 0x40eda8
push ebx
push esi
push edi
push dword [0x41644c]
push 0x404a3c
push 0
call fcn.0040adfe
mov ebx, dword [ebp + 0x7f8]
mov edi, dword [ebx + 0x2c]
mov esi, dword [ebx + 0x24]
add edi, ebx
add esp, 0xc
lea eax, [ebx + 0x38]
add esi, ebx
mov dword [ebp - 0x68], 0x209
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x58], esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dc68
sub eax, ecx
push eax
lea eax, [ebx + 0x38]
push eax
push 0x404a08
push 0
call fcn.0040adfe
lea eax, [ebx + 0x38]
add esp, 0x10
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dc8b
sub eax, ecx
lea eax, [eax + ebx + 0x39]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dc9b
sub eax, ecx
mov dword [ebp - 0x5c], eax
lea eax, [ebx + 0x38]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dcad
push dword [ebp - 0x5c]
sub eax, ecx
lea eax, [eax + ebx + 0x39]
push eax
push 0x4049d4
push 0
call fcn.0040adfe
push edi
push 0x4049a4
push 0
call fcn.0040adfe
push esi
push 0x404974
push 0
call fcn.0040adfe
push 0x104
lea eax, [ebp + 0x6e4]
push 0x404948
push eax
mov byte [ebp + 0x7e8], 0
call dword [sym.imp.msvcrt.dll_strncpy]
lea eax, [ebp + 0x6e4]
add esp, 0x34
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dd0e
mov ecx, dword [ebp + 0xa18]
sub eax, esi
mov edi, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dd22
sub ecx, esi
lea eax, [ecx + edi + 1]
cmp eax, 0x104
ja 0x40eda3
mov eax, dword [ebp + 0xa18]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dd42
lea edi, [ebp + 0x6e4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40dd52
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp + 0x6e4]
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dd73
sub eax, esi
add eax, 2
mov edx, 0x104
cmp eax, edx
ja 0x40eda3
lea edi, [ebp + 0x6e4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40dd93
mov esi, 0x401f38
lea eax, [ebp + 0x6e4]
movsw word es:[edi], word [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ddab
sub eax, esi
lea ecx, [ebx + 0x38]
mov edi, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ddbc
sub ecx, esi
lea eax, [ecx + edi + 1]
cmp eax, edx
ja 0x40eda3
lea eax, [ebx + 0x38]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ddd6
lea edi, [ebp + 0x6e4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40dde6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp + 0x6e4]
push eax
and ecx, 3
push 0x404908
push 0xa
rep movsb byte es:[edi], byte [esi]
call fcn.0040adfe
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
push 0x20019
push 0
lea eax, [ebp + 0x6e4]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, eax
test esi, esi
je 0x40de60
push esi
lea eax, [ebp + 0x6e4]
push eax
push 0x4048a8
push 0x14
call fcn.0040adfe
add esp, 0x10
push esi
lea eax, [ebp + 0x6e4]
push eax
push 0x80001392
jmp 0x40ed90
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x3d0]
push eax
lea eax, [ebp - 0x7c]
push eax
xor esi, esi
push esi
push 0x40134c
push dword [ebp - 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
cmp edi, esi
je 0x40debd
push edi
lea eax, [ebp + 0x6e4]
push eax
push 0x404850
push 0x14
call fcn.0040adfe
add esp, 0x10
push edi
lea eax, [ebp + 0x6e4]
push eax
push 0x80001394
call fcn.0040aba1
push dword [ebp - 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40ed95
push dword [ebp - 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, 0x105
push edi
lea eax, [ebp + 0xbc]
push eax
lea eax, [ebp + 0x3d0]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
cmp eax, esi
mov dword [ebp + 0xa18], eax
je 0x40ed67
cmp eax, edi
ja 0x40ed67
movzx eax, word [ebx + 0x1a]
lea eax, [eax*4 + 0x14]
push eax
mov dword [ebp - 0x5c], esi
call sub.snmpapi.dll_SnmpUtilMemAlloc
mov edi, eax
cmp edi, esi
mov dword [ebp - 0x50], edi
jne 0x40df30
push 0x40480c
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001777
call fcn.0040a918
jmp 0x40eda3
push edi
push 0x4047d8
push esi
call fcn.0040adfe
movzx eax, word [ebx + 0x1a]
add esp, 0xc
lea eax, [eax*4 + 0x14]
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
cmp eax, esi
mov dword [ebp - 0x54], eax
jne 0x40df75
push 0x404790
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001778
call fcn.0040a918
push edi
jmp 0x40ec85
movzx edx, word [ebx + 0x1a]
xor ecx, ecx
add edx, 5
je 0x40df8f
mov dword [eax + ecx*4], esi
movzx edx, word [ebx + 0x1a]
inc ecx
add edx, 5
cmp ecx, edx
jb 0x40df80
push eax
push 0x404758
push esi
call fcn.0040adfe
mov ax, word [ebx + 0x1a]
add esp, 0xc
cmp ax, si
je 0x40e0ed
push 5
pop esi
movzx eax, ax
add eax, esi
cmp eax, esi
mov dword [ebp + 0xa18], esi
jbe 0x40e06c
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], edi
sub dword [ebp - 0x64], eax
lea esi, [eax + 0x14]
mov eax, dword [ebp - 0x58]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dfd3
sub eax, ecx
push eax
push dword [ebp - 0x58]
mov dword [esi], eax
push dword [ebp + 0xa18]
push 0x404728
push 0
call fcn.0040adfe
mov eax, dword [esi]
add esp, 0x14
inc eax
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
test eax, eax
mov ecx, dword [ebp - 0x64]
mov dword [ecx + esi], eax
je 0x40e137
push eax
push dword [ebp + 0xa18]
push 0x4046f0
push 0
call fcn.0040adfe
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x58]
mov eax, dword [eax + esi]
add esp, 0x10
mov cl, byte [edx]
inc edx
mov byte [eax], cl
inc eax
test cl, cl
jne 0x40e02d
mov eax, dword [esi]
mov ecx, dword [ebp - 0x5c]
inc dword [ebp + 0xa18]
lea ecx, [ecx + eax + 1]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x58]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x58], eax
movzx eax, word [ebx + 0x1a]
add eax, 5
add esi, 4
cmp dword [ebp + 0xa18], eax
jb 0x40dfcd
push 5
pop esi
push dword [ebp + 0xa1c]
lea eax, [ebp + 0x6e4]
push eax
lea eax, [ebx + 0x38]
push eax
lea eax, [ebp - 0x5c]
push eax
movzx eax, word [ebx + 0x1a]
lea ecx, [edi + 0x14]
push eax
push ecx
call fcn.0040d218
movzx eax, word [ebx + 0x1a]
add eax, esi
cmp eax, esi
mov dword [ebp + 0xa18], esi
jbe 0x40e0ed
mov eax, dword [ebp - 0x54]
sub eax, edi
lea esi, [edi + 0x14]
mov dword [ebp - 0x58], eax
push dword [esi]
push dword [ebp + 0xa18]
push 0x4046c4
push 0
call fcn.0040adfe
mov eax, dword [esi]
add esp, 0x10
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e0c6
sub eax, ecx
mov ecx, dword [ebp - 0x58]
inc dword [ebp + 0xa18]
mov dword [ecx + esi], eax
movzx eax, word [ebx + 0x1a]
add eax, 5
add esi, 4
cmp dword [ebp + 0xa18], eax
jb 0x40e0aa
lea eax, [ebp + 0xbc]
mov dword [ebp - 0x58], eax
push 0x3b
push dword [ebp - 0x58]
call dword [sym.imp.msvcrt.dll_strchr]
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x5c], eax
je 0x40e10d
mov byte [eax], 0
mov esi, dword [ebp - 0x58]
mov eax, 0x414170
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [eax]
jne 0x40e160
test cl, cl
je 0x40e133
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x40e160
inc esi
inc esi
inc eax
inc eax
test cl, cl
jne 0x40e115
xor eax, eax
jmp 0x40e165
push 0x404680
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001779
call fcn.0040a918
push 1
push edi
push dword [ebp - 0x54]
push dword [ebp + 0xa18]
jmp 0x40e603
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40e24b
push dword [ebp - 0x58]
call fcn.0040d1c2
test eax, eax
jne 0x40e185
push dword [ebp - 0x58]
call fcn.0040d109
test eax, eax
je 0x40e1ea
mov cx, word [ebx + 0x1a]
and dword [ebp - 0x60], 0
mov dx, cx
neg dx
lea esi, [edi + 0x14]
sbb edx, edx
and edx, esi
push edx
push 0x50
xor esi, esi
neg cx
lea edx, [ebp - 0x60]
push edx
push esi
push dword [ebx + 0x14]
push eax
sbb ecx, ecx
and ecx, 0x2000
or ecx, 0x900
push ecx
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov dword [ebp + 0xa1c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp + 0xa1c], esi
mov dword [ebp + 0xa18], eax
jne 0x40e265
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x60], esi
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + 1]
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 0x58], eax
jne 0x40e0f6
xor esi, esi
cmp dword [ebp + 0xa1c], esi
jne 0x40e265
push dword [ebp + 0xa18]
mov eax, dword [ebx + 0x14]
push eax
push eax
push 0x404638
push 0x14
call fcn.0040adfe
add esp, 0x14
push dword [ebp + 0xa18]
push dword [ebx + 0x14]
push 0x8000139a
call fcn.0040aa6d
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_LocalFree]
movzx eax, word [ebx + 0x1a]
push 1
push edi
jmp 0x40e5ff
push 0x4045f0
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000177b
call fcn.0040a918
jmp 0x40e23f
push dword [ebp - 0x60]
push 0x4045c8
push esi
call fcn.0040adfe
mov eax, dword [ebp - 0x60]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e27c
sub eax, esi
mov esi, dword [ebp - 0x54]
mov dword [esi], eax
inc eax
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
test eax, eax
mov dword [edi], eax
jne 0x40e2cd
and dword [esi], eax
push 0x404680
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001779
call fcn.0040a918
movzx eax, word [ebx + 0x1a]
push 1
push edi
push esi
push eax
call fcn.0040d7cd
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x40ed95
push eax
push 0x404590
push 0
call fcn.0040adfe
mov eax, dword [ebp - 0x60]
mov ecx, dword [edi]
add esp, 0xc
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x40e2e2
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
je 0x40e325
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x404554
push 0x14
mov dword [ebp + 0xa18], eax
call fcn.0040adfe
add esp, 0xc
push dword [ebp + 0xa18]
push 0x4000139d
call fcn.0040a987
cmp dword [ebx + 0x28], 0
mov byte [ebp + 0x6e0], 0
mov byte [ebp + 0x3cc], 0
je 0x40e3bd
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0x4d8]
push eax
push dword [ebp - 0x70]
push 0
call dword [sym.imp.ADVAPI32.dll_LookupAccountSidA]
test eax, eax
jne 0x40e3f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4044f8
push 0x14
mov dword [ebp + 0xa18], eax
call fcn.0040adfe
add esp, 0xc
push dword [ebp + 0xa18]
push 0x4000139c
call fcn.0040a987
mov eax, dword [0x4044ec]
mov dword [ebp + 0x4d8], eax
mov eax, dword [0x4044f0]
mov dword [ebp + 0x4dc], eax
lea eax, [ebp + 0x4d8]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e3b2
sub eax, ecx
jmp 0x40e3f3
push 0x4044a0
push 0xa
call fcn.0040adfe
mov eax, dword [0x4044ec]
mov dword [ebp + 0x4d8], eax
mov eax, dword [0x4044f0]
mov dword [ebp + 0x4dc], eax
pop ecx
lea eax, [ebp + 0x4d8]
pop ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e3ea
sub eax, edx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
inc eax
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
test eax, eax
mov dword [edi + 4], eax
jne 0x40e42c
push 0x404680
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001779
call fcn.0040a918
movzx eax, word [ebx + 0x1a]
push 1
push edi
push esi
jmp 0x40e602
push eax
push 0x404468
push 0
call fcn.0040adfe
mov ecx, dword [edi + 4]
add esp, 0xc
lea eax, [ebp + 0x4d8]
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x40e445
mov eax, dword [ebp - 0x68]
mov dword [esi + 4], eax
lea eax, [ebx + 0x38]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e45b
sub eax, ecx
lea eax, [eax + ebx + 0x39]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e46b
sub eax, ecx
inc eax
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
test eax, eax
mov dword [edi + 8], eax
jne 0x40e497
push 0x404410
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000138b
jmp 0x40e41a
push eax
push 0x4043d4
push 0
call fcn.0040adfe
lea eax, [ebx + 0x38]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e4ad
sub eax, ecx
mov ecx, dword [edi + 8]
lea eax, [eax + ebx + 0x39]
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x40e4bd
mov eax, dword [edi + 8]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e4cd
sub eax, ecx
mov dword [esi + 8], eax
push 0xa
lea eax, [ebp + 0x4d8]
push eax
movzx eax, word [ebx + 0x18]
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
lea eax, [ebp + 0x4d8]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e4f9
sub eax, ecx
mov dword [esi + 0xc], eax
inc eax
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
test eax, eax
mov dword [edi + 0xc], eax
jne 0x40e52e
and dword [esi + 0xc], eax
push 0x404380
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001389
jmp 0x40e41a
push eax
push 0x404348
push 0
call fcn.0040adfe
mov ecx, dword [edi + 0xc]
add esp, 0xc
lea eax, [ebp + 0x4d8]
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
test dl, dl
jne 0x40e547
push 0xa
lea eax, [ebp + 0x4d8]
push eax
movzx eax, word [ebx + 0x1c]
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
lea eax, [ebp + 0x4d8]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e571
sub eax, ecx
mov dword [esi + 0x10], eax
inc eax
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
test eax, eax
mov dword [edi + 0x10], eax
jne 0x40e5a6
and dword [esi + 0x10], eax
push 0x4042f0
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000138a
jmp 0x40e41a
push eax
push 0x4042b8
push 0
call fcn.0040adfe
mov edi, dword [edi + 0x10]
add esp, 0xc
lea eax, [ebp + 0x4d8]
mov cl, byte [eax]
inc eax
mov byte [edi], cl
inc edi
test cl, cl
jne 0x40e5bf
push 0x18
call sub.snmpapi.dll_SnmpUtilMemAlloc
mov ebx, eax
xor edi, edi
cmp ebx, edi
jne 0x40e60d
push 0x404260
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000138c
call fcn.0040a918
mov eax, dword [ebp + 0x7f8]
movzx eax, word [eax + 0x1a]
push 1
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
jmp 0x40ed95
push ebx
push 0x404210
push edi
call fcn.0040adfe
mov esi, dword [ebp + 0x7f8]
mov dword [ebx + 0x14], edi
mov eax, dword [esi + 0x14]
mov dword [ebx], eax
mov eax, dword [esi + 0xc]
sub eax, dword [0x41641c]
add esp, 0xc
push 8
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
call sub.snmpapi.dll_SnmpUtilMemAlloc
cmp eax, edi
mov dword [ebx + 0x10], eax
jne 0x40e676
push 0x4041c0
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000138d
call fcn.0040a918
movzx eax, word [esi + 0x1a]
push 1
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
jmp 0x40ed03
push eax
push 0x404178
push edi
call fcn.0040adfe
movzx eax, word [esi + 0x1a]
add eax, 5
lea eax, [eax + eax*2]
add esp, 0xc
shl eax, 3
push eax
call sub.snmpapi.dll_SnmpUtilMemAlloc
mov ecx, dword [ebx + 0x10]
mov dword [ecx], eax
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
cmp eax, edi
jne 0x40e6d5
push 0x404128
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x80001776
call fcn.0040a918
movzx eax, word [esi + 0x1a]
push 1
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
jmp 0x40ecfb
push eax
push 0x4040d8
push edi
call fcn.0040adfe
movzx eax, word [esi + 0x1a]
mov ecx, dword [ebx + 0x10]
add eax, 5
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x10]
push dword [eax + 4]
push 0x4040a0
push edi
call fcn.0040adfe
add esp, 0x18
push 8
call sub.snmpapi.dll_SnmpUtilMemAlloc
cmp eax, edi
mov dword [ebx + 0xc], eax
jne 0x40e73f
push 0x404050
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000138e
call fcn.0040a918
movzx eax, word [esi + 0x1a]
push 1
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
jmp 0x40ecf1
push eax
push 0x404000
push edi
call fcn.0040adfe
add esp, 0xc
push dword [ebx + 0xc]
lea eax, [ebp + 0x7fc]
push eax
call fcn.0040fe52
test eax, eax
jne 0x40e7a5
push 0x403fb8
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0xc00003fe
call fcn.0040a918
movzx eax, word [esi + 0x1a]
push 1
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
mov eax, dword [ebx + 0x10]
push dword [eax]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0xc]
jmp 0x40ecfe
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
cmp eax, edi
mov edx, dword [ebx + 0xc]
mov edx, dword [edx]
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*2]
lea ecx, [ecx*4 + 0x12c]
mov dword [ebp + 0xa1c], ecx
mov dword [ebp + 0xa18], edi
jbe 0x40ea42
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
xor esi, esi
sub eax, edi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x58], eax
push dword [edi]
push dword [ebp + 0xa18]
push 0x403f94
push 0
call fcn.0040adfe
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x58]
add eax, edi
mov edx, dword [eax]
mov dword [ecx + esi + 0x10], edx
mov eax, dword [eax]
add dword [ebp + 0xa1c], eax
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov ecx, dword [edi]
mov dword [eax + esi + 0xc], ecx
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov dword [eax + esi + 0x14], 1
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov byte [eax + esi + 8], 4
mov eax, dword [0x41404c]
add esp, 0x10
test eax, eax
mov word [ebp + 0x4d8], 0x2e
je 0x40e8f9
push 0xa
lea ecx, [ebp + 0x1c4]
push ecx
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
lea eax, [ebp + 0x4d8]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e867
sub eax, esi
lea ecx, [ebp + 0x1c4]
mov esi, eax
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e87b
sub ecx, edi
lea eax, [ecx + esi + 1]
cmp eax, 0x208
ja 0x40eb53
lea eax, [ebp + 0x1c4]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e89b
lea edi, [ebp + 0x4d8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40e8ab
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp + 0x4d8]
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e8cc
sub eax, esi
add eax, 2
cmp eax, 0x208
ja 0x40eb53
lea edi, [ebp + 0x4d8]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40e8ea
mov esi, 0x403f90
movsw word es:[edi], word [esi]
mov eax, dword [ebp + 0xa18]
push 0xa
lea ecx, [ebp + 0x1c4]
inc eax
push ecx
push eax
mov dword [ebp - 0x70], eax
call dword [sym.imp.msvcrt.dll__ultoa]
lea eax, [ebp + 0x4d8]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e91f
sub eax, esi
lea ecx, [ebp + 0x1c4]
mov esi, eax
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e933
sub ecx, edi
lea eax, [ecx + esi + 1]
cmp eax, 0x208
ja 0x40eb53
lea eax, [ebp + 0x1c4]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e953
lea edi, [ebp + 0x4d8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40e963
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp + 0x4d8]
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e984
sub eax, esi
add eax, 3
cmp eax, 0x208
ja 0x40eb53
lea edi, [ebp + 0x4d8]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40e9a2
lea eax, [ebp + 0x4d8]
mov esi, 0x403f8c
push eax
movsw word es:[edi], word [esi]
push 0x403f60
push 0
movsb byte es:[edi], byte [esi]
call fcn.0040adfe
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
add eax, dword [ebp - 0x5c]
add esp, 0xc
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.0040fe52
test eax, eax
je 0x40ebdd
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov esi, dword [ebp - 0x5c]
add eax, esi
push eax
push 0x403f30
push 0
call fcn.0040adfe
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov eax, dword [esi + eax]
mov ecx, dword [ebp + 0xa1c]
mov edi, dword [ebp - 0x64]
lea eax, [ecx + eax*4]
mov ecx, dword [ebx + 0x10]
mov dword [ebp + 0xa1c], eax
mov eax, dword [ebp - 0x70]
add edi, 4
add esi, 0x18
add esp, 0xc
cmp eax, dword [ecx + 4]
mov dword [ebp + 0xa18], eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x5c], esi
jb 0x40e7e4
mov esi, dword [ebp + 0x7f8]
xor edi, edi
push dword [ebp + 0xa1c]
push 0x403ee8
push 0xa
call fcn.0040adfe
add esp, 0xc
cmp dword [0x416454], edi
je 0x40ec8f
mov eax, dword [ebp + 0xa1c]
cmp eax, dword [0x416438]
jbe 0x40ec8f
push dword [ebp + 0xa0c]
push eax
push dword [ebx + 0x10]
call fcn.0040d905
push eax
push 0x403eb0
push 0xa
mov dword [ebp + 0xa1c], eax
call fcn.0040adfe
add esp, 0xc
cmp dword [ebp + 0xa1c], edi
je 0x40eab4
mov eax, dword [ebp + 0xa1c]
cmp eax, dword [0x416438]
jbe 0x40ec8f
push 0x403e70
push 0x14
call fcn.0040adfe
pop ecx
pop ecx
push 0x8000177d
call fcn.0040a918
mov eax, dword [ebx + 0x10]
push eax
push dword [eax + 4]
call fcn.0040d86a
mov eax, dword [ebx + 0xc]
push dword [eax + 4]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0xc]
call sub.snmpapi.dll_SnmpUtilMemFree
movzx eax, word [esi + 0x1a]
push edi
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
mov eax, dword [ebx + 0x10]
push dword [eax]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push ebx
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebp - 0x50]
push 0x403e38
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [ebp - 0x50]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [0x41644c]
push 0x404a3c
push edi
call fcn.0040adfe
push 0x403e00
push 0xa
call fcn.0040adfe
add esp, 0x14
jmp 0x40eda3
mov esi, dword [ebp + 0xa18]
push esi
push 0x403db0
push 0x14
call fcn.0040adfe
add esp, 0xc
push dword [ebx + 0x10]
inc esi
push esi
call fcn.0040d86a
mov eax, dword [ebx + 0xc]
push dword [eax + 4]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0xc]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [ebx + 0x10]
push dword [eax]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push ebx
call sub.snmpapi.dll_SnmpUtilMemFree
mov edi, dword [ebp + 0x7f8]
movzx eax, word [edi + 0x1a]
add eax, 5
cmp esi, eax
jge 0x40ec5e
mov eax, dword [ebp - 0x50]
lea ebx, [eax + esi*4]
mov eax, dword [ebp - 0x58]
cmp dword [ebx + eax], 0
je 0x40ebc9
push dword [ebx]
call sub.snmpapi.dll_SnmpUtilMemFree
movzx eax, word [edi + 0x1a]
inc esi
add eax, 5
add ebx, 4
cmp esi, eax
jl 0x40ebb9
jmp 0x40ec5e
mov esi, dword [ebp + 0xa18]
push esi
push 0x403d50
push 0x14
call fcn.0040adfe
add esp, 0xc
push dword [ebx + 0x10]
inc esi
push esi
call fcn.0040d86a
mov eax, dword [ebx + 0xc]
push dword [eax + 4]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0xc]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [ebx + 0x10]
push dword [eax]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push ebx
call sub.snmpapi.dll_SnmpUtilMemFree
mov edi, dword [ebp + 0x7f8]
movzx eax, word [edi + 0x1a]
add eax, 5
cmp esi, eax
jge 0x40ec5e
mov eax, dword [ebp - 0x50]
lea ebx, [eax + esi*4]
mov eax, dword [ebp - 0x58]
cmp dword [ebx + eax], 0
je 0x40ec4f
push dword [ebx]
call sub.snmpapi.dll_SnmpUtilMemFree
movzx eax, word [edi + 0x1a]
inc esi
add eax, 5
add ebx, 4
cmp esi, eax
jl 0x40ec3f
movzx eax, word [edi + 0x1a]
push 0
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
push dword [ebp - 0x50]
push 0x403e38
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [ebp - 0x50]
call sub.snmpapi.dll_SnmpUtilMemFree
jmp 0x40eda3
push ebx
call fcn.0040cd85
test eax, eax
jne 0x40ed0e
push 0x403d08
push 0x14
call fcn.0040adfe
mov eax, dword [ebx + 0x10]
pop ecx
pop ecx
push eax
push dword [eax + 4]
call fcn.0040d86a
mov eax, dword [ebx + 0xc]
push dword [eax + 4]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0xc]
call sub.snmpapi.dll_SnmpUtilMemFree
movzx eax, word [esi + 0x1a]
push edi
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
call fcn.0040d7cd
push dword [ebp - 0x50]
push 0x403e38
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [ebp - 0x50]
call sub.snmpapi.dll_SnmpUtilMemFree
mov eax, dword [ebx + 0x10]
push dword [eax]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebx + 0x10]
call sub.snmpapi.dll_SnmpUtilMemFree
push ebx
call sub.snmpapi.dll_SnmpUtilMemFree
jmp 0x40ed95
push dword [ebp - 0x50]
push 0x403e38
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [ebp - 0x50]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [ebp - 0x54]
push 0x403cc8
push 0xa
call fcn.0040adfe
add esp, 0xc
push dword [ebp - 0x54]
call sub.snmpapi.dll_SnmpUtilMemFree
push dword [0x41644c]
push 0x404a3c
push edi
call fcn.0040adfe
push 0x403c94
push 0xa
call fcn.0040adfe
xor eax, eax
add esp, 0x14
inc eax
jmp 0x40eda5
push eax
lea eax, [ebp + 0x3d0]
push eax
push 0x403c38
push 0x14
call fcn.0040adfe
add esp, 0x10
push dword [ebp + 0xa18]
lea eax, [ebp + 0x3d0]
push eax
push 0x80001396
call fcn.0040aba1
push 0x403e00
push 0xa
call fcn.0040adfe
pop ecx
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x7ec]
call fcn.00412b38
add ebp, 0x7f0
leave
ret 0x228