Function at 0x450890
Capabilities:
Check if file exists
Initialize winsock library
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51be90
mov eax, dword fs:[0]
push eax
sub esp, 0x374
mov eax, dword [0x5ba11c]
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 esi, dword [ebp + 0x10]
call fcn.004c30a0
call fcn.004c1b00
push ecx
push dword [0x5c23f0]
lea ecx, [ebp - 0x1e8]
call fcn.0044fef0
call fcn.00450450
push 0x190
lea eax, [ebp - 0x1a0]
push 0
push eax
call fcn.004ed4d0
add esp, 0xc
lea eax, [ebp - 0x1a0]
push eax
push 0x202
call dword [sym.imp.WSOCK32.dll_WSAStartup]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
sub esp, 0xc
call fcn.0044d590
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x452199
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1bc], eax
mov eax, str.Russian.dll
test eax, 0xffff0000
jne 0x450952
movzx eax, ax
push eax
call fcn.00452740
jmp 0x45095e
push 0xb
push str.Russian.dll
call fcn.00453760
push esi
lea ecx, [ebp - 0x1dc]
call fcn.00452ac0
mov dword [ebp - 4], 0
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4521a3
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d8], 0x1f4
lea edi, [eax + 0x10]
mov dword [ebp - 0x1b0], 0
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1c0], edi
push eax
push 0x5819c4
lea eax, [ebp - 0x1a4]
push eax
call fcn.00452890
lea ecx, [ebp - 0x1a8]
push dword [eax]
call fcn.004523d0
mov edx, dword [ebp - 0x1a4]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 1
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450a05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
mov eax, dword [ebp - 0x1a8]
movsd qword [ebp - 0x1d0], xmm0
cmp dword [eax - 0xc], 0
je 0x45147b
jg 0x450a2e
or ebx, 0xffffffff
jmp 0x450a58
push 0x20
push eax
call fcn.004fb032
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x450a44
or ebx, 0xffffffff
jmp 0x450a58
mov eax, dword [ebp - 0x1a8]
sub ebx, eax
mov dword [ebp - 0x1ac], eax
jns 0x450b08
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1f95], 0
jne 0x450ab1
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x450aaa
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f95
sub esp, 0xc
push 0xb3
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x50
call fcn.004d0210
jmp 0x450aac
xor eax, eax
mov dword [0x5c450c], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c450c]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov ecx, dword [0x5c450c]
push dword [ebp - 0x1a8]
push ebx
mov eax, dword [ecx]
push str.command_line_parer_failed_with__d_at___s_
push ecx
call dword [eax + 0x48]
mov ecx, dword [0x5c450c]
add esp, 0x10
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c450c]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
or ebx, 0xffffffff
jmp 0x451415
cmp ebx, dword [eax - 0xc]
lea ecx, [eax - 0x10]
jl 0x450b1d
call fcn.00453880
lea esi, [eax + 0x10]
jmp 0x450bb3
mov dword [ebp - 4], 4
mov ecx, dword [ecx]
test ecx, ecx
je 0x450b3f
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], eax
jmp 0x450b41
xor ecx, ecx
mov byte [ebp - 4], 3
test ecx, ecx
jne 0x450b63
call fcn.0044d220
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x452199
test eax, eax
jne 0x450b7e
test ebx, ebx
jne 0x4521b7
mov eax, dword [ecx]
push 1
push ebx
call dword [eax]
test eax, eax
je 0x4521c1
cmp ebx, dword [eax + 8]
lea esi, [eax + 0x10]
jg 0x4521b7
push ebx
push dword [ebp - 0x1ac]
mov dword [esi - 0xc], ebx
mov edx, ebx
mov ecx, esi
mov byte [esi + ebx], 0
call fcn.0044a560
add esp, 8
push esi
lea ecx, [ebp - 0x1b4]
call fcn.00452ac0
add esi, 0xfffffff0
mov dword [ebp - 4], 5
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450bde
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebx + 1]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [eax - 0xc]
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.00452f30
mov esi, dword [ebp - 0x1c4]
xor ebx, ebx
mov al, byte [esi]
test al, al
je 0x450c8a
mov edi, esi
movsx eax, al
push eax
call fcn.004f984d
add esp, 4
test eax, eax
je 0x450c32
test ebx, ebx
mov eax, edi
cmovne eax, ebx
mov ebx, eax
jmp 0x450c34
xor ebx, ebx
push edi
call fcn.004f60a4
mov edi, eax
add esp, 4
mov al, byte [edi]
test al, al
jne 0x450c17
mov edi, dword [ebp - 0x1c0]
test ebx, ebx
je 0x450c8a
sub ebx, esi
js 0x4521b7
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, ebx
or eax, ecx
jge 0x450c7a
push ebx
lea ecx, [ebp - 0x1c4]
call fcn.004538e0
mov esi, dword [ebp - 0x1c4]
cmp ebx, dword [esi - 8]
jg 0x4521b7
mov dword [esi - 0xc], ebx
mov byte [ebx + esi], 0
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00452ac0
add esi, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 6
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450cb7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1b4]
mov edx, 0x5819f8
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x450cea
test si, si
je 0x450ce6
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x450cea
add ecx, 4
add edx, 4
test si, si
jne 0x450cc4
xor ecx, ecx
jmp 0x450cef
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
jne 0x450e83
mov eax, dword [ebp - 0x1c8]
mov esi, dword [ebp - 0x1bc]
lea ecx, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp ecx, ebx
je 0x450d7a
mov edx, dword [ebx + 0xc]
lea esi, [ebx + 0xc]
shr edx, 0x1f
test dl, dl
jne 0x450d65
mov edx, dword [ecx]
cmp edx, dword [ebx]
jne 0x450d65
call fcn.00453690
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 4], 8
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x450d53
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x1a4]
lea esi, [eax + 0x10]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1bc], esi
jmp 0x450d7a
push dword [ecx + 4]
lea ecx, [ebp - 0x1bc]
push eax
call fcn.00453760
mov esi, dword [ebp - 0x1bc]
call fcn.004d03a0
mov ebx, eax
mov ecx, ebx
call fcn.004d0140
cmp byte [0x5c1f81], 0
jne 0x450dd3
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x450dcc
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f81
sub esp, 0xc
push 0xbc
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x450dce
xor eax, eax
mov dword [0x5c4500], eax
mov ecx, ebx
call fcn.004d0150
mov ecx, dword [0x5c4500]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c4500]
mov eax, dword [eax]
mov ebx, dword [eax + 0x48]
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x452199
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1ac]
push esi
mov dword [ebp - 0x1ac], eax
call fcn.00452e50
test al, al
jne 0x450e2e
push esi
lea ecx, [ebp - 0x1ac]
call fcn.00452330
mov esi, dword [ebp - 0x1ac]
push esi
push str.Set_sLanguageDll_to___s_
push dword [0x5c4500]
call ebx
add esp, 0xc
add esi, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 9
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450e66
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x5c4500]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4500]
jmp 0x4513bb
mov ecx, 0x581a1c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x450eae
test dx, dx
je 0x450eaa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x450eae
add eax, 4
add ecx, 4
test dx, dx
jne 0x450e88
xor eax, eax
jmp 0x450eb3
sbb eax, eax
or eax, 1
mov dword [ebp - 4], 0xffffffff
test eax, eax
jne 0x451037
mov eax, dword [ebp - 0x1c8]
lea esi, [edi - 0x10]
lea ecx, [eax - 0x10]
cmp ecx, esi
je 0x450f2e
mov edx, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr edx, 0x1f
test dl, dl
jne 0x450f19
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x450f19
call fcn.00453690
mov ebx, eax
mov dword [ebp - 4], 0xb
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x450f07
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
lea edi, [ebx + 0x10]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c0], edi
jmp 0x450f2e
push dword [ecx + 4]
lea ecx, [ebp - 0x1c0]
push eax
call fcn.00453760
mov edi, dword [ebp - 0x1c0]
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1f76], 0
jne 0x450f87
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x450f80
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f76
sub esp, 0xc
push 0xc1
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x450f82
xor eax, eax
mov dword [0x5c452c], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c452c]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c452c]
mov eax, dword [eax]
mov ebx, dword [eax + 0x48]
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x452199
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1ac]
push edi
mov dword [ebp - 0x1ac], eax
call fcn.00452e50
test al, al
jne 0x450fe2
push edi
lea ecx, [ebp - 0x1ac]
call fcn.00452330
mov esi, dword [ebp - 0x1ac]
push esi
push str.Set_sAgentMsi_to___s_
push dword [0x5c452c]
call ebx
add esp, 0xc
add esi, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 0xc
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45101a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x5c452c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c452c]
jmp 0x4513bb
mov edx, 0x581a3c
lea ecx, [ebp - 0x1b4]
call fcn.004524f0
test al, al
je 0x451104
push dword [ebp - 0x1c8]
call fcn.004fad90
add esp, 4
mov dword [ebp - 0x1d8], eax
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1fa9], 0
jne 0x4510bc
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x4510b5
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1fa9
sub esp, 0xc
push 0xc6
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x4510b7
xor eax, eax
mov dword [0x5c4520], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c4520]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov ecx, dword [0x5c4520]
push dword [ebp - 0x1d8]
push str.Set_lDelay_ms_to___d_
mov eax, dword [ecx]
push ecx
call dword [eax + 0x48]
mov ecx, dword [0x5c4520]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4520]
jmp 0x4513bb
mov edx, 0x581a58
lea ecx, [ebp - 0x1b4]
call fcn.004524f0
test al, al
je 0x4511d1
push dword [ebp - 0x1c8]
call fcn.004fad90
add esp, 4
mov dword [ebp - 0x1d4], eax
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1f75], 0
jne 0x451189
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x451182
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f75
sub esp, 0xc
push 0xcb
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x451184
xor eax, eax
mov dword [0x5c4524], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c4524]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov ecx, dword [0x5c4524]
push dword [ebp - 0x1d4]
push str.Set_ParThreads_to___d_
mov eax, dword [ecx]
push ecx
call dword [eax + 0x48]
mov ecx, dword [0x5c4524]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4524]
jmp 0x4513bb
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1f98], 0
jne 0x45122a
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x451223
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f98
sub esp, 0xc
push 0xcf
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x28
call fcn.004d0210
jmp 0x451225
xor eax, eax
mov dword [0x5c4514], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c4514]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c4514]
mov eax, dword [eax]
mov ebx, dword [eax + 0x48]
mov dword [ebp - 4], 0xe
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x451267
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x451269
xor eax, eax
mov byte [ebp - 4], 0xd
test eax, eax
jne 0x45127d
call fcn.0044d220
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov dword [ebp - 4], 0xf
test eax, eax
je 0x452199
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1ac]
push 1
push eax
push dword [edx - 0xc]
mov dword [ebp - 0x1ac], 0x20
call fcn.004534b0
add esp, 0xc
lea eax, [ebp - 0x1c8]
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x1e0]
push eax
call fcn.00452680
add esp, 4
mov esi, dword [eax]
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x452199
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1ac]
push esi
mov dword [ebp - 0x1ac], eax
call fcn.00452e50
test al, al
jne 0x451323
push esi
lea ecx, [ebp - 0x1ac]
call fcn.00452330
mov esi, dword [ebp - 0x1ac]
push esi
push str.Config_file_contains_unknown_value___s_
push dword [0x5c4514]
call ebx
add esp, 0xc
add esi, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 0x10
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45135b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1e0]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x11
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45137f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1a4]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x12
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4513a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x5c4514]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4514]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
mov edx, dword [ebp - 0x1c8]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x13
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4513ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1b4]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x14
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45140e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1b0]
push eax
push 0x5819c4
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00452890
lea ecx, [ebp - 0x1a8]
push dword [eax]
call fcn.00452330
mov edx, dword [ebp - 0x1b8]
add edx, 0xfffffff0
mov dword [ebp - 4], 2
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451464
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1a8]
cmp dword [eax - 0xc], 0
jne 0x450a27
lea edx, [eax - 0x10]
mov dword [ebp - 4], 0x15
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451499
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x1bc]
push str.English.dll
push edi
call fcn.004f99a9
add esp, 8
test eax, eax
sete bl
mov dword [ebp - 4], 0x16
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4521ad
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 4], 0xffffffff
mov ecx, 1
sub ecx, dword [eax + 0xc]
lea esi, [eax + 0x10]
movzx eax, bl
mov dword [ebp - 0x1b0], eax
add eax, 0x78
mov dword [ebp - 0x1e0], eax
mov eax, dword [esi - 8]
sub eax, 0x104
mov dword [ebp - 0x1a8], esi
or eax, ecx
jge 0x451519
push 0x104
lea ecx, [ebp - 0x1a8]
call fcn.004536f0
mov esi, dword [ebp - 0x1a8]
push 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
neg eax
sbb ebx, ebx
neg ebx
mov dword [ebp - 4], 0x17
push dword [esi - 8]
push esi
call fcn.004f5e70
add esp, 8
test eax, eax
js 0x4521b7
cmp eax, dword [esi - 8]
jg 0x4521b7
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x4521c6
lea ecx, [ebp - 0x1a8]
call fcn.00452240
push edi
lea ecx, [ebp - 0x1a8]
call fcn.004522b0
mov esi, dword [ebp - 0x1a8]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4516fc
call fcn.004d03a0
mov edi, eax
mov ecx, edi
call fcn.004d0140
cmp byte [0x5c1f96], 0
jne 0x4515ee
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x4515e7
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f96
sub esp, 0xc
push 0xda
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x4515e9
xor eax, eax
mov dword [0x5c44fc], eax
mov ecx, edi
call fcn.004d0150
mov ecx, dword [0x5c44fc]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c44fc]
mov eax, dword [eax]
mov ebx, dword [eax + 0x48]
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4521e3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1a4]
push esi
mov dword [ebp - 0x1a4], eax
call fcn.00452e50
test al, al
jne 0x451649
push esi
lea ecx, [ebp - 0x1a4]
call fcn.00452330
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4521ed
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1c4]
push esi
mov dword [ebp - 0x1c4], eax
call fcn.00452e50
test al, al
jne 0x451682
push esi
lea ecx, [ebp - 0x1c4]
call fcn.00452330
mov edi, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x1c4]
push edi
push esi
push str.File___s__not_exists._File___s__will_be_extract.
push dword [0x5c44fc]
call ebx
add esp, 0x10
add esi, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 0x18
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4516c1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov dword [ebp - 4], 0x19
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4516df
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x5c44fc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c44fc]
jmp 0x451800
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1f80], 0
jne 0x451755
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x45174e
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f80
sub esp, 0xc
push 0xdc
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x451750
xor eax, eax
mov dword [0x5c4528], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c4528]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c4528]
mov eax, dword [eax]
mov ebx, dword [eax + 0x48]
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x4521f7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x1a4]
push edi
mov dword [ebp - 0x1a4], eax
call fcn.00452e50
test al, al
jne 0x4517b0
push edi
lea ecx, [ebp - 0x1a4]
call fcn.00452330
mov esi, dword [ebp - 0x1a4]
push esi
push str.File___s__exists_and_will_be_overwritten.
push dword [0x5c4528]
call ebx
add esp, 0xc
add esi, 0xfffffff0
or ebx, 0xffffffff
mov dword [ebp - 4], 0x1a
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4517e8
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x5c4528]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4528]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.004500b0
push 0
push 0
push dword [ebp - 0x1a8]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
jne 0x451a09
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 4], 0x1b
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x452201
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
mov edx, esi
mov dword [ebp - 0x1b0], eax
lea ecx, [ebp - 0x1b8]
call fcn.0044f250
push dword [eax]
lea eax, [ebp - 0x1b0]
push str.Cant_find_path_to_the_application_resources__error:___s_
push eax
call fcn.00453b60
mov edx, dword [ebp - 0x1b8]
add esp, 0xc
add edx, 0xfffffff0
mov dword [ebp - 4], 0x1c
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4518b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
call fcn.004d03a0
mov esi, eax
mov ecx, esi
call fcn.004d0140
cmp byte [0x5c1f99], 0
jne 0x451911
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x45190a
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f99
sub esp, 0xc
push 0xe8
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x20
call fcn.004d0210
jmp 0x45190c
xor eax, eax
mov dword [0x5c4538], eax
mov ecx, esi
call fcn.004d0150
mov ecx, dword [0x5c4538]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov eax, dword [0x5c4538]
mov eax, dword [eax]
mov ebx, dword [eax + 0x48]
call fcn.0044d220
mov ecx, eax
test ecx, ecx
je 0x45220b
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x1a4]
add eax, 0x10
push edi
mov dword [ebp - 0x1a4], eax
call fcn.00452e50
test al, al
jne 0x451972
push edi
lea ecx, [ebp - 0x1a4]
call fcn.00452330
mov esi, dword [ebp - 0x1a4]
push esi
push 0x5817d0
push dword [0x5c4538]
call ebx
add esp, 0xc
add esi, 0xfffffff0
mov dword [ebp - 4], 0x1d
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4519a8
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x5c4538]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4538]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
push 0x10
push 0x58186c
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
add edi, 0xfffffff0
or esi, 0xffffffff
mov dword [ebp - 4], 0x1e
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4519fc
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x1c0]
xor ebx, ebx
jmp 0x4520c0
mov eax, esi
mov ecx, 0x5c0c18
xchg dword [ecx], eax
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x1b0]
add eax, 0x82
mov dword [ebp - 0x1b0], eax
call fcn.00450270
call fcn.00487110
mov bl, al
test bl, bl
jne 0x451ba0
push dword [ebp - 0x1b0]
lea ecx, [ebp - 0x244]
call fcn.004866a0
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov edi, eax
mov eax, dword [ebp - 0x230]
test eax, eax
jne 0x451a7c
call fcn.004d0fbb
mov dword [ebp - 0x230], eax
test eax, eax
jne 0x451a7c
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
or edi, 0xffffffff
jmp 0x451ae6
push 0
push 0
push eax
call fcn.004d10bd
lea eax, [ebp - 0x244]
mov dword [ebp - 0x23c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x238], eax
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5bac6c
call eax
mov eax, dword [0x5bac84]
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x23c]
push 0x5bac6c
mov dword [0x5bac84], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x453c80
push edi
push 0xc1
push dword [0x5c0c18]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov edi, eax
call fcn.004d03a0
mov ebx, eax
mov ecx, ebx
call fcn.004d0140
cmp byte [0x5c1f94], 0
jne 0x451b3f
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x451b38
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1f94
sub esp, 0xc
push 0xf7
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x48
call fcn.004d0210
jmp 0x451b3a
xor eax, eax
mov dword [0x5c4530], eax
mov ecx, ebx
call fcn.004d0150
mov ecx, dword [0x5c4530]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov ecx, dword [0x5c4530]
push edi
push str.License_modal_result__d
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x5c4530]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4530]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
cmp edi, 1
sete bl
jne 0x451b95
call fcn.00487160
lea ecx, [ebp - 0x244]
call fcn.00486760
or eax, 0xffffffff
mov dword [ebp - 0x1b0], eax
test bl, bl
je 0x451ed1
mov ebx, dword [0x5c1f9c]
xorps xmm0, xmm0
add ebx, 0x10
mov dword [ebp - 0x220], 0x581c84
push ebx
movups xmmword [ebp - 0x21c], xmm0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x5c24bc]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [edi + 8]
push 4
inc ecx
mov dword [ebp - 0x1b8], eax
push ecx
push dword [edi]
call fcn.004f98b5
add esp, 0xc
test eax, eax
je 0x451c55
mov dword [edi], eax
mov eax, dword [edi + 8]
push 4
inc eax
push eax
push dword [edi + 4]
call fcn.004f98b5
add esp, 0xc
test eax, eax
je 0x451c55
mov ecx, dword [edi + 8]
mov dword [edi + 4], eax
lea edx, [ecx*4]
mov ecx, dword [edi]
add ecx, edx
je 0x451c46
mov eax, dword [ebp - 0x1b8]
mov dword [ecx], eax
mov eax, dword [edi + 4]
add eax, edx
je 0x451c52
lea ecx, [ebp - 0x220]
mov dword [eax], ecx
inc dword [edi + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call ebx
push dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1c0]
lea ecx, [ebp - 0x380]
push dword [ebp - 0x1d8]
push edi
call fcn.0045b9b0
lea ecx, [ebp - 0x380]
call fcn.0046b030
mov eax, dword [ebp - 0x36c]
test eax, eax
jne 0x451caa
call fcn.004d0fbb
mov dword [ebp - 0x36c], eax
test eax, eax
jne 0x451caa
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x451d10
push 0
push 0
push eax
call fcn.004d10bd
lea eax, [ebp - 0x380]
mov dword [ebp - 0x378], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x374], eax
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5bac6c
call eax
mov eax, dword [0x5bac84]
mov dword [ebp - 0x370], eax
lea eax, [ebp - 0x378]
push 0x5bac6c
mov dword [0x5bac84], eax
call ebx
push 0
push 0x453c80
push 0
push 0x6b
push dword [0x5c0c18]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
test eax, eax
jne 0x451d66
lea ecx, [ebp - 0x380]
call fcn.0045c650
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x451d38
push eax
call fcn.004fc443
add esp, 4
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
test eax, eax
je 0x451d5f
push eax
call fcn.004fc443
add esp, 4
xor ebx, ebx
jmp 0x4520b6
push dword [ebp + 0x14]
push dword [ebp - 0x37c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, 1
xor ebx, ebx
mov dword [ebp - 0x1b4], edx
test edx, edx
je 0x451dbc
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x451dbc
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x220]
push ebx
inc ebx
mov edx, dword [eax + 4]
call edx
test eax, eax
jne 0x451d86
mov dword [ebp - 0x1b4], eax
push 0
push 0
push 0
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
mov edx, dword [ebp - 0x1b4]
cmp eax, 0xffffffff
je 0x451d82
test eax, eax
je 0x451e68
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x204]
push ecx
lea ecx, [ebp - 0x220]
call dword [eax]
test eax, eax
jne 0x451e15
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [ebp - 0x200]
cmp eax, 0x118
ja 0x451e30
je 0x451e52
cmp eax, 0xf
je 0x451e52
cmp eax, 0xa0
jmp 0x451e35
cmp eax, 0x200
je 0x451e52
mov ecx, 1
xor eax, eax
test ecx, ecx
mov edx, ecx
mov dword [ebp - 0x1b4], edx
cmove eax, ebx
mov ebx, eax
jmp 0x451d82
mov edx, dword [ebp - 0x1b4]
xor ecx, ecx
xor eax, eax
test ecx, ecx
cmove eax, ebx
mov ebx, eax
jmp 0x451d82
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x1b0], eax
call fcn.0044d690
lea ecx, [ebp - 0x380]
call fcn.0045c650
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x451ea1
push eax
call fcn.004fc443
add esp, 4
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
test eax, eax
je 0x451f78
push eax
call fcn.004fc443
add esp, 4
jmp 0x451f78
call fcn.004d03a0
mov edi, eax
mov ecx, edi
call fcn.004d0140
cmp byte [0x5c1fa3], 0
jne 0x451f2a
mov ecx, 0xf0
call fcn.004d0a00
test eax, eax
je 0x451f23
movsd xmm0, qword [ebp - 0x1d0]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x5c1fa3
sub esp, 0xc
push 0x117
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerInstallerUIMain.cpp
push 0x50
call fcn.004d0210
jmp 0x451f25
xor eax, eax
mov dword [0x5c4508], eax
mov ecx, edi
call fcn.004d0150
mov ecx, dword [0x5c4508]
lea ecx, [ecx + 0xd0]
call fcn.004d0140
mov ecx, dword [0x5c4508]
push str.EULA_not_signed__exit.
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x5c4508]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x5c4508]
lea ecx, [ecx + 0xd0]
call fcn.004d0150
mov edi, dword [ebp - 0x1c0]
mov eax, dword [0x5c1f9c]
add eax, 0x10
push eax
mov dword [ebp - 0x1b8], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x5c24c0]
test ebx, ebx
je 0x451fdf
cmp dword [ebx + 4], 0
jle 0x451fad
mov eax, dword [ebx]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ebx, dword [0x5c24c0]
test ebx, ebx
je 0x451fdf
mov eax, dword [ebx]
test eax, eax
je 0x451fc6
push eax
call fcn.004fc443
add esp, 4
mov dword [ebx], 0
push 0xc
push ebx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
call fcn.004eb418
add esp, 8
push dword [ebp - 0x1b8]
mov dword [0x5c24c0], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [0x5c24bc]
test ebx, ebx
je 0x45203d
mov eax, dword [ebx]
test eax, eax
je 0x452014
push eax
call fcn.004fc443
add esp, 4
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x45202b
push eax
call fcn.004fc443
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
mov dword [ebx + 8], 0
call fcn.004eb418
add esp, 8
mov dword [ebp - 4], 0x27
mov ebx, dword [0x5c24b4]
test ebx, ebx
je 0x452076
cmp dword [ebx], 0
je 0x452076
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x452060
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebx + 0x20]
push 0
mov dword [ebx + 0x10], 0
call eax
add ebx, 0x24
cmp dword [ebx], 0
jne 0x452053
mov ebx, dword [0x5bac9c]
mov ecx, dword [0x5baca0]
cmp ebx, ecx
jae 0x4520a0
mov eax, dword [ebx]
test eax, eax
je 0x452099
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x5baca0]
add ebx, 4
cmp ebx, ecx
jb 0x452086
mov ecx, 0x5c2488
call fcn.0044a9c0
call dword [sym.imp.WSOCK32.dll_WSACleanup]
mov ebx, dword [ebp - 0x1b0]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
or esi, 0xffffffff
mov edx, dword [ebp - 0x1a8]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x28
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4520e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov dword [ebp - 4], 0x29
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x452102
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1dc]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x2a
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x452126
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1bc]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x2b
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x452148
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x2c
cmp byte [ebp - 0x1e4], 0
mov ecx, dword [ebp - 0x1e8]
je 0x45216f
test ecx, ecx
je 0x452168
mov eax, dword [ecx]
push 1
call dword [eax]
call fcn.004d0980
jmp 0x452179
test ecx, ecx
je 0x452179
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, ebx
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.004eabba
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80070057
call fcn.0044a700
call fcn.00453750
push 0x80004005
lea ecx, [ebp - 0x1b8]
call fcn.0044a6e0
push 0x5b6dcc
mov eax, ecx
push eax
call fcn.004edba4
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
push 0x80004005
call fcn.0044a700
int3