Function at 0x446830
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47f708
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x138
mov eax, dword [0x4b5200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x104], edi
mov esi, dword [ebx + 8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x78], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 4], 0
lea eax, [edi + 0x148]
movaps xmm0, xmmword [0x4ab7d0]
push ecx
push dword [edi + 0x58]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x60], 0xd
push dword [edi + 0x90]
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
push dword [edi + 0x4c]
push eax
call fcn.0041b260
mov dword [ebp - 4], 1
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x4468e3
mov eax, dword [edi + 0x378]
jmp 0x446917
cmp eax, 0xffffffff
jne 0x4468ee
mov eax, dword [edi + 0x188]
mov edx, dword [edi + 0x184]
test edx, edx
je 0x446915
cmp eax, 1
jl 0x446915
cmp eax, dword [edi + 0x188]
jg 0x446915
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x446915
mov eax, dword [edx + eax*8 + 4]
jmp 0x446917
xor eax, eax
push 0
push 0
push 0x1004
mov dword [ebp - 0x114], eax
push eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x11c], eax
call eax
mov dword [ebp - 0x118], eax
cmp dword [edi + 0x9c4], esi
ja 0x44694b
lea ecx, [esi + 1]
mov dword [edi + 0x9c4], ecx
lea esi, [esi + esi*2]
shl esi, 5
add esi, dword [edi + 0x9cc]
mov eax, dword [esi + 0x54]
test eax, eax
je 0x4482d2
cmp word [eax], 0
je 0x4482d2
mov ecx, dword [edi + 0x94]
cmp ecx, 0xffffffff
jne 0x44697f
mov ecx, dword [edi + 0x188]
jmp 0x4469a0
mov edx, dword [edi + 0x184]
test edx, edx
je 0x4469bc
cmp ecx, 1
jl 0x4469bc
cmp ecx, dword [edi + 0x188]
jg 0x4469bc
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4469bc
mov eax, dword [edi + 0x184]
lea ecx, [ecx + ecx*8]
push 4
push 4
push 0x1036
push dword [eax + ecx*8 + 4]
call dword [ebp - 0x11c]
cmp dword [esi + 0x54], 0
lea eax, [esi + 0x5c]
xorps xmm0, xmm0
mov dword [ebp - 0x13c], 0
movq qword [ebp - 0x144], xmm0
mov dword [ebp - 0x34], eax
jne 0x4469ff
push 2
call fcn.0046b90c
mov dword [esi + 0x54], eax
add esp, 4
xor ecx, ecx
mov word [eax], cx
mov edx, dword [esi + 0x54]
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x58], ecx
mov esi, edx
mov dword [ebp - 0x18], esi
jmp 0x446a07
mov edx, dword [esi + 0x54]
mov esi, edx
mov dword [ebp - 0x18], edx
mov cl, 1
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], edx
mov edi, str.Monitoring_
mov byte [eax], cl
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + str.HKCUSoftwareClearDiskInfo], 0
jne 0x446a20
xor ecx, ecx
nop
inc ecx
cmp word [ecx*2 + str.Monitoring_], 0
jne 0x446a30
add ecx, eax
mov dword [ebp - 0x108], ecx
test edx, edx
jne 0x446a50
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], esi
jmp 0x446a70
xor eax, eax
cmp word [edx], ax
je 0x446a6e
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], esi
inc eax
cmp word [ecx + eax*2], 0
jne 0x446a60
mov ecx, dword [ebp - 0x108]
add ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x108], ecx
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov esi, str.HKCUSoftwareClearDiskInfo
mov dword [ebp - 0x124], eax
add esp, 4
mov ecx, eax
mov edx, 0x48
sub esi, eax
mov word [ecx], dx
add ecx, 2
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x446aa6
mov esi, dword [ebp - 0x18]
mov eax, 0x5c
nop
mov word [ecx], ax
lea edi, [edi + 2]
movzx eax, word [edi]
add ecx, 2
test ax, ax
jne 0x446ac0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x446af3
movzx eax, word [eax]
mov edx, eax
test ax, ax
je 0x446af3
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
add ecx, 2
test ax, ax
jne 0x446ae2
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x1c], 1
movq qword [ebp - 0x40], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov byte [ebp - 0x38], 1
mov byte [ebp - 4], 5
mov edx, 0xf003f
push ecx
mov byte [ebp - 0x13c], 1
call fcn.004054e0
mov esi, eax
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 6
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test esi, esi
je 0x446dad
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp dword [ebp - 0x30], 1
jbe 0x446dad
xor eax, eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x118], eax
jle 0x446dc4
mov edx, dword [ebp - 0x104]
lea ecx, [edx + 0x148]
mov dword [ebp - 0x34], ecx
nop
push 1
push eax
push dword [edx + 0x94]
call fcn.00419bd0
mov edi, eax
mov eax, dword [ebp - 0x24]
test edi, edi
jne 0x446c12
test eax, eax
je 0x446bf4
push eax
call fcn.0046b303
add esp, 4
push 2
mov byte [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
call fcn.0046b90c
mov edi, eax
add esp, 4
xor eax, eax
mov word [edi], ax
jmp 0x446c26
test eax, eax
je 0x446c1f
push eax
call fcn.0046b303
add esp, 4
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1c], 1
mov dword [ebp - 0x24], edi
test edi, edi
je 0x446d83
cmp word [edi], 0
je 0x446d83
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x1c], 1
test eax, eax
je 0x446c53
push eax
call fcn.0046b303
add esp, 4
lea eax, [ebp - 0x18]
mov dword [ebp - 0x40], 0
push eax
push 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x3c], 0
push eax
push 0
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push esi
mov byte [ebp - 0x38], 1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x18], 0
call edi
test eax, eax
jne 0x446d89
mov eax, dword [ebp - 0x2c]
cmp eax, 1
je 0x446ca7
cmp eax, 2
je 0x446ca7
cmp eax, 7
jne 0x446d89
mov edi, dword [ebp - 0x18]
xor ecx, ecx
add edi, 4
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x18], edi
mov edx, 2
shr edi, 1
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov byte [ebp - 0x38], 1
mov word [eax + edi*2], cx
mov word [eax], cx
mov dword [eax + edi*2 - 4], ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
push 0
push 0
push dword [ebp - 0x24]
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x446d83
cmp dword [ebp - 0x2c], 7
mov edx, dword [ebp - 0x40]
jne 0x446d3b
cmp edi, 3
jbe 0x446d3b
lea ecx, [edi - 1]
mov byte [ebp - 0x38], 1
test ecx, ecx
je 0x446d3b
lea esi, [eax + 0xa]
xor edi, edi
cmp di, word [edx + eax*2]
jne 0x446d33
cmp word [edx + eax*2 + 2], di
je 0x446d33
mov word [edx + eax*2], si
inc eax
cmp eax, ecx
jb 0x446d20
mov esi, dword [ebp - 0x28]
xor eax, eax
cmp word [edx], ax
je 0x446d4a
inc eax
cmp word [edx + eax*2], 0
jne 0x446d42
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x446d83
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], 0xf000
push eax
push dword [ebp - 0x108]
mov dword [ebp - 0xa8], 0x2000
push 0x102b
push dword [ebp - 0x114]
call dword [ebp - 0x11c]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x34]
inc eax
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
cmp eax, dword [ebp - 0x118]
jl 0x446bd0
jmp 0x446dc4
push dword [ebp - 0x118]
mov ecx, dword [ebp - 0x104]
push dword [ebp - 0x114]
call fcn.00448330
mov dword [ebp - 0x44], 0
test esi, esi
je 0x446df3
lea eax, [ebp - 0x34]
mov dword [ebp - 0x48], 0
push eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x34], 4
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0x4a7bd8
push esi
call edi
mov edi, dword [ebp - 0x104]
lea eax, [ebp - 0xc4]
push eax
push dword [edi + 0x90]
lea ecx, [edi + 0x148]
call fcn.00418b10
push 0x40
push dword [edi + 0x30]
lea ecx, [edi + 0x148]
call fcn.00417af0
push ecx
push 0
push dword [ebp - 0xb8]
mov dword [edi + 0x338], 0x430
lea ecx, [edi + 0x148]
push dword [ebp - 0xbc]
mov dword [edi + 0x370], 0xfffefc
push 0x55
push 2
mov dword [edi + 0x36c], 0x301020
call fcn.00415c00
movsd xmm0, qword [0x4ab370]
mov dword [edi + 0x338], 0x400
mov dword [ebp - 0x34], eax
xor eax, eax
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x384
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x446e94
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
jne 0x446ed2
mov dword [ebp - 0x30], 0
jmp 0x446f3d
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x16
push 0x133
push 0xa
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50000101
push eax
push 0x4edf80
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
jne 0x446f1e
mov dword [ebp - 0x30], eax
jmp 0x446f3d
push eax
push 0xd
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab670]
mov dword [ebp - 0x30], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
xor eax, eax
movsd xmm0, qword [0x4ab348]
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x190
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
nop dword [eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x446f70
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x447008
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x50
push 0x133
push 0x2d
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4edfbc
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x447008
push eax
push 0xd
mov ecx, edi
call fcn.0041a630
movaps xmm0, xmmword [0x4ab760]
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x3c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
xor eax, eax
movsd xmm0, qword [0x4ab360]
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x384
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
nop dword [eax + eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x447040
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x4470db
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x14
push 0xc8
push 0x82
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4a7da4
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x4470db
push eax
push 0xd
mov ecx, edi
call fcn.0041a630
movaps xmm0, xmmword [0x4ab5d0]
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x3c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
xor eax, eax
movsd xmm0, qword [0x4ab350]
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x190
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
nop dword [eax + eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x447110
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
jne 0x447149
xor eax, eax
jmp 0x4471af
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x12
push 0x133
push 0xa0
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50010000
push eax
push str._a_____a_
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x4471af
push eax
push 0x1f
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab560]
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
push ecx
push eax
mov dword [ebp - 0x12c], eax
lea ecx, [edi + 0x148]
call fcn.004169c0
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
jne 0x4471dd
xor eax, eax
jmp 0x447243
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x12
push 0x133
push 0xbe
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50010000
push eax
push str._a______a_.
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x447243
push eax
push 0x1f
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab570]
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
push ecx
push eax
mov dword [ebp - 0x130], eax
lea ecx, [edi + 0x148]
call fcn.004169c0
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
jne 0x447271
xor eax, eax
jmp 0x4472d7
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x12
push 0x133
push 0xdc
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4a7e48
push str.SysLink
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x4472d7
push eax
push 0x1f
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab580]
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
push ecx
push eax
mov dword [ebp - 0x134], eax
lea ecx, [edi + 0x148]
call fcn.004169c0
movsd xmm0, qword [0x4ab360]
xor eax, eax
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x384
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
nop word [eax + eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x447320
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x4473bb
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x14
push 0xc8
push 0x104
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4a7e84
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x4473bb
push eax
push 0xd
mov ecx, edi
call fcn.0041a630
movaps xmm0, xmmword [0x4ab5e0]
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x3c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
xor eax, eax
movsd xmm0, qword [0x4ab350]
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x190
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
nop dword [eax + eax]
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x4473f0
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
push 0x122
push ecx
push 0x4ee1f8
lea ecx, [edi + 0x148]
call fcn.00415b60
sub esp, 8
mov dword [ebp - 0x48], eax
lea ecx, [edi + 0x148]
push 0x4ee264
push 0xffffffffffffffff
call fcn.004188b0
sub esp, 0x10
push 0x140
push ecx
push 0x4ee2f8
lea ecx, [edi + 0x148]
call fcn.00415b60
mov ecx, dword [ebp - 0x104]
sub esp, 8
add ecx, 0x148
mov edi, eax
push 0x4ee36c
push 0xffffffffffffffff
call fcn.004188b0
cmp dword [ebp - 0x44], 1
mov ecx, 0x148
mov eax, dword [ebp - 0x104]
jne 0x447489
mov edi, dword [ebp - 0x48]
push 4
push edi
add ecx, eax
call fcn.00417af0
mov edi, dword [ebp - 0x104]
xor eax, eax
movsd xmm0, qword [0x4ab360]
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x384
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x4474c3
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add esp, 0x10
add edi, 0x148
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x44755e
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x14
push 0xc8
push 0x168
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4ee41c
push 0x4a01b4
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x44755e
push eax
push 0xd
mov ecx, edi
call fcn.0041a630
movaps xmm0, xmmword [0x4ab5f0]
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x3c]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov edi, dword [ebp - 0x104]
xor eax, eax
movsd xmm0, qword [0x4ab350]
movsd qword [edi + 0x2b8], xmm0
mov dword [edi + 0x2c0], 0x190
mov byte [edi + 0x2c4], 1
mov byte [edi + 0x306], 0
nop
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x447590
inc eax
push eax
push str.Arial
lea eax, [edi + 0x2c6]
push 0x20
push eax
call fcn.0046e5a3
add edi, 0x148
add esp, 0x10
cmp dword [edi + 0x230], 0
je 0x44763c
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x44763c
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x12
push 0x133
push 0x186
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4ee44c
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x44763c
push eax
push 4
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab590]
mov dword [ebp - 0x138], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x447646
mov dword [ebp - 0x138], 0
mov edi, dword [ebp - 0x104]
sub esp, 8
push 0x4ee4b0
push 0xffffffffffffffff
lea ecx, [edi + 0x148]
call fcn.004188b0
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movq qword [ebp - 0x54], xmm0
call fcn.00426b30
push 0
push 1
push 1
push 0
push ecx
lea ecx, [edi + 0x994]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x4c], 1
call fcn.00401810
push eax
lea ecx, [ebp - 0x54]
call fcn.00402380
mov ecx, dword [ebp - 0x54]
mov edi, eax
test ecx, ecx
je 0x4476ab
push ecx
call fcn.0046b303
add esp, 4
test edi, edi
jg 0x4476c4
mov ecx, dword [ebp - 0x104]
push 4
push 0xffffffffffffffff
lea ecx, [ecx + 0x148]
call fcn.00417af0
mov edi, dword [ebp - 0x104]
add edi, 0x148
cmp dword [edi + 0x230], 0
je 0x447752
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x447752
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x1c
push 0x85
push 0x1ae
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4a03b0
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x447752
push eax
push 3
mov ecx, edi
call fcn.0041a630
mov ecx, dword [edi + 0x3c]
movaps xmm0, xmmword [0x4ab690]
mov dword [ebp - 0x128], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x44775c
mov dword [ebp - 0x128], 0
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xbc]
add edi, 0x148
add eax, 0xffffff67
mov dword [ebp - 0x2c], eax
cmp dword [edi + 0x230], 0
je 0x44781b
mov ecx, edi
call fcn.0041a8c0
test al, al
je 0x44781b
mov eax, dword [edi + 0x40]
push 0
push dword [edi + 0x11c]
inc eax
push eax
push dword [edi + 0x234]
movzx eax, byte [edi + 0x248]
push 0x1c
push 0x85
push 0x1ae
push dword [ebp - 0x2c]
and eax, 1
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4ee530
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x44781b
push eax
push 3
mov ecx, edi
call fcn.0041a630
mov ecx, eax
mov dword [ebp - 0x54], 0x1ae
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x18]
lea edx, [ecx + ecx*8]
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x50], 0x85
mov dword [ebp - 0x4c], 0x1c
movups xmm0, xmmword [ebp - 0x58]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x447820
xor eax, eax
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x104]
push eax
lea ecx, [edi + 0x148]
call fcn.00410490
push 2
push dword [ebp - 0x34]
lea ecx, [edi + 0x148]
mov dword [ebp - 0x2c], 0xffffffff
call fcn.00417af0
push 0
mov ecx, edi
call fcn.004409d0
test eax, eax
je 0x447e47
lea ecx, [edi + 0x148]
mov dword [ebp - 0x120], ecx
nop word [eax + eax]
mov eax, dword [edi + 0xd0]
cmp eax, 0xfffffffa
je 0x447e40
cmp dword [edi + 0x100], ecx
jne 0x447e1a
cmp eax, dword [ebp - 0x128]
je 0x447e47
cmp eax, dword [ebp - 0x12c]
jne 0x447da7
xor eax, eax
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x118], eax
jle 0x447e1a
mov esi, dword [ebp - 0x24]
nop word [eax + eax]
push eax
push dword [edi + 0x94]
call fcn.00419ab0
cmp eax, 1
je 0x447d70
cmp eax, 3
je 0x447d70
push 0
push dword [ebp - 0x108]
lea ecx, [edi + 0x148]
push dword [edi + 0x94]
call fcn.00419bd0
mov edi, eax
test edi, edi
jne 0x447928
test esi, esi
je 0x44790a
push esi
call fcn.0046b303
add esp, 4
push 2
mov byte [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
call fcn.0046b90c
mov esi, eax
add esp, 4
xor eax, eax
mov word [esi], ax
jmp 0x44793e
test esi, esi
je 0x447935
push esi
call fcn.0046b303
add esp, 4
mov esi, edi
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1c], 1
mov dword [ebp - 0x24], esi
cmp esi, str.2.11
je 0x447974
test esi, esi
je 0x447a2c
mov edi, str.2.11
mov eax, esi
sub eax, edi
mov dword [ebp - 0x110], eax
movzx eax, word [eax + edi]
mov ecx, eax
test ax, ax
jne 0x4479d3
cmp word [edi], ax
jne 0x4479d8
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], 0xf000
push eax
push dword [ebp - 0x108]
mov dword [ebp - 0xa8], 0x2000
push 0x102b
push dword [ebp - 0x114]
call dword [ebp - 0x11c]
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
lea ecx, [edi + 0x148]
inc eax
mov dword [ebp - 0x108], eax
cmp eax, dword [ebp - 0x118]
jl 0x4478c0
mov esi, dword [ebp - 0x28]
jmp 0x447e1a
cmp ax, word [edi]
je 0x447a1e
xor edx, edx
cmp dx, ax
jne 0x4479e7
mov dword [ebp - 0x10c], edx
jmp 0x4479f9
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x10c], eax
movzx eax, word [edi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447a09
xor eax, eax
jmp 0x447a15
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x10c], ax
jne 0x447a2c
mov eax, dword [ebp - 0x110]
add edi, 2
jmp 0x447964
cmp esi, 0x4a8160
je 0x447974
test esi, esi
je 0x447abc
mov edi, 0x4a8160
mov eax, esi
sub eax, edi
mov dword [ebp - 0x110], eax
nop
movzx eax, word [eax + edi]
mov ecx, eax
test ax, ax
jne 0x447a66
cmp word [edi], ax
je 0x447974
jmp 0x447a6b
cmp ax, word [edi]
je 0x447ab1
xor edx, edx
cmp dx, ax
jne 0x447a7a
mov dword [ebp - 0x10c], edx
jmp 0x447a8c
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x10c], eax
movzx eax, word [edi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447a9c
xor eax, eax
jmp 0x447aa8
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x10c], ax
jne 0x447abc
mov eax, dword [ebp - 0x110]
add edi, 2
jmp 0x447a50
cmp esi, 0x4a8168
je 0x447974
test esi, esi
je 0x447b4c
mov edi, 0x4a8168
mov eax, esi
sub eax, edi
mov dword [ebp - 0x110], eax
nop
movzx eax, word [eax + edi]
mov ecx, eax
test ax, ax
jne 0x447af6
cmp word [edi], ax
je 0x447974
jmp 0x447afb
cmp ax, word [edi]
je 0x447b41
xor edx, edx
cmp dx, ax
jne 0x447b0a
mov dword [ebp - 0x10c], edx
jmp 0x447b1c
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x10c], eax
movzx eax, word [edi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447b2c
xor eax, eax
jmp 0x447b38
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x10c], ax
jne 0x447b4c
mov eax, dword [ebp - 0x110]
add edi, 2
jmp 0x447ae0
cmp esi, 0x4a8170
je 0x447974
test esi, esi
je 0x447bdc
mov edi, 0x4a8170
mov eax, esi
sub eax, edi
mov dword [ebp - 0x110], eax
nop
movzx eax, word [eax + edi]
mov ecx, eax
test ax, ax
jne 0x447b86
cmp word [edi], ax
je 0x447974
jmp 0x447b8b
cmp ax, word [edi]
je 0x447bd1
xor edx, edx
cmp dx, ax
jne 0x447b9a
mov dword [ebp - 0x10c], edx
jmp 0x447bac
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x10c], eax
movzx eax, word [edi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447bbc
xor eax, eax
jmp 0x447bc8
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x10c], ax
jne 0x447bdc
mov eax, dword [ebp - 0x110]
add edi, 2
jmp 0x447b70
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x120]
push 1
push dword [ebp - 0x108]
push dword [eax + 0x94]
call fcn.00419bd0
mov edi, eax
test edi, edi
jne 0x447c2c
test esi, esi
je 0x447c0e
push esi
call fcn.0046b303
add esp, 4
push 2
mov byte [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
call fcn.0046b90c
mov esi, eax
add esp, 4
xor eax, eax
mov word [esi], ax
jmp 0x447c42
test esi, esi
je 0x447c39
push esi
call fcn.0046b303
add esp, 4
mov esi, edi
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1c], 1
mov dword [ebp - 0x24], esi
cmp esi, 0x4a8178
je 0x447974
test esi, esi
je 0x447cdc
mov edi, 0x4a8178
mov eax, esi
sub eax, edi
mov dword [ebp - 0x110], eax
nop dword [eax]
movzx eax, word [eax + edi]
mov ecx, eax
test ax, ax
jne 0x447c86
cmp word [edi], ax
je 0x447974
jmp 0x447c8b
cmp ax, word [edi]
je 0x447cd1
xor edx, edx
cmp dx, ax
jne 0x447c9a
mov dword [ebp - 0x10c], edx
jmp 0x447cac
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x10c], eax
movzx eax, word [edi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447cbc
xor eax, eax
jmp 0x447cc8
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x10c], ax
jne 0x447cdc
mov eax, dword [ebp - 0x110]
add edi, 2
jmp 0x447c70
cmp esi, 0x4ea524
je 0x447974
test esi, esi
je 0x4479a6
mov edi, 0x4ea524
mov eax, esi
sub eax, edi
mov dword [ebp - 0x110], eax
nop
movzx eax, word [eax + edi]
mov ecx, eax
test ax, ax
jne 0x447d16
cmp word [edi], ax
je 0x447974
jmp 0x447d1b
cmp ax, word [edi]
je 0x447d65
xor edx, edx
cmp dx, ax
jne 0x447d2a
mov dword [ebp - 0x10c], edx
jmp 0x447d3c
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x10c], eax
movzx eax, word [edi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x447d4c
xor eax, eax
jmp 0x447d58
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x10c], ax
jne 0x4479a6
mov eax, dword [ebp - 0x110]
add edi, 2
jmp 0x447d00
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], 0xf000
push eax
push dword [ebp - 0x108]
mov dword [ebp - 0xa8], 0x2000
push 0x102b
push dword [ebp - 0x114]
call dword [ebp - 0x11c]
jmp 0x4479ac
cmp eax, dword [ebp - 0x130]
jne 0x447dc4
push dword [ebp - 0x118]
mov ecx, edi
push dword [ebp - 0x114]
call fcn.00448330
jmp 0x447e1a
cmp eax, dword [ebp - 0x134]
jne 0x447e32
xor edi, edi
cmp dword [ebp - 0x118], edi
jle 0x447e14
mov esi, dword [ebp - 0x114]
nop dword [eax]
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xa4], 0xf000
push eax
push edi
push 0x102b
push esi
mov dword [ebp - 0xa8], 0x1000
call dword [ebp - 0x11c]
inc edi
cmp edi, dword [ebp - 0x118]
jl 0x447de0
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x104]
push 0
mov ecx, edi
call fcn.004409d0
test eax, eax
je 0x447e47
lea ecx, [edi + 0x148]
jmp 0x447870
cmp eax, dword [ebp - 0x18]
jne 0x447e1a
mov dword [ebp - 0x2c], 1
jmp 0x447e47
mov dword [ebp - 0x2c], 0xfffffffe
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0x13c], 1
test esi, esi
je 0x447e62
push esi
call edi
mov dword [ebp - 0x28], 0
push ecx
mov ecx, dword [ebp - 0x124]
or edx, 0xffffffff
call fcn.004054e0
cmp dword [ebp - 0x2c], 0
mov esi, eax
mov dword [ebp - 0x28], esi
jg 0x447e97
mov eax, dword [ebp - 0x104]
push 8
push dword [eax + 0x30]
lea ecx, [eax + 0x148]
call fcn.00417af0
jmp 0x448071
mov byte [ebp - 0x13c], 1
test esi, esi
je 0x447eac
push esi
call edi
mov dword [ebp - 0x28], 0
push ecx
mov ecx, dword [ebp - 0x124]
or edx, 0xffffffff
call fcn.004054e0
cmp dword [ebp - 0x118], 0
mov esi, eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x108], 0
jle 0x44803b
nop dword [eax]
mov edx, dword [ebp - 0x104]
mov eax, dword [edx + 0x94]
cmp eax, 0xffffffff
jne 0x447ef7
mov eax, dword [edx + 0x188]
mov ecx, dword [edx + 0x184]
test ecx, ecx
je 0x447fb9
cmp eax, 1
jl 0x447fb9
cmp eax, dword [edx + 0x188]
jg 0x447fb9
lea edi, [eax + eax*8]
cmp dword [ecx + edi*8 + 0xc], 0
je 0x447fb9
cmp dword [ecx + edi*8], 0xf
jne 0x447fb9
push 0x2000
call fcn.0046b90c
add esp, 4
mov dword [ebp - 0xec], eax
xor ecx, ecx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0xf8], 1
mov word [eax], cx
mov word [eax + 0x1ffe], cx
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x104]
push dword [ebp - 0x108]
mov dword [ebp - 0xe8], 0x1000
push 0x1073
mov eax, dword [eax + 0x184]
push dword [eax + edi*8 + 4]
call dword [ebp - 0x11c]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x447fa3
push eax
call fcn.0046b303
add esp, 4
mov edi, dword [ebp - 0x120]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x1c], 1
jmp 0x447fc6
push 0
lea ecx, [ebp - 0x24]
call fcn.00401a90
mov edi, dword [ebp - 0x24]
push 0xf000
push dword [ebp - 0x108]
push 0x102c
push dword [ebp - 0x114]
call dword [ebp - 0x11c]
shr eax, 0xd
test al, 1
jne 0x4480ee
test edi, edi
jne 0x448008
push 2
call fcn.0046b90c
mov edi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], eax
mov word [edi], ax
mov byte [ebp - 0x1c], 1
test esi, esi
je 0x44801c
test edi, edi
je 0x44801c
push edi
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x108]
inc ecx
mov dword [ebp - 0x108], ecx
cmp ecx, dword [ebp - 0x118]
jl 0x447ee0
mov ecx, dword [ebp - 0x104]
push 4
push dword [ebp - 0x48]
lea ecx, [ecx + 0x148]
call fcn.00418be0
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x44], eax
test esi, esi
je 0x448071
push 4
lea eax, [ebp - 0x44]
push eax
push 4
push 0
push 0x4a7bd8
push esi
call edi
mov ecx, dword [ebp - 0x104]
push 4
push dword [ebp - 0x138]
add ecx, 0x148
call fcn.00418be0
push ecx
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x104]
mov edi, eax
push dword [ebp - 0x30]
lea ecx, [ecx + 0x148]
call fcn.00416950
mov ecx, dword [ebp - 0x104]
push dword [ebp - 0x34]
lea ecx, [ecx + 0x148]
call fcn.00415ed0
mov eax, dword [ebp - 0x104]
push 0x20
push dword [eax + 0x30]
lea ecx, [eax + 0x148]
call fcn.00417af0
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0x94]
cmp ecx, 0xffffffff
jne 0x448237
mov ecx, dword [eax + 0x188]
jmp 0x44825e
mov edx, dword [ebp - 0x104]
mov eax, dword [edx + 0x94]
cmp eax, 0xffffffff
jne 0x448105
mov eax, dword [edx + 0x188]
mov ecx, dword [edx + 0x184]
test ecx, ecx
je 0x4481c7
cmp eax, 1
jl 0x4481c7
cmp eax, dword [edx + 0x188]
jg 0x4481c7
lea edi, [eax + eax*8]
cmp dword [ecx + edi*8 + 0xc], 0
je 0x4481c7
cmp dword [ecx + edi*8], 0xf
jne 0x4481c7
push 0x2000
call fcn.0046b90c
add esp, 4
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0xac], 2
mov word [eax], cx
mov word [eax + 0x1ffe], cx
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0x104]
push dword [ebp - 0x108]
mov dword [ebp - 0x9c], 0x1000
push 0x1073
mov eax, dword [eax + 0x184]
push dword [eax + edi*8 + 4]
call dword [ebp - 0x11c]
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4481b1
push eax
call fcn.0046b303
add esp, 4
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 1
jmp 0x4481d4
push 0
lea ecx, [ebp - 0x40]
call fcn.00401a90
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x44801c
cmp word [ecx], 0
je 0x44801c
test edx, edx
je 0x44801c
cmp word [edx], 0
je 0x44801c
mov byte [ebp - 0x38], 1
mov byte [ebp - 0x1c], 1
test esi, esi
je 0x44801c
xor eax, eax
nop dword [eax]
cmp word [edx + eax*2 + 2], 0
lea eax, [eax + 1]
jne 0x448210
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea eax, [eax*2 + 2]
push eax
push edx
push 1
push 0
push ecx
push esi
call edi
jmp 0x448022
mov edx, dword [eax + 0x184]
test edx, edx
je 0x448280
cmp ecx, 1
jl 0x448280
cmp ecx, dword [eax + 0x188]
jg 0x448280
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
mov eax, dword [ebp - 0x104]
je 0x448280
mov eax, dword [eax + 0x184]
lea edx, [ecx + ecx*8]
push 0
push 4
push 0x1036
push dword [eax + edx*8 + 4]
call dword [ebp - 0x11c]
mov eax, dword [ebp - 0x104]
test edi, edi
je 0x44828f
mov ecx, eax
call fcn.0044d190
mov edi, eax
jmp 0x448292
mov edi, dword [ebp - 0x2c]
test esi, esi
je 0x4482a2
cmp esi, 0xffffffff
je 0x4482a2
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4482b2
push eax
call fcn.0046b303
add esp, 4
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4482c2
push eax
call fcn.0046b303
add esp, 4
push dword [ebp - 0x124]
call fcn.0046b303
add esp, 4
jmp 0x4482d4
xor edi, edi
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x78]
test ecx, ecx
je 0x4482fd
test esi, esi
je 0x44830a
push dword [ebp - 0x60]
lea eax, [ebp - 0x78]
push dword [ebp - 0x70]
push eax
call fcn.0040f3c0
call fcn.00403920
test esi, esi
je 0x44830a
push esi
call fcn.0046b303
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046b2f5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8