Function at 0x43d51d
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 0x43d4d2
mov edx, str.gzip
call fcn.0043aab2
mov byte [ebp + 0x73], 1
test eax, eax
jne 0x43d4d6
mov byte [ebp + 0x73], 0
mov eax, dword [0x4c61b0]
test eax, eax
jne 0x43d4fd
mov ecx, str.webui.zip
call fcn.0044409a
push 0
push 0
mov ecx, eax
call fcn.00446e42
mov dword [0x4c61b0], eax
test eax, eax
je 0x43d545
mov ecx, eax
call fcn.00447032
mov byte [0x4c61e3], al
test al, al
je 0x43d52e
mov eax, dword [0x4c61b0]
push dword [eax + 0x1c]
push dword [eax + 0x20]
push str.__.8X_.8X_
push 0x13
push 0x4c61d0
call fcn.0043c4e7
add esp, 0x14
jmp 0x43d545
test dword [0x4cb494], 0x8000000
je 0x43d545
push str.Unable_to_read_webui.zip
call fcn.00489130
pop ecx
mov ecx, dword [ebp + 0x7c]
mov al, byte [ecx]
xor ebx, ebx
jmp 0x43d556
cmp al, 0x3f
je 0x43d55a
inc ebx
mov al, byte [ebx + ecx]
test al, al
jne 0x43d54e
lea eax, [ebx + 1]
call section..text
cmp byte [0x4c6d08], 0
mov dword [ebp + 0x60], esp
je 0x43d5a7
mov eax, dword [0x4c6d0c]
cmp eax, 0xffffffff
je 0x43d5a7
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43d5a9
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 [0x4c6d0c]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
jmp 0x43d5a9
xor esi, esi
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x18], eax
cmp byte [0x4c6d08], 0
je 0x43d5f3
mov eax, dword [0x4c6d0c]
cmp eax, 0xffffffff
je 0x43d5f3
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43d5ef
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 [0x4c6d0c]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
mov eax, esi
jmp 0x43d5f5
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, 0x4974d8
movsd dword es:[edi], dword [esi]
and dword [ebp + 0x64], 0
add esp, 0xc
cmp byte [0x4c61e3], 0
je 0x43d6f5
mov esi, dword [ebp + 0x6c]
lea ecx, [esi + 0x180]
cmp byte [ecx], 0
je 0x43d68e
mov eax, 0x4c61d0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d673
test dl, dl
je 0x43d66f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d673
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x43d655
xor eax, eax
jmp 0x43d678
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d68e
push str.HTTP_1.1_304_Not_Modified_r_nContent_Length:_0_r_n_r_n
push esi
call fcn.0042c077
pop ecx
pop ecx
jmp 0x43dad6
cmp byte [ebp + 0x73], 0
mov ecx, dword [ebp + 0x5c]
jne 0x43d7e7
mov ecx, dword [ebp + 0x60]
mov edi, dword [ebp + 0x5c]
mov esi, dword [0x4c61b0]
lea eax, [ebp + 0x64]
push eax
call fcn.0043ad91
mov edx, eax
mov ecx, esi
call fcn.00447063
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43d97a
mov esi, dword [0x4c61b0]
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.0043ad91
mov edx, eax
mov ecx, esi
call fcn.00447063
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43d97a
mov esi, dword [ebp + 0x60]
push 0x4974a0
push esi
call sub.MSVCRT.dll_strstr
pop ecx
pop ecx
test eax, eax
jne 0x43d767
mov ecx, dword [ebp + 0x5c]
cmp byte [ebp + 0x73], al
jne 0x43d716
mov ecx, esi
mov esi, dword [ebp + 0x5c]
call fcn.0043ad91
push eax
call fcn.0043cfd5
push 0
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.00446176
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43d97a
mov ecx, esi
call fcn.0043ad91
push eax
call fcn.0043cfd5
push ebx
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.00446176
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43d97a
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 0x43d81e
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 0x43d7ef
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.00423380
mov ecx, dword [ebp + 0x6c]
push 2
push 0x490120
call fcn.0042b5d3
push 0x79
lea eax, [ebp - 0x60]
push eax
jmp 0x43d80a
mov edi, dword [ebp + 0x60]
jmp 0x43d6a1
mov ecx, dword [ebp + 0x6c]
push 1
push 0
push 0
push 0xc8
push ebx
call fcn.00423380
push 2
push 0x490120
mov ecx, dword [ebp + 0x6c]
call fcn.0042b5d3
push ebx
lea eax, [ebp - 0x13c]
jmp 0x43d8e7
push 0xe
push str.download_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d877
mov ecx, dword [0x4c61b0]
test ecx, ecx
je 0x43d84f
call fcn.00446e71
and dword [0x4c61b0], 0
mov byte [0x4c61e3], 0
mov ecx, str.webui.zip
call fcn.0044409a
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
call fcn.0043cf55
mov ecx, dword [ebp + 0x6c]
push str.downloading_webui
call fcn.00422c55
jmp 0x43dad6
push 0x11
push str.downloading_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d8f5
cmp dword [0x4c5464], eax
jne 0x43d8ac
mov ecx, dword [ebp + 0x6c]
cmp byte [0x4c61e3], al
je 0x43d8a5
push str._gui_index.html
jmp 0x43d86d
push str._gui_index.html_error1
jmp 0x43d86d
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.00423380
mov ecx, dword [ebp + 0x6c]
push 2
push 0x490120
call fcn.0042b5d3
push esi
lea eax, [ebp - 0x70]
mov ecx, dword [ebp + 0x6c]
push eax
call fcn.0042b5d3
jmp 0x43dad6
push 0xa
push str.token.html
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d96d
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.0043ccf3
push 1
xor ebx, ebx
push ebx
push ebx
push 0xc8
push dword [ebp + 0x64]
mov ecx, esi
mov edi, eax
call fcn.00423380
push 2
push 0x490120
mov ecx, esi
call fcn.0042b5d3
push ebx
push dword [ebp + 0x64]
push edi
jmp 0x43dacf
push str.HTTP_1.1_404_Not_Found_r_nContent_Length:_0_r_n_r_n
push dword [ebp + 0x6c]
jmp 0x43d682
push 0xa
push str.index.html
push dword [ebp + 0x7c]
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
je 0x43d9aa
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 0x43d9ae
mov byte [ebp + 0x6b], 1
cmp byte [ebp + 0x73], 0
je 0x43d9be
cmp byte [ebp + 0x6b], 0
jne 0x43d9be
mov al, 1
jmp 0x43d9c0
xor al, al
cmp byte [ebp + 0x72], 0
je 0x43d9f1
test al, al
jne 0x43d9f1
mov edx, dword [ebp + 0x64]
lea eax, [ebp + 0x60]
push eax
mov ecx, ebx
call fcn.00420d05
mov esi, eax
test esi, esi
je 0x43d9f1
mov ecx, ebx
call fcn.004444cc
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 0x43da4e
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.0043ab30
test eax, eax
je 0x43da4e
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.0043ccf3
mov ecx, esi
mov ebx, eax
call fcn.004444cc
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.00414893
xor ecx, ecx
test eax, eax
jl 0x43da73
mov ecx, dword [eax*4 + 0x49719c]
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.00423380
cmp byte [0x4c61e3], 0
je 0x43dabb
push 0x4c61d0
push str.ETag:__s_r_n
push esi
call fcn.0042c077
add esp, 0xc
push 2
push 0x490120
mov ecx, esi
call fcn.0042b5d3
push 0
push dword [ebp + 0x64]
push ebx
mov ecx, esi
call fcn.0042b674
lea esp, [ebp - 0x148]
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4