Function at 0x43c45a
Capabilities:
Delete file
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x1b0
push ebx
mov dword [ebp + 0x6c], ecx
mov ecx, dword [ecx + 0x190]
push esi
push edi
test ecx, ecx
je 0x43c40f
mov edx, str.gzip
call fcn.00439a1c
mov byte [ebp + 0x73], 1
test eax, eax
jne 0x43c413
mov byte [ebp + 0x73], 0
mov eax, dword [0x4c3058]
test eax, eax
jne 0x43c43a
mov ecx, str.webui.zip
call fcn.00442f79
push 0
push 0
mov ecx, eax
call fcn.00445cfe
mov dword [0x4c3058], eax
test eax, eax
je 0x43c482
mov ecx, eax
call fcn.00445eee
mov byte [0x4c308b], al
test al, al
je 0x43c46b
mov eax, dword [0x4c3058]
push dword [eax + 0x1c]
push dword [eax + 0x20]
push str.__.8X_.8X_
push 0x13
push 0x4c3078
call fcn.0043b44e
add esp, 0x14
jmp 0x43c482
test dword [0x4c8324], 0x8000000
je 0x43c482
push str.Unable_to_read_webui.zip
call fcn.004875f6
pop ecx
mov ecx, dword [ebp + 0x7c]
mov al, byte [ecx]
xor ebx, ebx
jmp 0x43c493
cmp al, 0x3f
je 0x43c497
inc ebx
mov al, byte [ebx + ecx]
test al, al
jne 0x43c48b
lea eax, [ebx + 1]
call section..text
cmp byte [0x4c3bb0], 0
mov dword [ebp + 0x60], esp
je 0x43c4e4
mov eax, dword [0x4c3bb4]
cmp eax, 0xffffffff
je 0x43c4e4
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43c4e6
push 0x20
call sub.MSVCRT.dll_malloc
pop ecx
push 8
mov esi, eax
pop ecx
xor eax, eax
mov edi, esi
push esi
rep stosd dword es:[edi], eax
push dword [0x4c3bb4]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
jmp 0x43c4e6
xor esi, esi
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x18], eax
cmp byte [0x4c3bb0], 0
je 0x43c530
mov eax, dword [0x4c3bb4]
cmp eax, 0xffffffff
je 0x43c530
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43c52c
push 0x20
call sub.MSVCRT.dll_malloc
pop ecx
push 8
mov esi, eax
pop ecx
xor eax, eax
mov edi, esi
push esi
rep stosd dword es:[edi], eax
push dword [0x4c3bb4]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
mov eax, esi
jmp 0x43c532
xor eax, eax
mov eax, dword [eax + 0x18]
lea ecx, [ebx + 1]
push ecx
push dword [ebp + 0x7c]
push eax
call sub.MSVCRT.dll_memcpy
mov esi, eax
add esp, 0xc
lea eax, [ebx + 4]
mov dword [ebp + 0x60], esi
mov byte [esi + ebx], 0
call section..text
mov edi, esp
push ebx
push esi
push edi
mov dword [ebp + 0x5c], edi
call sub.MSVCRT.dll_memcpy
add edi, ebx
mov esi, 0x4953f0
movsd dword es:[edi], dword [esi]
and dword [ebp + 0x64], 0
add esp, 0xc
cmp byte [0x4c308b], 0
je 0x43c632
mov esi, dword [ebp + 0x6c]
lea ecx, [esi + 0x178]
cmp byte [ecx], 0
je 0x43c5cb
mov eax, 0x4c3078
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43c5b0
test dl, dl
je 0x43c5ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43c5b0
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x43c592
xor eax, eax
jmp 0x43c5b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43c5cb
push str.HTTP_1.1_304_Not_Modified_r_nContent_Length:_0_r_n_r_n
push esi
call fcn.0042b1de
pop ecx
pop ecx
jmp 0x43ca13
cmp byte [ebp + 0x73], 0
mov ecx, dword [ebp + 0x5c]
jne 0x43c724
mov ecx, dword [ebp + 0x60]
mov edi, dword [ebp + 0x5c]
mov esi, dword [0x4c3058]
lea eax, [ebp + 0x64]
push eax
call fcn.00439cf8
mov edx, eax
mov ecx, esi
call fcn.00445f1f
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43c8b7
mov esi, dword [0x4c3058]
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00439cf8
mov edx, eax
mov ecx, esi
call fcn.00445f1f
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43c8b7
mov esi, dword [ebp + 0x60]
push 0x4953b8
push esi
call sub.MSVCRT.dll_strstr
pop ecx
pop ecx
test eax, eax
jne 0x43c6a4
mov ecx, dword [ebp + 0x5c]
cmp byte [ebp + 0x73], al
jne 0x43c653
mov ecx, esi
mov esi, dword [ebp + 0x5c]
call fcn.00439cf8
push eax
call fcn.0043bf3c
push 0
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.00445069
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43c8b7
mov ecx, esi
call fcn.00439cf8
push eax
call fcn.0043bf3c
push ebx
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.00445069
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43c8b7
mov ebx, dword [ebp + 0x7c]
push 0xa
push str.index.html
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43c75b
push 0x32
pop ecx
mov esi, str.The_micro_Torrent_WebUI_does_not_seem_to_be_installed._Click__a_href_download_webui__here__a__to_try_to_install_it__or_see_the__a_href_http:__utorrent.com_webui_guide.php__guide__a__for_more_details.
lea edi, [ebp - 0x13c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push str.index.html_error1
push ebx
movsb byte es:[edi], byte [esi]
call sub.MSVCRT.dll__stricmp
pop ecx
pop ecx
mov ebx, 0xca
test eax, eax
jne 0x43c72c
push 0x1e
pop ecx
mov esi, str._b_There_was_a_problem_installing_micro_Torrent_WebUI__please_see_the_micro_Torrent_log_for_more_details.__b___br___br_
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x6c]
push 1
push eax
push eax
push 0xc8
push 0x143
movsw word es:[edi], word [esi]
call fcn.004225b4
mov ecx, dword [ebp + 0x6c]
push 2
push 0x48e128
call fcn.0042a73a
push 0x79
lea eax, [ebp - 0x60]
push eax
jmp 0x43c747
mov edi, dword [ebp + 0x60]
jmp 0x43c5de
mov ecx, dword [ebp + 0x6c]
push 1
push 0
push 0
push 0xc8
push ebx
call fcn.004225b4
push 2
push 0x48e128
mov ecx, dword [ebp + 0x6c]
call fcn.0042a73a
push ebx
lea eax, [ebp - 0x13c]
jmp 0x43c824
push 0xe
push str.download_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43c7b4
mov ecx, dword [0x4c3058]
test ecx, ecx
je 0x43c78c
call fcn.00445d2d
and dword [0x4c3058], 0
mov byte [0x4c308b], 0
mov ecx, str.webui.zip
call fcn.00442f79
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
call fcn.0043bebc
mov ecx, dword [ebp + 0x6c]
push str.downloading_webui
call fcn.00421e89
jmp 0x43ca13
push 0x11
push str.downloading_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43c832
cmp dword [0x4c2324], eax
jne 0x43c7e9
mov ecx, dword [ebp + 0x6c]
cmp byte [0x4c308b], al
je 0x43c7e2
push str._gui_index.html
jmp 0x43c7aa
push str._gui_index.html_error1
jmp 0x43c7aa
push 0x22
pop ecx
mov esi, str._meta_http_equiv_refresh__content_1____Please_wait_while_the_micro_Torrent_WebUI_is_installed..._You_will_be_automatically_redirected.
lea edi, [ebp - 0x70]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x6c]
push 1
push 0
push 0
movsw word es:[edi], word [esi]
push 0xc8
mov esi, 0x89
push esi
call fcn.004225b4
mov ecx, dword [ebp + 0x6c]
push 2
push 0x48e128
call fcn.0042a73a
push esi
lea eax, [ebp - 0x70]
mov ecx, dword [ebp + 0x6c]
push eax
call fcn.0042a73a
jmp 0x43ca13
push 0xa
push str.token.html
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43c8aa
push 0xb
pop ecx
mov esi, str._html__div_idtoken_styledisplay:none__
lea edi, [ebp + 0x1c]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.__div___html_
lea edi, [ebp + 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x64]
push eax
movsd dword es:[edi], dword [esi]
push 0xd
lea eax, [ebp + 0x4c]
push eax
movsw word es:[edi], word [esi]
mov esi, dword [ebp + 0x6c]
push 0x2c
lea eax, [ebp + 0x1c]
push eax
mov ecx, esi
call fcn.0043bc5a
push 1
xor ebx, ebx
push ebx
push ebx
push 0xc8
push dword [ebp + 0x64]
mov ecx, esi
mov edi, eax
call fcn.004225b4
push 2
push 0x48e128
mov ecx, esi
call fcn.0042a73a
push ebx
push dword [ebp + 0x64]
push edi
jmp 0x43ca0c
push str.HTTP_1.1_404_Not_Found_r_nContent_Length:_0_r_n_r_n
push dword [ebp + 0x6c]
jmp 0x43c5bf
push 0xa
push str.index.html
push dword [ebp + 0x7c]
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
je 0x43c8e7
push 0xa
push str.token.html
push dword [ebp + 0x7c]
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
mov byte [ebp + 0x6b], 0
test eax, eax
jne 0x43c8eb
mov byte [ebp + 0x6b], 1
cmp byte [ebp + 0x73], 0
je 0x43c8fb
cmp byte [ebp + 0x6b], 0
jne 0x43c8fb
mov al, 1
jmp 0x43c8fd
xor al, al
cmp byte [ebp + 0x72], 0
je 0x43c92e
test al, al
jne 0x43c92e
mov edx, dword [ebp + 0x64]
lea eax, [ebp + 0x60]
push eax
mov ecx, ebx
call fcn.0041ff4a
mov esi, eax
test esi, esi
je 0x43c92e
mov ecx, ebx
call fcn.004433ab
mov eax, dword [ebp + 0x60]
mov ebx, esi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x72], 0
cmp byte [ebp + 0x6b], 0
mov byte [ebp + 0x73], 1
je 0x43c98b
mov eax, dword [ebp + 0x64]
mov esi, str.TOKEN
lea edi, [ebp + 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, 0xfffffff7
push eax
lea edx, [ebp + 0x50]
mov ecx, ebx
movsw word es:[edi], word [esi]
call fcn.00439a9a
test eax, eax
je 0x43c98b
sub eax, ebx
mov ecx, eax
mov eax, dword [ebp + 0x64]
sub eax, ecx
lea edx, [ebp + 0x64]
push edx
sub eax, 9
mov edx, ebx
sub edx, eax
add edx, dword [ebp + 0x64]
push eax
push edx
push ecx
mov ecx, dword [ebp + 0x6c]
push ebx
mov esi, ebx
call fcn.0043bc5a
mov ecx, esi
mov ebx, eax
call fcn.004433ab
mov byte [ebp + 0x73], 0
push 0x2e
push dword [ebp + 0x7c]
call sub.MSVCRT.dll_strrchr
pop ecx
pop ecx
mov edx, str..ico
mov ecx, eax
call fcn.00414244
xor ecx, ecx
test eax, eax
jl 0x43c9b0
mov ecx, dword [eax*4 + 0x4950b8]
cmp byte [ebp + 0x73], 0
mov esi, dword [ebp + 0x6c]
sete al
movzx eax, al
push eax
movzx eax, byte [ebp + 0x72]
neg eax
sbb eax, eax
and eax, str.gzip
push eax
push ecx
push 0xc8
push dword [ebp + 0x64]
mov ecx, esi
call fcn.004225b4
cmp byte [0x4c308b], 0
je 0x43c9f8
push 0x4c3078
push str.ETag:__s_r_n
push esi
call fcn.0042b1de
add esp, 0xc
push 2
push 0x48e128
mov ecx, esi
call fcn.0042a73a
push 0
push dword [ebp + 0x64]
push ebx
mov ecx, esi
call fcn.0042a7db
lea esp, [ebp - 0x148]
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4