Function at 0x43d53e
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 + 0x198]
push esi
push edi
test ecx, ecx
je 0x43d4f3
mov edx, str.gzip
call fcn.0043aad3
mov byte [ebp + 0x73], 1
test eax, eax
jne 0x43d4f7
mov byte [ebp + 0x73], 0
mov eax, dword [0x4c6190]
test eax, eax
jne 0x43d51e
mov ecx, str.webui.zip
call fcn.004440cc
push 0
push 0
mov ecx, eax
call fcn.00446e74
mov dword [0x4c6190], eax
test eax, eax
je 0x43d566
mov ecx, eax
call fcn.00447064
mov byte [0x4c61c3], al
test al, al
je 0x43d54f
mov eax, dword [0x4c6190]
push dword [eax + 0x1c]
push dword [eax + 0x20]
push str.__.8X_.8X_
push 0x13
push 0x4c61b0
call fcn.0043c508
add esp, 0x14
jmp 0x43d566
test dword [0x4cb474], 0x8000000
je 0x43d566
push str.Unable_to_read_webui.zip
call fcn.00489227
pop ecx
mov ecx, dword [ebp + 0x7c]
mov al, byte [ecx]
xor ebx, ebx
jmp 0x43d577
cmp al, 0x3f
je 0x43d57b
inc ebx
mov al, byte [ebx + ecx]
test al, al
jne 0x43d56f
lea eax, [ebx + 1]
call section..text
cmp byte [0x4c6ce8], 0
mov dword [ebp + 0x60], esp
je 0x43d5c8
mov eax, dword [0x4c6cec]
cmp eax, 0xffffffff
je 0x43d5c8
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43d5ca
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 [0x4c6cec]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
jmp 0x43d5ca
xor esi, esi
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x18], eax
cmp byte [0x4c6ce8], 0
je 0x43d614
mov eax, dword [0x4c6cec]
cmp eax, 0xffffffff
je 0x43d614
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43d610
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 [0x4c6cec]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
mov eax, esi
jmp 0x43d616
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, 0x4974d0
movsd dword es:[edi], dword [esi]
and dword [ebp + 0x64], 0
add esp, 0xc
cmp byte [0x4c61c3], 0
je 0x43d716
mov esi, dword [ebp + 0x6c]
lea ecx, [esi + 0x180]
cmp byte [ecx], 0
je 0x43d6af
mov eax, 0x4c61b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d694
test dl, dl
je 0x43d690
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d694
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x43d676
xor eax, eax
jmp 0x43d699
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d6af
push str.HTTP_1.1_304_Not_Modified_r_nContent_Length:_0_r_n_r_n
push esi
call fcn.0042c04a
pop ecx
pop ecx
jmp 0x43daf7
cmp byte [ebp + 0x73], 0
mov ecx, dword [ebp + 0x5c]
jne 0x43d808
mov ecx, dword [ebp + 0x60]
mov edi, dword [ebp + 0x5c]
mov esi, dword [0x4c6190]
lea eax, [ebp + 0x64]
push eax
call fcn.0043adb2
mov edx, eax
mov ecx, esi
call fcn.00447095
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43d99b
mov esi, dword [0x4c6190]
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.0043adb2
mov edx, eax
mov ecx, esi
call fcn.00447095
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43d99b
mov esi, dword [ebp + 0x60]
push 0x497498
push esi
call sub.MSVCRT.dll_strstr
pop ecx
pop ecx
test eax, eax
jne 0x43d788
mov ecx, dword [ebp + 0x5c]
cmp byte [ebp + 0x73], al
jne 0x43d737
mov ecx, esi
mov esi, dword [ebp + 0x5c]
call fcn.0043adb2
push eax
call fcn.0043cff6
push 0
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.004461a8
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43d99b
mov ecx, esi
call fcn.0043adb2
push eax
call fcn.0043cff6
push ebx
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.004461a8
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43d99b
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 0x43d83f
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 0x43d810
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.00423346
mov ecx, dword [ebp + 0x6c]
push 2
push 0x490120
call fcn.0042b5a4
push 0x79
lea eax, [ebp - 0x60]
push eax
jmp 0x43d82b
mov edi, dword [ebp + 0x60]
jmp 0x43d6c2
mov ecx, dword [ebp + 0x6c]
push 1
push 0
push 0
push 0xc8
push ebx
call fcn.00423346
push 2
push 0x490120
mov ecx, dword [ebp + 0x6c]
call fcn.0042b5a4
push ebx
lea eax, [ebp - 0x13c]
jmp 0x43d908
push 0xe
push str.download_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d898
mov ecx, dword [0x4c6190]
test ecx, ecx
je 0x43d870
call fcn.00446ea3
and dword [0x4c6190], 0
mov byte [0x4c61c3], 0
mov ecx, str.webui.zip
call fcn.004440cc
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
call fcn.0043cf76
mov ecx, dword [ebp + 0x6c]
push str.downloading_webui
call fcn.00422c1b
jmp 0x43daf7
push 0x11
push str.downloading_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d916
cmp dword [0x4c5444], eax
jne 0x43d8cd
mov ecx, dword [ebp + 0x6c]
cmp byte [0x4c61c3], al
je 0x43d8c6
push str._gui_index.html
jmp 0x43d88e
push str._gui_index.html_error1
jmp 0x43d88e
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.00423346
mov ecx, dword [ebp + 0x6c]
push 2
push 0x490120
call fcn.0042b5a4
push esi
lea eax, [ebp - 0x70]
mov ecx, dword [ebp + 0x6c]
push eax
call fcn.0042b5a4
jmp 0x43daf7
push 0xa
push str.token.html
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d98e
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.0043cd14
push 1
xor ebx, ebx
push ebx
push ebx
push 0xc8
push dword [ebp + 0x64]
mov ecx, esi
mov edi, eax
call fcn.00423346
push 2
push 0x490120
mov ecx, esi
call fcn.0042b5a4
push ebx
push dword [ebp + 0x64]
push edi
jmp 0x43daf0
push str.HTTP_1.1_404_Not_Found_r_nContent_Length:_0_r_n_r_n
push dword [ebp + 0x6c]
jmp 0x43d6a3
push 0xa
push str.index.html
push dword [ebp + 0x7c]
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
je 0x43d9cb
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 0x43d9cf
mov byte [ebp + 0x6b], 1
cmp byte [ebp + 0x73], 0
je 0x43d9df
cmp byte [ebp + 0x6b], 0
jne 0x43d9df
mov al, 1
jmp 0x43d9e1
xor al, al
cmp byte [ebp + 0x72], 0
je 0x43da12
test al, al
jne 0x43da12
mov edx, dword [ebp + 0x64]
lea eax, [ebp + 0x60]
push eax
mov ecx, ebx
call fcn.00420ccb
mov esi, eax
test esi, esi
je 0x43da12
mov ecx, ebx
call fcn.004444fe
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 0x43da6f
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.0043ab51
test eax, eax
je 0x43da6f
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.0043cd14
mov ecx, esi
mov ebx, eax
call fcn.004444fe
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.004148e9
xor ecx, ecx
test eax, eax
jl 0x43da94
mov ecx, dword [eax*4 + 0x497194]
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.00423346
cmp byte [0x4c61c3], 0
je 0x43dadc
push 0x4c61b0
push str.ETag:__s_r_n
push esi
call fcn.0042c04a
add esp, 0xc
push 2
push 0x490120
mov ecx, esi
call fcn.0042b5a4
push 0
push dword [ebp + 0x64]
push ebx
mov ecx, esi
call fcn.0042b645
lea esp, [ebp - 0x148]
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4