Function at 0x43d539
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 0x43d4ee
mov edx, str.gzip
call fcn.0043aa91
mov byte [ebp + 0x73], 1
test eax, eax
jne 0x43d4f2
mov byte [ebp + 0x73], 0
mov eax, dword [0x4c5190]
test eax, eax
jne 0x43d519
mov ecx, str.webui.zip
call fcn.004440ef
push 0
push 0
mov ecx, eax
call fcn.00446e60
mov dword [0x4c5190], eax
test eax, eax
je 0x43d561
mov ecx, eax
call fcn.00447050
mov byte [0x4c51c3], al
test al, al
je 0x43d54a
mov eax, dword [0x4c5190]
push dword [eax + 0x1c]
push dword [eax + 0x20]
push str.__.8X_.8X_
push 0x13
push 0x4c51b0
call fcn.0043c4c6
add esp, 0x14
jmp 0x43d561
test dword [0x4ca454], 0x8000000
je 0x43d561
push str.Unable_to_read_webui.zip
call fcn.00488fd1
pop ecx
mov ecx, dword [ebp + 0x7c]
mov al, byte [ecx]
xor ebx, ebx
jmp 0x43d572
cmp al, 0x3f
je 0x43d576
inc ebx
mov al, byte [ebx + ecx]
test al, al
jne 0x43d56a
lea eax, [ebx + 1]
call section..text
cmp byte [0x4c5ce8], 0
mov dword [ebp + 0x60], esp
je 0x43d5c3
mov eax, dword [0x4c5cec]
cmp eax, 0xffffffff
je 0x43d5c3
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43d5c5
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 [0x4c5cec]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
jmp 0x43d5c5
xor esi, esi
mov eax, dword [ebp + 0x60]
mov dword [esi + 0x18], eax
cmp byte [0x4c5ce8], 0
je 0x43d60f
mov eax, dword [0x4c5cec]
cmp eax, 0xffffffff
je 0x43d60f
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x43d60b
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 [0x4c5cec]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
mov eax, esi
jmp 0x43d611
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, 0x4964d0
movsd dword es:[edi], dword [esi]
and dword [ebp + 0x64], 0
add esp, 0xc
cmp byte [0x4c51c3], 0
je 0x43d711
mov esi, dword [ebp + 0x6c]
lea ecx, [esi + 0x180]
cmp byte [ecx], 0
je 0x43d6aa
mov eax, 0x4c51b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43d68f
test dl, dl
je 0x43d68b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43d68f
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x43d671
xor eax, eax
jmp 0x43d694
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43d6aa
push str.HTTP_1.1_304_Not_Modified_r_nContent_Length:_0_r_n_r_n
push esi
call fcn.0042c08a
pop ecx
pop ecx
jmp 0x43daf2
cmp byte [ebp + 0x73], 0
mov ecx, dword [ebp + 0x5c]
jne 0x43d803
mov ecx, dword [ebp + 0x60]
mov edi, dword [ebp + 0x5c]
mov esi, dword [0x4c5190]
lea eax, [ebp + 0x64]
push eax
call fcn.0043ad70
mov edx, eax
mov ecx, esi
call fcn.00447081
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43d996
mov esi, dword [0x4c5190]
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.0043ad70
mov edx, eax
mov ecx, esi
call fcn.00447081
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43d996
mov esi, dword [ebp + 0x60]
push 0x496498
push esi
call sub.MSVCRT.dll_strstr
pop ecx
pop ecx
test eax, eax
jne 0x43d783
mov ecx, dword [ebp + 0x5c]
cmp byte [ebp + 0x73], al
jne 0x43d732
mov ecx, esi
mov esi, dword [ebp + 0x5c]
call fcn.0043ad70
push eax
call fcn.0043cff1
push 0
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.004461cb
mov ebx, eax
mov al, byte [ebp + 0x73]
mov byte [ebp + 0x72], al
test ebx, ebx
jne 0x43d996
mov ecx, esi
call fcn.0043ad70
push eax
call fcn.0043cff1
push ebx
lea edx, [ebp + 0x64]
mov ecx, eax
call fcn.004461cb
cmp byte [ebp + 0x73], 0
mov ebx, eax
sete byte [ebp + 0x72]
test ebx, ebx
jne 0x43d996
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 0x43d83a
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 0x43d80b
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.0042335b
mov ecx, dword [ebp + 0x6c]
push 2
push 0x48f120
call fcn.0042b5e6
push 0x79
lea eax, [ebp - 0x60]
push eax
jmp 0x43d826
mov edi, dword [ebp + 0x60]
jmp 0x43d6bd
mov ecx, dword [ebp + 0x6c]
push 1
push 0
push 0
push 0xc8
push ebx
call fcn.0042335b
push 2
push 0x48f120
mov ecx, dword [ebp + 0x6c]
call fcn.0042b5e6
push ebx
lea eax, [ebp - 0x13c]
jmp 0x43d903
push 0xe
push str.download_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d893
mov ecx, dword [0x4c5190]
test ecx, ecx
je 0x43d86b
call fcn.00446e8f
and dword [0x4c5190], 0
mov byte [0x4c51c3], 0
mov ecx, str.webui.zip
call fcn.004440ef
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
call fcn.0043cf6e
mov ecx, dword [ebp + 0x6c]
push str.downloading_webui
call fcn.00422c2d
jmp 0x43daf2
push 0x11
push str.downloading_webui
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d911
cmp dword [0x4c4444], eax
jne 0x43d8c8
mov ecx, dword [ebp + 0x6c]
cmp byte [0x4c51c3], al
je 0x43d8c1
push str._gui_index.html
jmp 0x43d889
push str._gui_index.html_error1
jmp 0x43d889
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.0042335b
mov ecx, dword [ebp + 0x6c]
push 2
push 0x48f120
call fcn.0042b5e6
push esi
lea eax, [ebp - 0x70]
mov ecx, dword [ebp + 0x6c]
push eax
call fcn.0042b5e6
jmp 0x43daf2
push 0xa
push str.token.html
push ebx
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x43d989
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.0043cd0c
push 1
xor ebx, ebx
push ebx
push ebx
push 0xc8
push dword [ebp + 0x64]
mov ecx, esi
mov edi, eax
call fcn.0042335b
push 2
push 0x48f120
mov ecx, esi
call fcn.0042b5e6
push ebx
push dword [ebp + 0x64]
push edi
jmp 0x43daeb
push str.HTTP_1.1_404_Not_Found_r_nContent_Length:_0_r_n_r_n
push dword [ebp + 0x6c]
jmp 0x43d69e
push 0xa
push str.index.html
push dword [ebp + 0x7c]
call sub.MSVCRT.dll__strnicmp
add esp, 0xc
test eax, eax
je 0x43d9c6
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 0x43d9ca
mov byte [ebp + 0x6b], 1
cmp byte [ebp + 0x73], 0
je 0x43d9da
cmp byte [ebp + 0x6b], 0
jne 0x43d9da
mov al, 1
jmp 0x43d9dc
xor al, al
cmp byte [ebp + 0x72], 0
je 0x43da0d
test al, al
jne 0x43da0d
mov edx, dword [ebp + 0x64]
lea eax, [ebp + 0x60]
push eax
mov ecx, ebx
call fcn.00420cdd
mov esi, eax
test esi, esi
je 0x43da0d
mov ecx, ebx
call fcn.00444521
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 0x43da6a
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.0043ab0f
test eax, eax
je 0x43da6a
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.0043cd0c
mov ecx, esi
mov ebx, eax
call fcn.00444521
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.004148e1
xor ecx, ecx
test eax, eax
jl 0x43da8f
mov ecx, dword [eax*4 + 0x496194]
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.0042335b
cmp byte [0x4c51c3], 0
je 0x43dad7
push 0x4c51b0
push str.ETag:__s_r_n
push esi
call fcn.0042c08a
add esp, 0xc
push 2
push 0x48f120
mov ecx, esi
call fcn.0042b5e6
push 0
push dword [ebp + 0x64]
push ebx
mov ecx, esi
call fcn.0042b687
lea esp, [ebp - 0x148]
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4