Function at 0x451dc0
Capabilities:
Link many functions at runtime
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58bb68
mov eax, dword fs:[0]
push eax
sub esp, 0x318
mov eax, dword [0x5fae30]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
xor esi, esi
mov eax, ecx
mov dword [ebp - 0x2d4], esi
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edi
cmp dword [eax + 8], esi
je 0x451e8f
push 0x1f
mov ebx, 0xf
push str.CDLLManager__no_DLL_set_to_load
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x22c], esi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea eax, [ebp - 0x23c]
push esi
push eax
mov dword [ebp - 4], esi
call fcn.00404449
mov ecx, eax
call fcn.00407112
cmp dword [ebp - 0x228], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x451e72
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.0053ed60
add esp, 4
push esi
mov dword [edi + 0x14], ebx
mov dword [edi + 0x10], esi
push 0x5b2c3f
mov ecx, edi
mov byte [edi], 0
call fcn.00402a36
mov eax, edi
jmp 0x4529be
push 0x50
lea edx, [ebp - 0x324]
push esi
push edx
call fcn.005409b0
add esp, 0xc
cmp dword [ebx + 0x14], 8
jb 0x451ea9
mov ebx, dword [ebx]
push 0x104
lea eax, [ebp - 0x220]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor ecx, ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], esi
mov word [ebp - 0x23c], cx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x451ee0
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x220]
push edx
lea ecx, [ebp - 0x23c]
call fcn.00403594
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x290]
push ecx
mov dword [ebp - 4], 1
call fcn.00406569
push eax
lea edx, [ebp - 0x258]
push str.CDLLManager__trying_to_load:
push edx
mov byte [ebp - 4], 2
call fcn.0040367f
add esp, 0x14
push esi
push eax
mov byte [ebp - 4], 3
call fcn.00404449
mov ecx, eax
call fcn.00407112
mov edi, 0x10
cmp dword [ebp - 0x244], edi
jb 0x451f63
mov eax, dword [ebp - 0x258]
push eax
call fcn.0053ed60
add esp, 4
mov ebx, 0xf
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x248], esi
mov byte [ebp - 0x258], 0
cmp dword [ebp - 0x27c], edi
jb 0x451f92
mov ecx, dword [ebp - 0x290]
push ecx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x228], 8
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x280], esi
mov byte [ebp - 0x290], 0
mov dword [ebp - 4], 0xffffffff
jb 0x451fc4
mov edx, dword [ebp - 0x23c]
push edx
call fcn.0053ed60
add esp, 4
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
mov dword [ebp - 0x324], ebx
cmp ebx, esi
jne 0x452200
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
push eax
lea ecx, [ebp - 0x2ac]
push ecx
call fcn.004080a8
push eax
lea edx, [ebp - 0x290]
push str.CDLLManager__failed_to_load_DLL_with_error
push edx
mov dword [ebp - 4], 4
call fcn.0040367f
add esp, 0x14
push esi
push eax
mov byte [ebp - 4], 5
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
cmp dword [ebp - 0x27c], edi
jb 0x45203b
mov eax, dword [ebp - 0x290]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x27c], 0xf
mov dword [ebp - 0x280], esi
mov byte [ebp - 0x290], 0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x298], edi
jb 0x452070
mov ecx, dword [ebp - 0x2ac]
push ecx
call fcn.0053ed60
add esp, 4
call ebx
push eax
lea edx, [ebp - 0x274]
push edx
call fcn.004080a8
add esp, 8
mov ebx, eax
xor eax, eax
mov word [ebp - 0x23c], ax
lea eax, [ebp - 0x220]
mov dword [ebp - 4], 6
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4520b0
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x23c]
call fcn.00403594
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x2ac]
push eax
mov byte [ebp - 4], 7
call fcn.00406569
push eax
lea ecx, [ebp - 0x258]
push str.Failed_to_load_file:
push ecx
mov byte [ebp - 4], 8
call fcn.0040367f
push 0x5b2d08
push eax
lea edx, [ebp - 0x290]
push edx
mov byte [ebp - 4], 9
call fcn.00407c9d
push ebx
push eax
mov eax, dword [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0xa
call fcn.00407cd9
add esp, 0x2c
cmp dword [ebp - 0x27c], edi
jb 0x452141
mov ecx, dword [ebp - 0x290]
push ecx
call fcn.0053ed60
add esp, 4
mov ebx, 0xf
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x280], esi
mov byte [ebp - 0x290], 0
cmp dword [ebp - 0x244], edi
jb 0x452170
mov edx, dword [ebp - 0x258]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x248], esi
mov byte [ebp - 0x258], 0
cmp dword [ebp - 0x298], edi
jb 0x45219a
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x228], 8
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x29c], esi
mov byte [ebp - 0x2ac], 0
jb 0x4521c5
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.0053ed60
add esp, 4
xor edx, edx
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], esi
mov word [ebp - 0x23c], dx
cmp dword [ebp - 0x260], edi
jb 0x4521f5
mov eax, dword [ebp - 0x274]
push eax
call fcn.0053ed60
add esp, 4
mov eax, dword [ebp - 0x2cc]
jmp 0x4529be
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x5b2d34
push ebx
call esi
push 0x5b2d44
mov edi, eax
push ebx
mov dword [ebp - 0x320], edi
call esi
push 0x5b2d54
push ebx
mov dword [ebp - 0x31c], eax
call esi
push 0x5b2d64
push ebx
mov dword [ebp - 0x318], eax
call esi
push 0x5b2d7c
push ebx
mov dword [ebp - 0x314], eax
call esi
push 0x5b2d88
push ebx
mov dword [ebp - 0x310], eax
call esi
push 0x5b2d9c
push ebx
mov dword [ebp - 0x30c], eax
call esi
push 0x5b2dac
push ebx
mov dword [ebp - 0x308], eax
call esi
push str.DLLQueryData
push ebx
mov dword [ebp - 0x304], eax
call esi
push str.DLLSetFunctions
push ebx
mov dword [ebp - 0x2e8], eax
call esi
mov dword [ebp - 0x2e4], eax
xor eax, eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 4], 0xb
cmp edi, eax
jne 0x45230d
push 0xc
push str.PCInitialize
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], 0xf
mov dword [ebp - 0x22c], eax
mov byte [ebp - 0x23c], al
call fcn.00402a36
lea ecx, [ebp - 0x23c]
push ecx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xc
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x45230d
mov edx, dword [ebp - 0x23c]
push edx
call fcn.0053ed60
add esp, 4
xor edi, edi
lea esi, [edi + 0xf]
cmp dword [ebp - 0x31c], edi
jne 0x452371
push 0xe
push str.PCUninitialize
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xd
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x452371
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x318], edi
jne 0x4523d0
push 0xd
push 0x5b2e00
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea edx, [ebp - 0x23c]
push edx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xe
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x4523d0
mov eax, dword [ebp - 0x23c]
push eax
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x314], edi
jne 0x45242f
push 0x16
push str.HandleProxyHTTPConnect
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea ecx, [ebp - 0x23c]
push ecx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xf
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x45242f
mov edx, dword [ebp - 0x23c]
push edx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x310], edi
jne 0x45248e
push 0xa
push str.Deallocate
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x10
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x45248e
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x30c], edi
jne 0x4524ed
push 0x11
push str.DataBeforeReceive
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea edx, [ebp - 0x23c]
push edx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x11
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x4524ed
mov eax, dword [ebp - 0x23c]
push eax
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x308], edi
jne 0x45254c
push 0xe
push str.DataBeforeSend
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea ecx, [ebp - 0x23c]
push ecx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x12
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x45254c
mov edx, dword [ebp - 0x23c]
push edx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x304], edi
jne 0x4525ab
push 0x10
push 0x5b2e58
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x13
call fcn.00407031
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x4525ab
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.0053ed60
add esp, 4
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x248]
jne 0x452857
push 0x50
call fcn.0053f7d7
add esp, 4
cmp eax, edi
je 0x4525dc
mov ecx, 0x14
lea esi, [ebp - 0x324]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x4525de
xor eax, eax
mov ecx, dword [ebp - 0x2d0]
push 0
mov dword [ecx + 8], eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x234], 0x403738
mov dword [ebp - 0x230], 0x401a96
mov dword [ebp - 0x22c], 0x403652
mov dword [ebp - 0x228], 0x406726
mov dword [ebp - 0x224], 0x4017b7
mov dword [ebp - 0x238], 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x2e4]
test eax, eax
je 0x452642
lea edx, [ebp - 0x238]
push edx
call eax
call dword [ebp - 0x320]
mov dword [ebp - 4], 0xb
test al, al
jne 0x4526c0
jmp 0x452668
mov esi, dword [ebp - 0x2d0]
mov eax, dword [esi + 8]
push eax
call fcn.0053ed60
add esp, 4
push ebx
mov dword [esi + 8], 0
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push str.CDLLManager__DLL_failed_init_message
lea ecx, [ebp - 0x274]
call fcn.00403dfa
lea eax, [ebp - 0x274]
push 0
push eax
mov byte [ebp - 4], 0x16
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0xb
call fcn.0040583f
xor edi, edi
cmp dword [ebp - 0x2e8], edi
jne 0x452701
push str.CDLLManager__DLLQueryData_not_found__it_means_first_generation_DLL_that_cant_be_queried
lea ecx, [ebp - 0x274]
call fcn.00403dfa
lea ecx, [ebp - 0x274]
push edi
push ecx
mov byte [ebp - 4], 0x17
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0xb
call fcn.0040583f
cmp dword [ebp - 0x2e4], edi
je 0x452740
push str.CDLLManager__DLLSetFunctions_found
lea ecx, [ebp - 0x274]
call fcn.00403dfa
lea edx, [ebp - 0x274]
push edi
push edx
mov byte [ebp - 4], 0x18
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0xb
call fcn.0040583f
push 0x23
push str.CDLLManager__DLL_loaded_successfuly
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], 0xf
mov dword [ebp - 0x22c], edi
mov byte [ebp - 0x23c], 0
call fcn.00402a36
lea eax, [ebp - 0x23c]
push edi
push eax
mov byte [ebp - 4], 0x19
call fcn.00404449
mov ecx, eax
call fcn.00407112
cmp dword [ebp - 0x228], 0x10
mov byte [ebp - 4], 0xb
jb 0x45279d
mov ecx, dword [ebp - 0x23c]
push ecx
call fcn.0053ed60
add esp, 4
push str.dllhttponly
lea ecx, [ebp - 0x2ac]
call fcn.00406802
lea edx, [ebp - 0x2ac]
push edx
mov byte [ebp - 4], 0x1a
call fcn.00407554
add esp, 4
cmp eax, 1
sete bl
cmp dword [ebp - 0x298], 8
mov byte [ebp - 4], 0xb
jb 0x4527e2
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0053ed60
add esp, 4
test bl, bl
je 0x452827
mov ecx, dword [ebp - 0x2d0]
mov byte [ecx + 0x20], 1
push str.CDLLManager__DLL_in_HTTP_mode_only
lea ecx, [ebp - 0x274]
call fcn.00403dfa
lea edx, [ebp - 0x274]
push edi
push edx
mov byte [ebp - 4], 0x1b
call fcn.00404449
mov ecx, eax
call fcn.00407112
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0xb
call fcn.0040583f
mov esi, dword [ebp - 0x2cc]
push edi
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edi
push 0x5b2c72
mov ecx, esi
mov byte [esi], 0
call fcn.00402a36
lea ecx, [ebp - 0x24c]
call fcn.00405abf
jmp 0x4529bc
mov dword [ebp - 0x2b4], esi
mov dword [ebp - 0x2b8], edi
mov byte [ebp - 0x2c8], 0
push 0x27
mov ebx, 0x1c
push str.Failed_mapping_the_following_functions:
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], bl
call fcn.00402a36
mov ecx, dword [ebp - 0x248]
sub ecx, dword [ebp - 0x24c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4528f9
mov esi, dword [ebp - 0x24c]
mov edi, eax
lea ecx, [ecx]
push esi
lea eax, [ebp - 0x274]
push 0x5b2f9c
push eax
call fcn.00408a0d
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x1d
call fcn.0040373d
cmp dword [ebp - 0x260], 0x10
mov byte [ebp - 4], bl
jb 0x4528f4
mov ecx, dword [ebp - 0x274]
push ecx
call fcn.0053ed60
add esp, 4
add esi, ebx
dec edi
jne 0x4528b0
lea edx, [ebp - 0x2c8]
push edx
lea eax, [ebp - 0x274]
push str.CDLLManager_
push eax
call fcn.00408a0d
add esp, 0xc
push edi
push eax
mov byte [ebp - 4], 0x1e
call fcn.00404449
mov ecx, eax
call fcn.00403bd4
cmp dword [ebp - 0x260], 0x10
mov byte [ebp - 4], bl
jb 0x452941
mov ecx, dword [ebp - 0x274]
push ecx
call fcn.0053ed60
add esp, 4
mov esi, dword [ebp - 0x2cc]
lea edx, [ebp - 0x2c8]
mov ebx, 0xf
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], edi
push edx
mov ecx, esi
mov byte [esi], 0
call fcn.00401604
cmp dword [ebp - 0x2b4], 0x10
jb 0x45297b
mov eax, dword [ebp - 0x2c8]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x2b4], ebx
mov ebx, dword [ebp - 0x24c]
mov dword [ebp - 0x2b8], edi
mov byte [ebp - 0x2c8], 0
cmp ebx, edi
je 0x4529bc
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x248]
push ecx
lea edx, [ebp - 0x240]
push edx
push eax
push ebx
call fcn.004041d8
push ebx
call fcn.0053ed60
add esp, 0x14
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 8