Function at 0x42a040
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x527aac
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x581500]
xor eax, esp
mov dword [esp + 0x27c], eax
push esi
push edi
mov eax, dword [0x581500]
xor eax, esp
push eax
lea eax, [esp + 0x290]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 0x206
mov edi, edx
mov dword [esp + 0x14], eax
xor esi, esi
lea eax, [esp + 0x82]
xor edx, edx
push esi
push eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ecx
mov word [esp + 0x88], dx
call fcn.004ff6c0
mov ecx, dword [edi + 0x24c]
mov edx, dword [ebp + 0xc]
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.004fe3b9
add esp, 0x14
mov dword [esp + 0x74], vtable.t_mutex::t_locker.0
mov dword [esp + 0x78], esi
mov dword [esp + 0x298], esi
mov edx, dword [edi + 0xc]
mov eax, dword [edx + 0xc]
lea esi, [edi + 0xc]
mov ecx, esi
mov dword [esp + 0x34], esi
call eax
test al, al
jne 0x42a116
push str.t_mutex::Lock
push ebx
call fcn.00409a40
add esp, 8
jmp 0x42a120
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push ebx
mov ecx, esi
call eax
test al, al
je 0x42a181
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x80]
push edx
push edi
lea ecx, [esp + 0x1b]
mov edx, ebx
mov dword [esp + 0x84], esi
mov byte [esp + 0x1b], 0
call fcn.00429e70
test al, al
jne 0x42a194
mov ecx, ebx
call fcn.00409990
push 0x560a18
push 0x55d15c
mov edx, eax
call fcn.00411e80
add esp, 8
mov ecx, esi
mov dword [esp + 0x298], 0xffffffff
call fcn.00412a50
xor al, al
jmp 0x42a640
push 0x5609f8
push ebx
call fcn.00409a40
add esp, 8
jmp 0x42a640
cmp byte [esp + 0xf], 0
je 0x42a1a2
mov ecx, esi
jmp 0x42a62e
xor eax, eax
mov byte [esp + 0xd], 0
mov dword [esp + 0x38], vtable.t_fileBufRead.0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x10]
push eax
push ebx
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a0], 1
call fcn.004a04c0
test al, al
jne 0x42a20b
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.0040eac0
test al, al
je 0x42a244
mov ecx, edi
call fcn.00411da0
push eax
push 0x560a2c
mov ecx, ebx
call fcn.00402ea0
mov ecx, eax
call fcn.00411ca0
jmp 0x42a606
push 0x2c
lea ecx, [esp + 0x4c]
push ecx
push ebx
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a], 1
call fcn.004a0650
test al, al
sete al
test al, al
je 0x42a24f
mov ecx, dword [esp + 0x10]
call fcn.00411da0
push eax
push str.str:_n_s___n
push ebx
call fcn.00409a40
add esp, 0xc
jmp 0x42a2c1
xor edi, edi
mov dword [esp + 0x5c], edi
jmp 0x42a2df
mov edx, dword [edi + 0x24c]
mov eax, dword [esp + 0x4c]
cmp eax, dword [edx + 4]
je 0x42a278
mov ecx, dword [esp + 0x10]
call fcn.00411da0
push eax
push str.str:__n_s___n
push ebx
call fcn.00409a40
add esp, 0xc
jmp 0x42a2c1
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
imul ecx, edi
add ecx, dword [esp + 0x48]
lea eax, [ecx + edx]
cmp dword [esp + 0x60], eax
je 0x42a2ae
mov ecx, dword [esp + 0x10]
call fcn.00411da0
push eax
push 0x560aa8
push ebx
call fcn.00409a40
add esp, 0xc
jmp 0x42a2c1
cmp eax, 0x200000
jbe 0x42a2f3
push str.str
mov ecx, ebx
call fcn.00402ea0
mov ecx, ebx
call fcn.00409dd0
mov ecx, ebx
call fcn.004099e0
xor edi, edi
mov dword [esp + 0x5c], edi
mov byte [esp + 0xe], 0
mov byte [esp + 0xd], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], 0x18
mov dword [esp + 0x50], 0x132420d
mov eax, dword [esp + 0x5c]
add eax, 0x3200
lea esi, [edi + 0x64]
lea ecx, [esi + esi*2]
mov dword [esp + 0x20], eax
lea eax, [eax + ecx*8 + 0x10]
push eax
mov dword [esp + 0x20], eax
call fcn.004faba2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42a329
mov byte [esp + 0xd], 1
jmp 0x42a5ea
mov dword [esp + 0x28], vtable.t_strMemData.0
mov dword [esp + 0x2c], eax
cmp byte [esp + 0xe], 0
mov byte [esp + 0x298], 2
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
mov dword [eax], edi
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
je 0x42a4e5
mov eax, dword [esp + 0x58]
mov byte [esp + 0xe], 1
cmp eax, 0x18
ja 0x42a3df
mov eax, dword [esp + 0x2c]
lea edx, [edi + edi*2]
add edx, edx
add edx, edx
add edx, edx
push edx
add eax, 0x10
push 0
push eax
call fcn.004ff6c0
xor esi, esi
add esp, 0xc
cmp edi, esi
mov dword [esp + 0x18], esi
jle 0x42a469
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
push ecx
lea edx, [esi + eax + 0x10]
push edx
push ebx
lea ecx, [esp + 0x44]
call fcn.004a0650
test al, al
sete al
test al, al
jne 0x42a469
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
cmp dword [esi + eax + 0x10], ecx
jae 0x42a469
mov ecx, dword [esp + 0x18]
inc ecx
add esi, 0x18
cmp ecx, edi
mov dword [esp + 0x18], ecx
jl 0x42a397
jmp 0x42a47d
push eax
call fcn.004fbaed
mov esi, eax
xor eax, eax
add esp, 4
cmp edi, eax
mov dword [esp + 0x18], eax
jle 0x42a459
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x58]
push edx
push esi
push ebx
lea ecx, [esp + 0x44]
call fcn.004a0650
test al, al
sete al
mov byte [esp + 0xe], al
test al, al
jne 0x42a459
mov eax, dword [esp + 0x2c]
mov edx, dword [esi]
mov ecx, dword [esp + 0x20]
mov dword [ecx + eax + 0x10], edx
mov edx, dword [esi + 4]
lea eax, [ecx + eax + 0x10]
mov dword [eax + 4], edx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov edx, dword [esi + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x14]
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x18]
inc eax
add ecx, 0x18
cmp eax, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
jl 0x42a3f8
push esi
call fcn.004fbe63
add esp, 4
cmp byte [esp + 0xe], 0
je 0x42a479
push str.str_data_may_be_lost
push ebx
call fcn.00409a40
add esp, 8
jmp 0x42a4dc
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
test edx, edx
jbe 0x42a4e1
mov ecx, dword [eax + 8]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8 + 0x10]
push edx
push eax
push ebx
lea ecx, [esp + 0x44]
call fcn.004a0650
test al, al
jne 0x42a4b2
push str.str_string_data_may_be_lost
push ebx
call fcn.00409a40
add esp, 8
mov byte [esp + 0xd], 1
lea esi, [esp + 0x28]
call fcn.0042bae0
test al, al
jne 0x42a4e1
mov ecx, dword [esp + 0x10]
call fcn.00411da0
push eax
push str.str:
mov ecx, ebx
call fcn.00402ea0
mov ecx, eax
call fcn.00411ca0
mov byte [esp + 0xd], 1
mov eax, dword [esp + 0x14]
cmp byte [esp + 0xd], 0
mov byte [esp + 0x298], 1
mov dword [esp + 0x28], vtable.t_strDataBase.0
jne 0x42a5ea
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], vtable.t_lockerMemSharable.0
push ebx
lea ecx, [esp + 0x24]
mov byte [esp + 0x29c], 3
call fcn.00402ef0
test al, al
jne 0x42a53e
push 0x560b78
push ebx
call fcn.00409a40
add esp, 8
mov byte [esp + 0xd], 1
jmp 0x42a5d1
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x228], 0
je 0x42a55a
lea esi, [eax + 0x224]
call fcn.0040ae90
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x7c]
push edx
lea edi, [eax + 0x224]
add esi, 0x208
mov cl, 1
mov edx, ebx
call fcn.004a0d20
test al, al
jne 0x42a583
mov byte [esp + 0xd], 1
jmp 0x42a5d1
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0x22c]
mov ecx, dword [esp + 0x10]
add esi, 8
call fcn.00411da0
push eax
push 0x104
push esi
call fcn.004fa6de
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add esp, 0xc
push ecx
push edx
add esi, 0x208
push esi
call fcn.004ff740
add esp, 0xc
cmp dword [edi + 4], 0
je 0x42a5d1
mov edi, dword [edi + 8]
mov dword [edi + 4], 1
mov byte [esp + 0x298], 1
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x42a5e6
call fcn.00412a50
mov eax, dword [esp + 0x14]
test eax, eax
je 0x42a5f7
push eax
call fcn.004faac5
add esp, 4
cmp byte [esp + 0xd], 0
je 0x42a621
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
push ebx
call fcn.00411030
mov ecx, ebx
call fcn.00409dd0
lea ecx, [esp + 0x38]
call fcn.004a0480
jmp 0x42a168
lea ecx, [esp + 0x38]
call fcn.004a0480
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x298], 0xffffffff
call fcn.00412a50
mov al, 1
mov ecx, dword [esp + 0x290]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x27c]
xor ecx, esp
call fcn.004fa259
mov esp, ebp
pop ebp
ret 8