Function at 0x418ccf
Capabilities:
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4349e1
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x490270]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x108], ebx
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x140]
mov esi, dword [0x490020]
push eax
call esi
lea eax, [ebp - 0x130]
push eax
call esi
push 7
pop ecx
push 0x15
xor eax, eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xc0], ecx
lea edi, [ebp - 0xb8]
pop ecx
push 0x12
mov word [ebp - 0xec], ax
mov esi, str.SELECT__FROM_Win32_ComputerSystemProduct
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0xd4], ax
lea edi, [ebp - 0x60]
mov eax, dword [0x43e2bc]
mov esi, str.SELECT__FROM_Win32_OperatingSystem
pop ecx
mov dword [ebp - 0x18], eax
xor edx, edx
mov eax, dword [0x43e2c0]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], eax
xor edi, edi
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xdc], edx
push eax
push 0x43e6cc
inc edi
mov dword [ebp - 0xc4], edx
push edi
push edx
mov esi, 0x43744c
mov byte [ebp - 0xbc], dl
push esi
call dword [0x437194]
test eax, eax
js 0x418dd8
push eax
lea edx, [ebp - 0xf4]
mov ecx, esi
call fcn.00408654
test eax, eax
je 0x418eca
lea ecx, [ebp - 0xd4]
mov byte [ebx], 0
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x418e2d
and dword [ebp - 0xf8], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x418e4b
and dword [ebp - 0xfc], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x418e69
and dword [ebp - 0x100], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 9
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x418e87
and dword [ebp - 0x104], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xa
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x418ea5
and dword [ebp - 0xf0], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xb
mov edx, dword [ebp - 0xf4]
test edx, edx
je 0x418ec3
and dword [ebp - 0xf4], 0
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov eax, ebx
jmp 0x4199ca
mov esi, dword [ebp - 0xf4]
lea ecx, [ebp - 0x110]
push str.ROOTCIMV2
call fcn.00418347
mov eax, dword [eax]
test eax, eax
je 0x418eea
mov ecx, dword [eax]
jmp 0x418eec
xor ecx, ecx
mov eax, dword [esi]
lea edx, [ebp - 0xf0]
push edx
xor edx, edx
push edx
push edx
push edx
push edx
push edx
push edx
push ecx
push esi
call dword [eax + 0xc]
test eax, eax
lea ecx, [ebp - 0x110]
setne bl
call fcn.00418406
test bl, bl
je 0x418fef
mov edi, dword [ebp - 0x108]
lea ecx, [ebp - 0xd4]
xor ebx, ebx
mov byte [edi], bl
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x418f6f
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x418f8c
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xe
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x418fa9
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x418fc6
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x418fe3
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x11
jmp 0x4199b2
xor ebx, ebx
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push dword [ebp - 0xf0]
call dword [0x4371b0]
test eax, eax
je 0x4190e2
mov edi, dword [ebp - 0x108]
lea ecx, [ebp - 0xd4]
mov byte [edi], bl
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x12
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x419062
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x41907f
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x14
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x41909c
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x4190b9
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x16
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x4190d6
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x17
jmp 0x4199b2
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 0x104]
push edx
push ebx
push 0x30
mov ecx, dword [eax]
lea edx, [ebp - 0xb8]
push edx
lea edx, [ebp - 0x18]
push edx
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x4191de
mov edi, dword [ebp - 0x108]
lea ecx, [ebp - 0xd4]
mov byte [edi], bl
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x18
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x41915e
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x19
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x41917b
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x419198
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x4191b5
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x4191d2
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x1d
jmp 0x4199b2
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x11c]
push edx
lea edx, [ebp - 0xfc]
push edx
mov ecx, dword [eax]
push edi
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4198e4
cmp dword [ebp - 0x11c], edi
jne 0x4198e4
mov eax, dword [ebp - 0xfc]
lea edx, [ebp - 0x130]
push ebx
push ebx
push edx
mov ecx, dword [eax]
push ebx
push str.UUID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x419811
push dword [ebp - 0x128]
push str.00000000_0000_0000_0000_000000000000
call dword [0x43723c]
pop ecx
pop ecx
test eax, eax
je 0x419811
push dword [ebp - 0x128]
lea ecx, [ebp - 0x10c]
call fcn.00418347
push 0x43d8ac
lea ecx, [ebp - 0x110]
call fcn.00418347
push 0x43d8b0
lea ecx, [ebp - 0x118]
call fcn.00418347
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x118]
call fcn.004183a9
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
test eax, eax
je 0x4192a4
lock inc dword [eax + 8]
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x114]
call fcn.004183a9
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x4192c4
mov edx, dword [eax]
jmp 0x4192c6
mov edx, ebx
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x4192cb
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xec]
call fcn.00405225
lea ecx, [ebp - 0x114]
call fcn.00418406
lea ecx, [ebp - 0x118]
call fcn.00418406
lea ecx, [ebp - 0x110]
call fcn.00418406
mov eax, dword [ebp - 0x128]
mov esi, 0x4391f4
mov dword [ebp - 0x144], eax
mov ecx, 0x170944f
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14c], esi
push eax
lea eax, [ebp - 0x158]
mov dword [ebp - 0x148], str.UUID
push eax
push str.LicenseUtils::GetMachineDetailsWmi
push 0x32
push 0x2d
pop edx
mov dword [ebp - 0x158], esi
mov dword [ebp - 0x154], str.Information
mov dword [ebp - 0x150], str.Retrieving_UUID_from_WMI
call fcn.00408c09
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 0x100]
push edx
push ebx
push 0x30
mov ecx, dword [eax]
lea edx, [ebp - 0x60]
push edx
lea edx, [ebp - 0x18]
push edx
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x419477
mov edi, dword [ebp - 0x108]
lea eax, [ebp - 0xec]
push eax
mov ecx, edi
mov byte [edi], bl
call fcn.00416162
lea ecx, [ebp - 0x10c]
call fcn.00418406
lea ecx, [ebp - 0xd4]
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x2a
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x4193f7
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x419414
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x419431
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x41944e
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x41946b
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x2f
jmp 0x4199b2
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0x11c]
push edx
lea edx, [ebp - 0xf8]
push edx
mov ecx, dword [eax]
push edi
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x419725
cmp dword [ebp - 0x11c], edi
jne 0x419725
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0x140]
push ebx
push ebx
push edx
mov ecx, dword [eax]
push ebx
push str.Caption
push eax
call dword [ecx + 0x10]
test eax, eax
je 0x4195b7
mov edi, dword [ebp - 0x108]
lea eax, [ebp - 0xec]
push eax
mov ecx, edi
mov byte [edi], bl
call fcn.00416162
lea ecx, [ebp - 0x10c]
call fcn.00418406
lea ecx, [ebp - 0xd4]
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x36
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x419537
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x37
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x419554
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x38
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x419571
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x39
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x41958e
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x3a
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x4195ab
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x3b
jmp 0x4199b2
mov eax, dword [ebp - 0x138]
mov ecx, 0x1709450
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x164], esi
push eax
push str.LicenseUtils::GetMachineDetailsWmi
push 0x32
push 0x2d
pop edx
mov dword [ebp - 0x160], str.OSName
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x16c], str.Information
mov dword [ebp - 0x168], str.Retrieving_OS_name_from_WMI
call fcn.00408c09
mov ecx, dword [ebp - 0x138]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x419618
sub ecx, edx
sar ecx, 1
push ecx
push dword [ebp - 0x138]
lea ecx, [ebp - 0xd4]
call fcn.00405225
mov edi, dword [ebp - 0x108]
lea eax, [ebp - 0xec]
push eax
mov ecx, edi
mov byte [edi], bl
call fcn.00416162
lea ecx, [ebp - 0x10c]
call fcn.00418406
lea ecx, [ebp - 0xd4]
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x3c
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x4196a5
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x3d
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x4196c2
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x4196df
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x4196fc
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x40
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x419719
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x41
jmp 0x4199b2
mov edi, dword [ebp - 0x108]
lea eax, [ebp - 0xec]
push eax
mov ecx, edi
mov byte [edi], bl
call fcn.00416162
lea ecx, [ebp - 0x10c]
call fcn.00418406
lea ecx, [ebp - 0xd4]
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x30
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x419791
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x31
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x4197ae
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x32
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x4197cb
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x33
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x4197e8
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x34
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x419805
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x35
jmp 0x4199b2
mov edi, dword [ebp - 0x108]
lea ecx, [ebp - 0xd4]
mov byte [edi], bl
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x24
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x419864
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x25
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x419881
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x26
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x41989e
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x27
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x4198bb
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x28
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x4198d8
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x29
jmp 0x4199b2
mov edi, dword [ebp - 0x108]
lea ecx, [ebp - 0xd4]
mov byte [edi], bl
call fcn.004057fa
lea ecx, [ebp - 0xec]
call fcn.004057fa
mov esi, dword [0x49001c]
lea eax, [ebp - 0x130]
push eax
call esi
lea eax, [ebp - 0x140]
push eax
call esi
mov dword [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x419937
mov dword [ebp - 0xf8], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x419954
mov dword [ebp - 0xfc], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x20
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x419971
mov dword [ebp - 0x100], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x21
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x41998e
mov dword [ebp - 0x104], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x22
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x4199ab
mov dword [ebp - 0xf0], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x23
mov ecx, dword [ebp - 0xf4]
test ecx, ecx
je 0x4199c8
mov dword [ebp - 0xf4], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00430c8a
mov esp, ebp
pop ebp
ret