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

Disassembly:
push 0xffffffffffffffff
push 0x47512c
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.004498f0
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.00446633
add esp, 0x14
push 0x64
push edi
lea ecx, [esp + 0x30]
call fcn.00466da0
lea ecx, [ebx + 0xc]
push ecx
push ebp
lea ecx, [esp + 0x30]
mov dword [esp + 0x29c], edi
call fcn.00467070
test al, al
jne 0x437d65
push 0x499e30
push ebp
call fcn.0046c760
add esp, 8
lea ecx, [esp + 0x28]
mov bl, al
mov dword [esp + 0x294], 0xffffffff
call fcn.00466f30
mov al, bl
jmp 0x438218
push esi
lea edx, [esp + 0x80]
push edx
push ebx
lea edi, [esp + 0x26]
mov esi, ebp
mov byte [esp + 0x26], 0
call fcn.00437af0
test al, al
jne 0x437db1
push 0x499e50
mov ecx, ebp
call fcn.0046c2f0
mov ecx, eax
call fcn.0046c360
lea ecx, [esp + 0x28]
mov dword [esp + 0x294], 0xffffffff
call fcn.00466f30
xor al, al
jmp 0x438218
cmp byte [esp + 0x1a], 0
jne 0x438202
lea ecx, [esp + 0x64]
mov byte [esp + 0x1b], 0
call fcn.00464360
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.00464490
test al, al
jne 0x437e1e
mov ecx, esi
call fcn.0046d2f0
test al, al
je 0x437e55
push 0x499e64
mov ecx, ebp
call fcn.0046c2f0
mov ecx, eax
call fcn.0046c360
mov ecx, esi
mov edi, eax
call fcn.0046d3a0
push eax
mov ecx, edi
call fcn.0046c360
jmp 0x4381dc
push 0x2c
lea eax, [esp + 0x3c]
push eax
push ebp
lea ecx, [esp + 0x70]
mov byte [esp + 0x26], 1
call fcn.00464400
test al, al
sete al
test al, al
je 0x437e5e
mov ecx, esi
call fcn.0046d380
push eax
push str.str:_n_s___n
push ebp
call fcn.0046c760
add esp, 0xc
jmp 0x437ed3
xor eax, eax
xor ecx, ecx
jmp 0x437eed
mov ecx, dword [ebx + 0x244]
mov edx, dword [esp + 0x3c]
cmp edx, dword [ecx + 4]
je 0x437e85
mov ecx, esi
call fcn.0046d380
push eax
push str.str:__n_s___n
push ebp
call fcn.0046c760
add esp, 0xc
jmp 0x437ed3
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 0x437eb8
mov ecx, esi
call fcn.0046d380
push eax
push 0x499ee0
push ebp
call fcn.0046c760
add esp, 0xc
jmp 0x437ed3
cmp edx, 0x200000
jbe 0x437f05
push str.str
mov ecx, ebp
call fcn.0046c2f0
mov ecx, eax
call fcn.0046c360
mov ecx, ebp
call fcn.0046cff0
mov ecx, ebp
call fcn.0046c290
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.0044674b
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x437f32
mov byte [esp + 0x1b], 1
jmp 0x4381c4
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 0x438032
mov eax, dword [esp + 0x48]
cmp eax, 0x18
mov byte [esp + 0x1a], 1
jne 0x437f98
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.00464400
test al, al
sete al
jmp 0x438110
jae 0x438091
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.004498f0
xor edi, edi
add esp, 0xc
cmp dword [esp + 0x44], edi
jle 0x438118
xor esi, esi
jmp 0x437fd0
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esi + ebx + 0x10]
push ecx
push ebp
lea ecx, [esp + 0x70]
call fcn.00464400
test al, al
sete al
test al, al
jne 0x438118
add edi, 1
add esi, 0x18
cmp edi, dword [esp + 0x44]
jl 0x437fd0
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jbe 0x438032
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.00464400
test al, al
jne 0x438032
push str.str_string_data_may_be_lost
push ebp
call fcn.0046c760
mov byte [esp + 0x23], 1
add esp, 8
cmp byte [esp + 0x1b], 0
mov byte [esp + 0x294], 1
jne 0x4381c4
push 0x64
push 0
lea ecx, [esp + 0x24]
call fcn.00466da0
mov dword [esp + 0x1c], vtable.t_lockerMemSharable.0
push 0x4ae918
push ebp
lea ecx, [esp + 0x24]
mov byte [esp + 0x29c], 3
call fcn.00467070
test al, al
jne 0x438122
push 0x499f94
push ebp
call fcn.0046c760
add esp, 8
mov byte [esp + 0x1b], 1
jmp 0x4381ab
push eax
call fcn.00445a98
add esp, 4
cmp dword [esp + 0x44], 0
mov esi, eax
mov dword [esp + 0x1c], 0
jle 0x438103
lea edi, [ebx + 0x10]
mov edi, edi
mov edx, dword [esp + 0x48]
push edx
push esi
push ebp
lea ecx, [esp + 0x70]
call fcn.00464400
test al, al
sete al
test al, al
mov byte [esp + 0x1a], al
jne 0x438103
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 0x4380b0
push esi
call fcn.00447004
mov al, byte [esp + 0x1e]
add esp, 4
test al, al
je 0x437ffd
push str.str_data_may_be_lost
jmp 0x438024
mov edi, dword [esp + 0x34]
add edi, 0x224
mov ecx, edi
call fcn.00468480
test al, al
je 0x43813e
mov ecx, edi
call fcn.00468430
mov esi, dword [esp + 0x30]
add esi, 0x208
push ebp
lea ecx, [esp + 0x80]
lea edx, [esp + 0x20]
call fcn.0042ba90
test al, al
jne 0x438164
mov byte [esp + 0x1b], 1
jmp 0x4381ab
mov edi, dword [esp + 0x34]
mov esi, dword [edi + 0x22c]
mov ecx, dword [esp + 0x24]
add esi, 8
call fcn.0046d380
push eax
push 0x104
push esi
call fcn.00447193
mov ecx, dword [esp + 0x3c]
add esp, 0xc
push ecx
push ebx
add esi, 0x208
push esi
call fcn.00449580
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.00466f30
test ebx, ebx
je 0x4381d1
push ebx
call fcn.0044666e
add esp, 4
cmp byte [esp + 0x1b], 0
je 0x4381f9
mov esi, dword [esp + 0x24]
push ebp
mov ecx, esi
call fcn.0046ef10
mov ecx, ebp
call fcn.0046cff0
lea ecx, [esp + 0x64]
call fcn.00464300
jmp 0x437d96
lea ecx, [esp + 0x64]
call fcn.00464300
lea ecx, [esp + 0x28]
mov dword [esp + 0x294], 0xffffffff
call fcn.00466f30
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.0044610a
add esp, 0x284
ret 0xc