Function at 0x412c70
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x506a0b
mov eax, dword fs:[0]
push eax
mov eax, 0x11e0
call fcn.004ced80
mov eax, dword [0x5355a0]
xor eax, esp
mov dword [esp + 0x11d8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5355a0]
xor eax, esp
push eax
lea eax, [esp + 0x11f4]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x1204]
mov ebx, ecx
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], ebx
test eax, eax
jne 0x412ce3
mov ecx, ebp
call fcn.00433db0
push 0x518470
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
jmp 0x4136e6
mov esi, dword [eax + 8]
add eax, 0x240
push eax
lea ecx, [esp + 0x278]
call fcn.00434b00
mov dword [esp + 0x11fc], 0
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x24]
mov dl, byte [eax + 0x858]
mov byte [esp + 0x1b], dl
cmp ecx, 3
ja case.default.0x412d1c
jmp dword [ecx*4 + 0x413714]
push str.http:__picface.pinyin.sogou.com_picface_interface_query_dt.php
lea ecx, [esp + 0x28]
call fcn.00434b00
cmp byte [esp + 0x390], 0
lea edi, [esp + 0x280]
jne 0x412d49
mov edi, dword [esp + 0x27c]
push str._cands
push 0x51620c
lea edx, [esp + 0x2c]
call fcn.004351e0
add edi, 4
push edi
push 0x51620c
lea edx, [esp + 0x34]
call fcn.004351e0
push str.tp
push 0x51620c
lea edx, [esp + 0x3c]
call fcn.004351e0
push esi
push 0x516dbc
lea edx, [esp + 0x44]
call fcn.004351e0
add esp, 0x20
cmp esi, 1
jne 0x412dc3
push str.tid
push 0x51620c
lea edx, [esp + 0x2c]
call fcn.004351e0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x28]
push eax
push 0x516dbc
lea edx, [esp + 0x34]
call fcn.004351e0
add esp, 0x10
lea esi, [esp + 0x4c4]
call fcn.00478340
xor edi, edi
lea esi, [esp + 0x14c]
call fcn.00417420
mov byte [esp + 0x11fc], 3
mov ecx, esi
lea eax, [esp + 0x4c4]
mov dword [esp + 0x714], 1
mov dword [esp + 0x71c], ecx
mov dword [esp + 0x710], 0x84000000
mov dword [esp + 0x718], 0x517ad0
call fcn.00478c30
test al, al
jne 0x412e5d
push str.download_dt_search_json_fail
mov ecx, ebp
call fcn.00402790
lea ecx, [esp + 0x14c]
call fcn.00407cf0
lea eax, [esp + 0x4c4]
call fcn.004783b0
lea ecx, [esp + 0x24]
call fcn.00434b70
lea ecx, [esp + 0x274]
call fcn.00434b70
jmp 0x4136e6
call fcn.0043d5c0
lea ecx, [eax + 0x254]
call fcn.00432030
mov ebx, eax
lea edi, [esp + 0x39c]
call fcn.004024d0
mov eax, str.SogouInputComponentsPicfaceJson
mov esi, edi
mov byte [esp + 0x11fc], 4
call fcn.00401540
mov edx, edi
push edx
mov ebx, str.SGPDTSearch.json
call fcn.004015a0
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
mov eax, edi
call fcn.00401520
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x412edb
push str.create_dt_search_json_file_fail
mov ecx, ebp
call fcn.00402790
mov eax, edi
call fcn.004014a0
jmp 0x412e2b
mov eax, dword [esp + 0x720]
xor edi, edi
lea ecx, [esp + 0x14c]
call fcn.00417480
mov edx, dword [esp + 0x720]
push edi
lea ecx, [esp + 0x20]
push ecx
push edx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x412f27
push str.write_dt_search_json_file_fail
mov ecx, ebp
call fcn.00402790
lea eax, [esp + 0x39c]
call fcn.004014a0
jmp 0x412e2b
lea eax, [esp + 0x39c]
call fcn.004014a0
lea ecx, [esp + 0x14c]
call fcn.00407cf0
lea eax, [esp + 0x4c4]
call fcn.004783b0
lea ecx, [esp + 0x24]
call fcn.00434b70
lea ecx, [esp + 0x274]
call fcn.00434b70
mov al, 1
jmp 0x4136e8
add eax, 0x650
push eax
lea ecx, [esp + 0x150]
call fcn.00434b00
mov eax, dword [ebx + 4]
add eax, 0x448
push eax
lea ecx, [esp + 0x868]
call fcn.00434b00
mov byte [esp + 0x11fc], 6
cmp byte [esp + 0x268], 0
lea eax, [esp + 0x158]
jne 0x412fae
mov eax, dword [esp + 0x154]
add eax, 4
je 0x4132d8
lea eax, [esp + 0x14c]
call fcn.00435140
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x412fc6
sub eax, edx
sar eax, 1
je 0x4132d8
lea ecx, [esp + 0x24]
call fcn.004349d0
push esi
push 0x516dbc
lea edx, [esp + 0x2c]
call fcn.004351e0
add esp, 8
lea ecx, [esp + 0x39c]
call fcn.004349d0
lea ecx, [esp + 0x24]
call fcn.00432030
push eax
push 0x51620c
lea edx, [esp + 0x3a4]
call fcn.004351e0
push str._temp
push 0x51620c
lea edx, [esp + 0x3ac]
call fcn.004351e0
push str..bin
push 0x51620c
lea edx, [esp + 0x3c]
call fcn.004351e0
push str..bin
push 0x51620c
lea edx, [esp + 0x3bc]
call fcn.004351e0
add esp, 0x20
lea eax, [esp + 0x98c]
call fcn.004035b0
lea ecx, [esp + 0x24]
mov dword [esp + 0x98c], 1
mov dword [esp + 0x990], 7
mov dword [esp + 0x994], esi
call fcn.00432030
push eax
lea ecx, [esp + 0x9c8]
push ecx
call fcn.00410c30
add esp, 8
lea eax, [esp + 0x4c4]
call fcn.00412ad0
lea eax, [esp + 0x14c]
lea edx, [esp + 0x5e0]
mov byte [esp + 0x11fc], 9
call fcn.00434bf0
call fcn.0040a2e0
push 1
lea ecx, [esp + 0x4c8]
mov edi, ebp
call fcn.0040e1d0
test al, al
jne 0x413138
push str.GetLocalTempCellPath_Fail
mov ecx, ebp
call fcn.00402790
lea esi, [esp + 0x4c4]
call fcn.00413730
lea ecx, [esp + 0x39c]
call fcn.00434b70
lea ecx, [esp + 0x24]
call fcn.00434b70
lea ecx, [esp + 0x864]
call fcn.00434b70
lea ecx, [esp + 0x14c]
call fcn.00434b70
lea ecx, [esp + 0x274]
call fcn.00434b70
jmp 0x4136e6
lea eax, [esp + 0x24]
mov dword [esp + 0x82c], 0x516cf8
call fcn.00435140
mov dword [esp + 0x830], eax
lea eax, [esp + 0x39c]
call fcn.00435140
mov dword [esp + 0x834], eax
lea eax, [esp + 0x864]
mov dword [esp + 0x838], 0
mov dword [esp + 0x840], 0x417330
call fcn.00435140
lea ecx, [esp + 0x4c4]
mov dword [esp + 0x844], eax
mov al, byte [esp + 0x1b]
push ecx
lea edx, [esp + 0x990]
push ebp
mov dword [esp + 0x850], 0x4137c0
mov dword [esp + 0x854], edx
mov byte [esp + 0x858], 1
mov byte [esp + 0x859], 1
mov byte [esp + 0x860], al
call fcn.00415aa0
test al, al
jne 0x413289
lea ecx, [esp + 0x24]
call fcn.00432030
mov ebx, eax
call fcn.0040a2e0
push 0x860
call fcn.004c688d
add esp, 4
test eax, eax
je 0x413205
call fcn.004035b0
mov edi, eax
test edi, edi
jne 0x41322a
mov ecx, ebp
call fcn.00433db0
push 0x5180a4
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
push str.UserDown::CreatePicFacePassengerItem_Fail
jmp 0x4130e7
lea edx, [edi + 0x38]
push ebx
push edx
mov dword [edi], 1
mov dword [edi + 4], 7
call fcn.00410c30
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [edi + 8], esi
mov dword [edi + 0x1c], 0
mov ecx, dword [eax + 4]
push 0x104
add ecx, 0x240
push ecx
lea edx, [edi + 0x240]
push 0x104
push edx
call fcn.004c5747
add esp, 0x10
call fcn.0040a2e0
push edi
mov esi, 7
mov edi, ebp
call fcn.0040ea00
jmp 0x41328c
mov dword [ebx + 0x18], esi
lea esi, [esp + 0x4c4]
call fcn.00413730
lea ecx, [esp + 0x39c]
call fcn.00434b70
lea ecx, [esp + 0x24]
call fcn.00434b70
lea ecx, [esp + 0x864]
call fcn.00434b70
lea ecx, [esp + 0x14c]
call fcn.00434b70
lea ecx, [esp + 0x274]
call fcn.00434b70
mov al, 1
jmp 0x4136e8
push 0x518560
mov ecx, ebp
call fcn.00402790
jmp 0x41310f
lea ecx, [esp + 0x24]
call fcn.004349d0
push esi
push 0x516dbc
lea edx, [esp + 0x2c]
call fcn.004351e0
add esp, 8
lea ecx, [esp + 0x14c]
call fcn.004349d0
cmp byte [esp + 0x140], 0
lea eax, [esp + 0x30]
jne 0x413322
mov eax, dword [esp + 0x2c]
add eax, 4
push eax
push 0x51620c
lea edx, [esp + 0x154]
call fcn.004351e0
push str._temp
push 0x51620c
lea edx, [esp + 0x15c]
call fcn.004351e0
push str..bin
push 0x51620c
lea edx, [esp + 0x3c]
call fcn.004351e0
push str..bin
push 0x51620c
lea edx, [esp + 0x16c]
call fcn.004351e0
add esp, 0x20
lea ecx, [esp + 0x39c]
call fcn.004349d0
mov byte [esp + 0x11fc], 0xc
call fcn.0040a2e0
push esi
lea eax, [esp + 0x3a0]
call fcn.00410660
test al, al
jne 0x4133cc
push str.GetDownLoadCellUrl_Fail
mov ecx, ebp
call fcn.00402790
lea ecx, [esp + 0x39c]
call fcn.00434b70
lea ecx, [esp + 0x14c]
call fcn.00434b70
jmp 0x412e43
lea eax, [esp + 0x4c4]
call fcn.00412ad0
lea eax, [esp + 0x39c]
lea edx, [esp + 0x5e0]
mov byte [esp + 0x11fc], 0xd
call fcn.00434bf0
call fcn.0040a2e0
mov ebx, 1
push ebx
lea ecx, [esp + 0x4c8]
mov edi, ebp
call fcn.0040e1d0
test al, al
jne 0x41342a
push str.GetLocalTempCellPath_Fail
mov ecx, ebp
call fcn.00402790
lea esi, [esp + 0x4c4]
call fcn.00413730
jmp 0x4133af
lea eax, [esp + 0x24]
mov dword [esp + 0x82c], 0x516cf8
call fcn.00435140
mov dword [esp + 0x830], eax
lea eax, [esp + 0x14c]
call fcn.00435140
mov dword [esp + 0x834], eax
lea eax, [esp + 0x4c4]
push eax
push ebp
mov dword [esp + 0x840], 0
mov byte [esp + 0x858], bl
mov byte [esp + 0x859], bl
mov byte [esp + 0x860], bl
call fcn.00415aa0
test al, al
jne 0x4134a7
push str.DoDownloadFile_Fail
mov ecx, ebp
call fcn.00402790
lea esi, [esp + 0x4c4]
call fcn.00413730
jmp 0x4133af
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x18], esi
lea esi, [esp + 0x4c4]
call fcn.00413730
lea ecx, [esp + 0x39c]
call fcn.00434b70
lea ecx, [esp + 0x14c]
call fcn.00434b70
lea ecx, [esp + 0x24]
call fcn.00434b70
lea ecx, [esp + 0x274]
call fcn.00434b70
mov al, bl
jmp 0x4136e8
lea ecx, [esp + 0x24]
call fcn.004349d0
push esi
push 0x516dbc
lea edx, [esp + 0x2c]
call fcn.004351e0
add esp, 8
lea ecx, [esp + 0x14c]
call fcn.004349d0
cmp byte [esp + 0x140], 0
lea eax, [esp + 0x30]
jne 0x413527
mov eax, dword [esp + 0x2c]
add eax, 4
push eax
push 0x51620c
lea edx, [esp + 0x154]
call fcn.004351e0
push str._temp
push 0x51620c
lea edx, [esp + 0x15c]
call fcn.004351e0
push str..png
push 0x51620c
lea edx, [esp + 0x3c]
call fcn.004351e0
push str..png
push 0x51620c
lea edx, [esp + 0x16c]
call fcn.004351e0
add esp, 0x20
lea eax, [esp + 0x4c4]
call fcn.00412ad0
mov byte [esp + 0x11fc], 0x10
call fcn.0040a2e0
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x5e8]
call fcn.0040cc30
test al, al
jne 0x4135d3
push 0x518664
mov ecx, ebp
call fcn.00402790
lea esi, [esp + 0x4c4]
call fcn.00413730
lea ecx, [esp + 0x14c]
call fcn.00434b70
jmp 0x412e43
lea eax, [esp + 0x274]
call fcn.00435140
test eax, eax
je 0x4135ef
lea edx, [esp + 0x4c4]
call fcn.00402540
lea eax, [esp + 0x24]
mov dword [esp + 0x82c], 0x516cf8
call fcn.00435140
mov dword [esp + 0x830], eax
lea eax, [esp + 0x14c]
call fcn.00435140
lea edx, [esp + 0x4c4]
push edx
push ebp
mov dword [esp + 0x83c], eax
mov dword [esp + 0x840], 0
mov byte [esp + 0x858], 1
mov byte [esp + 0x859], 1
mov byte [esp + 0x860], 1
call fcn.00415aa0
test al, al
jne 0x41367b
push str.DoDownloadFile_Fail
mov ecx, ebp
call fcn.00402790
lea esi, [esp + 0x4c4]
call fcn.00413730
lea ecx, [esp + 0x14c]
call fcn.00434b70
jmp 0x412e43
mov dword [ebx + 0x18], esi
lea esi, [esp + 0x4c4]
call fcn.00413730
lea ecx, [esp + 0x14c]
call fcn.00434b70
jmp 0x412f4b
mov ecx, ebp
call fcn.00433db0
push str.Unknow_nPurpose
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
cmp byte [esp + 0x390], 0
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
jne 0x4136e6
mov eax, dword [esp + 0x27c]
lea ecx, [esp + 0x280]
cmp eax, ecx
je 0x4136e6
push eax
call fcn.004c31b0
add esp, 4
xor al, al
mov ecx, dword [esp + 0x11f4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x11d8]
xor ecx, esp
call fcn.004c31a1
add esp, 0x11ec
ret 4