Function at 0x436df0
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x474d7c
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x4a7534]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a7534]
xor eax, esp
push eax
lea eax, [esp + 0x28c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2a0]
mov ebp, dword [esp + 0x29c]
mov ebx, ecx
xor edi, edi
push 0x206
lea ecx, [esp + 0x82]
push edi
push ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov word [esp + 0x88], di
call fcn.00449450
mov ecx, dword [ebx + 0x244]
mov edx, dword [esp + 0x2b0]
mov eax, dword [ecx]
add esp, 0xc
push edx
mov edx, dword [eax + 0x10]
call edx
push eax
push str.Local_s.v_d.filemap.sogouime
lea eax, [esp + 0x88]
push 0x104
push eax
call fcn.00446193
add esp, 0x14
push 0x64
push edi
lea ecx, [esp + 0x30]
call fcn.00466900
lea ecx, [ebx + 0xc]
push ecx
push ebp
lea ecx, [esp + 0x30]
mov dword [esp + 0x29c], edi
call fcn.00466bd0
test al, al
jne 0x436ee5
push 0x499c84
push ebp
call fcn.0046c2c0
add esp, 8
lea ecx, [esp + 0x28]
mov bl, al
mov dword [esp + 0x294], 0xffffffff
call fcn.00466a90
mov al, bl
jmp 0x437398
push esi
lea edx, [esp + 0x80]
push edx
push ebx
lea edi, [esp + 0x26]
mov esi, ebp
mov byte [esp + 0x26], 0
call fcn.00436c70
test al, al
jne 0x436f31
push 0x499ca4
mov ecx, ebp
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
lea ecx, [esp + 0x28]
mov dword [esp + 0x294], 0xffffffff
call fcn.00466a90
xor al, al
jmp 0x437398
cmp byte [esp + 0x1a], 0
jne 0x437382
lea ecx, [esp + 0x64]
mov byte [esp + 0x1b], 0
call fcn.00463ec0
mov esi, dword [esp + 0x24]
push esi
mov byte [esp + 0x298], 1
push ebp
lea ecx, [esp + 0x6c]
mov byte [esp + 0x22], 0
call fcn.00463ff0
test al, al
jne 0x436f9e
mov ecx, esi
call fcn.0046ce50
test al, al
je 0x436fd5
push 0x499cb8
mov ecx, ebp
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
mov ecx, esi
mov edi, eax
call fcn.0046cf00
push eax
mov ecx, edi
call fcn.0046bec0
jmp 0x43735c
push 0x2c
lea eax, [esp + 0x3c]
push eax
push ebp
lea ecx, [esp + 0x70]
mov byte [esp + 0x26], 1
call fcn.00463f60
test al, al
sete al
test al, al
je 0x436fde
mov ecx, esi
call fcn.0046cee0
push eax
push str.str:_n_s___n
push ebp
call fcn.0046c2c0
add esp, 0xc
jmp 0x437053
xor eax, eax
xor ecx, ecx
jmp 0x43706d
mov ecx, dword [ebx + 0x244]
mov edx, dword [esp + 0x3c]
cmp edx, dword [ecx + 4]
je 0x437005
mov ecx, esi
call fcn.0046cee0
push eax
push str.str:__n_s___n
push ebp
call fcn.0046c2c0
add esp, 0xc
jmp 0x437053
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
imul edx, eax
add edx, dword [esp + 0x38]
add edx, ecx
cmp dword [esp + 0x50], edx
je 0x437038
mov ecx, esi
call fcn.0046cee0
push eax
push 0x499d34
push ebp
call fcn.0046c2c0
add esp, 0xc
jmp 0x437053
cmp edx, 0x200000
jbe 0x437085
push str.str
mov ecx, ebp
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
mov ecx, ebp
call fcn.0046cb50
mov ecx, ebp
call fcn.0046bdf0
xor eax, eax
xor ecx, ecx
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1b], cl
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0x18
mov dword [esp + 0x40], 0x132420d
lea esi, [eax + 0x64]
lea edi, [ecx + 0x3200]
lea eax, [esi + esi*2]
lea eax, [edi + eax*8 + 0x10]
push eax
mov dword [esp + 0x34], eax
call fcn.004462ab
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4370b2
mov byte [esp + 0x1b], 1
jmp 0x437344
mov dword [esp + 0x74], vtable.t_strMemData.0
mov dword [esp + 0x78], ebx
mov byte [esp + 0x294], 2
cmp byte [esp + 0x1a], 0
mov ecx, dword [esp + 0x44]
mov dword [ebx], ecx
mov edx, dword [esp + 0x4c]
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], edi
je 0x4371b2
mov eax, dword [esp + 0x48]
cmp eax, 0x18
mov byte [esp + 0x1a], 1
jne 0x437118
mov eax, dword [esp + 0x44]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
push eax
lea ecx, [ebx + 0x10]
push ecx
push ebp
lea ecx, [esp + 0x70]
call fcn.00463f60
test al, al
sete al
jmp 0x437290
jae 0x437211
mov eax, dword [esp + 0x44]
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
add edx, edx
push edx
lea ecx, [ebx + 0x10]
push 0
push ecx
call fcn.00449450
xor edi, edi
add esp, 0xc
cmp dword [esp + 0x44], edi
jle 0x437298
xor esi, esi
jmp 0x437150
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esi + ebx + 0x10]
push ecx
push ebp
lea ecx, [esp + 0x70]
call fcn.00463f60
test al, al
sete al
test al, al
jne 0x437298
add edi, 1
add esi, 0x18
cmp edi, dword [esp + 0x44]
jl 0x437150
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jbe 0x4371b2
mov eax, dword [ebx + 8]
lea eax, [eax + eax*2]
push ecx
lea eax, [ebx + eax*8 + 0x10]
push eax
push ebp
lea ecx, [esp + 0x70]
call fcn.00463f60
test al, al
jne 0x4371b2
push str.str_string_data_may_be_lost
push ebp
call fcn.0046c2c0
mov byte [esp + 0x23], 1
add esp, 8
cmp byte [esp + 0x1b], 0
mov byte [esp + 0x294], 1
jne 0x437344
push 0x64
push 0
lea ecx, [esp + 0x24]
call fcn.00466900
mov dword [esp + 0x1c], vtable.t_lockerMemSharable.0
push 0x4ae8f8
push ebp
lea ecx, [esp + 0x24]
mov byte [esp + 0x29c], 3
call fcn.00466bd0
test al, al
jne 0x4372a2
push 0x499de8
push ebp
call fcn.0046c2c0
add esp, 8
mov byte [esp + 0x1b], 1
jmp 0x43732b
push eax
call fcn.004455f8
add esp, 4
cmp dword [esp + 0x44], 0
mov esi, eax
mov dword [esp + 0x1c], 0
jle 0x437283
lea edi, [ebx + 0x10]
mov edi, edi
mov edx, dword [esp + 0x48]
push edx
push esi
push ebp
lea ecx, [esp + 0x70]
call fcn.00463f60
test al, al
sete al
test al, al
mov byte [esp + 0x1a], al
jne 0x437283
mov eax, dword [esi]
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov dword [edi + 4], ecx
mov edx, dword [esi + 8]
mov dword [edi + 8], edx
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x10], ecx
mov edx, dword [esi + 0x14]
mov dword [edi + 0x14], edx
add eax, 1
add edi, 0x18
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
jl 0x437230
push esi
call fcn.00446b64
mov al, byte [esp + 0x1e]
add esp, 4
test al, al
je 0x43717d
push str.str_data_may_be_lost
jmp 0x4371a4
mov edi, dword [esp + 0x34]
add edi, 0x224
mov ecx, edi
call fcn.00467fe0
test al, al
je 0x4372be
mov ecx, edi
call fcn.00467f90
mov esi, dword [esp + 0x30]
add esi, 0x208
push ebp
lea ecx, [esp + 0x80]
lea edx, [esp + 0x20]
call fcn.0042bb40
test al, al
jne 0x4372e4
mov byte [esp + 0x1b], 1
jmp 0x43732b
mov edi, dword [esp + 0x34]
mov esi, dword [edi + 0x22c]
mov ecx, dword [esp + 0x24]
add esi, 8
call fcn.0046cee0
push eax
push 0x104
push esi
call fcn.00446cf3
mov ecx, dword [esp + 0x3c]
add esp, 0xc
push ecx
push ebx
add esi, 0x208
push esi
call fcn.004490e0
mov eax, dword [edi + 0x22c]
add esp, 0xc
mov dword [eax + 4], 0x1324267
mov byte [esp + 0x294], 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], vtable.t_lockerMemSharable.0
call fcn.00466a90
test ebx, ebx
je 0x437351
push ebx
call fcn.004461ce
add esp, 4
cmp byte [esp + 0x1b], 0
je 0x437379
mov esi, dword [esp + 0x24]
push ebp
mov ecx, esi
call fcn.0046ea70
mov ecx, ebp
call fcn.0046cb50
lea ecx, [esp + 0x64]
call fcn.00463e60
jmp 0x436f16
lea ecx, [esp + 0x64]
call fcn.00463e60
lea ecx, [esp + 0x28]
mov dword [esp + 0x294], 0xffffffff
call fcn.00466a90
mov al, 1
mov ecx, dword [esp + 0x28c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.00445c6a
add esp, 0x284
ret 0xc