Function at 0x455825
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x878
cmp byte [ecx], 0
push ebx
push esi
push edi
mov dword [ebp - 0x20], ecx
je 0x455840
xor al, al
jmp 0x456ce0
call fcn.00446428
mov ecx, eax
call fcn.0043b2f1
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45584f
mov ebx, dword [sym.imp.KERNEL32.DLL_TlsSetValue]
sub eax, edx
mov dword [ebp - 0xc], eax
cmp byte [0x4c6d08], cl
je 0x45589e
mov eax, dword [0x4c6d0c]
cmp eax, 0xffffffff
je 0x45589e
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x4558a0
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 ebx
jmp 0x4558a0
xor esi, esi
mov eax, dword [ebp - 0xc]
inc eax
mov dword [esi + 0x14], eax
cmp byte [0x4c6d08], 0
mov esi, dword [0x4c6d0c]
je 0x4558ee
cmp esi, 0xffffffff
je 0x4558ee
push esi
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x4558e4
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 ebx
mov eax, esi
mov esi, dword [0x4c6d0c]
jmp 0x4558f0
xor eax, eax
mov eax, dword [eax + 0x14]
call section..text
cmp byte [0x4c6d08], 0
mov dword [ebp - 0xc], esp
je 0x455934
cmp esi, 0xffffffff
je 0x455934
push esi
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x455936
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 ebx
jmp 0x455936
xor esi, esi
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x18], eax
cmp byte [0x4c6d08], 0
mov eax, dword [0x4c6d0c]
je 0x455982
cmp eax, 0xffffffff
je 0x455982
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x455978
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 ebx
mov eax, dword [0x4c6d0c]
mov dword [ebp - 4], esi
jmp 0x455986
and dword [ebp - 4], 0
cmp byte [0x4c6d08], 0
je 0x4559c1
cmp eax, 0xffffffff
je 0x4559c1
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x4559bd
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 ebx
mov edi, esi
jmp 0x4559c3
xor edi, edi
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14]
call fcn.00446428
mov ecx, eax
call fcn.0043b2f1
mov ecx, dword [edi + 0x18]
push esi
push eax
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov dword [ebp - 0xc], eax
call fcn.00446420
mov ecx, eax
call fcn.0043b2f1
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4559f5
sub eax, ecx
mov dword [ebp - 8], eax
cmp byte [0x4c6d08], dl
je 0x455a3e
mov eax, dword [0x4c6d0c]
cmp eax, 0xffffffff
je 0x455a3e
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x455a40
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 ebx
jmp 0x455a40
xor esi, esi
mov eax, dword [ebp - 8]
inc eax
mov dword [esi + 0x14], eax
cmp byte [0x4c6d08], 0
mov esi, dword [0x4c6d0c]
je 0x455a8e
cmp esi, 0xffffffff
je 0x455a8e
push esi
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x455a84
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 ebx
mov eax, esi
mov esi, dword [0x4c6d0c]
jmp 0x455a90
xor eax, eax
mov eax, dword [eax + 0x14]
call section..text
cmp byte [0x4c6d08], 0
mov dword [ebp - 8], esp
je 0x455ad4
cmp esi, 0xffffffff
je 0x455ad4
push esi
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x455ad6
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 ebx
jmp 0x455ad6
xor esi, esi
mov eax, dword [ebp - 8]
mov dword [esi + 0x18], eax
cmp byte [0x4c6d08], 0
mov eax, dword [0x4c6d0c]
je 0x455b1f
cmp eax, 0xffffffff
je 0x455b1f
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x455b18
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 ebx
mov eax, dword [0x4c6d0c]
jmp 0x455b21
xor esi, esi
cmp byte [0x4c6d08], 0
je 0x455b60
cmp eax, 0xffffffff
je 0x455b60
push eax
call dword [sym.imp.KERNEL32.DLL_TlsGetValue]
mov ebx, eax
test ebx, ebx
jne 0x455b5c
push 0x20
call sub.MSVCRT.dll_malloc
pop ecx
push 8
mov ebx, eax
pop ecx
xor eax, eax
mov edi, ebx
push ebx
rep stosd dword es:[edi], eax
push dword [0x4c6d0c]
call dword [sym.imp.KERNEL32.DLL_TlsSetValue]
mov edi, ebx
jmp 0x455b62
xor edi, edi
mov esi, dword [esi + 0x14]
call fcn.00446420
mov ecx, eax
call fcn.0043b2f1
mov ecx, dword [edi + 0x18]
push esi
push eax
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov dword [ebp - 8], eax
call fcn.004549f2
push 5
xor edi, edi
pop edx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x1c], eax
inc edi
mov byte [ebp - 0x18], 1
call fcn.0045495c
and dword [ebp - 0x14], 0
call fcn.0042957f
call fcn.004265d6
mov bl, al
call fcn.00429590
push 3
pop esi
test bl, bl
je 0x455bd0
mov dword [ebp - 0x14], edi
call fcn.00461777
test al, al
je 0x455bcd
cmp byte [0x4c53d5], 0
je 0x455bd0
mov dword [ebp - 0x14], esi
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [0x4c3bb8], ebx
jbe 0x455c04
xor esi, esi
mov eax, dword [0x4c3bb0]
lea ecx, [eax + esi]
push str.notstore
call fcn.00412c70
cmp eax, edi
jne 0x455bf8
inc dword [ebp - 4]
inc ebx
add esi, 0x1c
cmp ebx, dword [0x4c3bb8]
jb 0x455bdf
push 0xa
pop ecx
mov esi, str.http:__update.utorrent.com_checkupdate.php
lea edi, [ebp - 0x878]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x7d5
lea eax, [ebp - 0x84d]
push 0
push eax
movsb byte es:[edi], byte [esi]
call sub.MSVCRT.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00448606
push 0x443622a
push str._v_d
lea eax, [ebp - 0x84e]
push 0x7d6
push eax
call fcn.0043c4e7
mov ebx, dword [ebp + 8]
mov esi, eax
mov eax, dword [ebx]
add esp, 0x10
add esi, 0x2a
mov edi, 0x800
test eax, eax
je 0x455c83
push eax
mov eax, edi
sub eax, esi
push str.qv_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 4]
mov eax, edi
push dword [0x4cd07c]
sub eax, esi
push str.lv_d__d__U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x18
add esi, eax
cmp dword [ebp + 0xc], 0
je 0x455cd1
push dword [ebp + 0xc]
mov eax, edi
sub eax, esi
push str.i_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp dword [ebp - 8], 0
je 0x455cf6
push dword [ebp - 8]
mov eax, edi
sub eax, esi
push str.l_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
push str.main
mov eax, edi
sub eax, esi
push str.tk_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
mov ebx, dword [ebx + 0x20]
add esp, 0x10
add esi, eax
test ebx, ebx
je 0x455d3b
push ebx
mov eax, edi
sub eax, esi
push str.k_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp byte [0x4c92ff], 0
je 0x456ca1
cmp dword [ebp - 0xc], 0
je 0x455d6d
push dword [ebp - 0xc]
mov eax, edi
sub eax, esi
push str.c_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ebx, dword [sym.imp.KERNEL32.DLL_GetVersion]
call ebx
test eax, eax
je 0x455d98
call ebx
push eax
mov eax, edi
sub eax, esi
push str.w_X
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.004617a4
test al, al
je 0x455dc6
call fcn.004617a4
movzx eax, al
push eax
mov eax, edi
sub eax, esi
push str.e_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp dword [ebp - 0x14], 0
je 0x455deb
push dword [ebp - 0x14]
mov eax, edi
sub eax, esi
push str.t_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
push dword [ebp - 0x18]
mov eax, edi
push dword [ebp - 0x1c]
sub eax, esi
push str.h_s
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
call fcn.00413819
mov ebx, eax
mov ecx, dword [ebx + 0x14]
mov eax, 0xfa0
cmp ecx, eax
ja 0x455e25
cmp dword [ebx + 0x18], eax
jbe 0x455e87
test ecx, ecx
je 0x455e46
push ecx
mov eax, edi
sub eax, esi
push str.p_up_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x455e6a
push eax
mov eax, edi
sub eax, esi
push str.p_down_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
push ebx
mov eax, edi
sub eax, esi
push str.p_ip_a
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c9974]
mov ecx, dword [0x4c9978]
mov edx, eax
or edx, ecx
je 0x455eb6
push ecx
push eax
mov eax, edi
sub eax, esi
push str.t_up_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
mov eax, dword [0x4c997c]
mov ecx, dword [0x4c9980]
mov edx, eax
or edx, ecx
je 0x455ee5
push ecx
push eax
mov eax, edi
sub eax, esi
push str.t_down_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
mov eax, dword [0x4c92b0]
xor ebx, ebx
cmp eax, ebx
je 0x455f0d
push eax
mov eax, edi
sub eax, esi
push str.m_up_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c92ac]
cmp eax, ebx
je 0x455f33
push eax
mov eax, edi
sub eax, esi
push str.m_down_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b10]
cmp eax, ebx
je 0x455f59
push eax
mov eax, edi
sub eax, esi
push str.m_utpq_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b38]
mov ecx, dword [0x4c3b3c]
mov edx, eax
or edx, ecx
je 0x455f88
push ecx
push eax
mov eax, edi
sub eax, esi
push str.mtl_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
mov eax, dword [0x4b618c]
cmp eax, ebx
je 0x455fae
push eax
mov eax, edi
sub eax, esi
push str.mts_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b30]
mov ecx, dword [0x4c3b34]
mov edx, eax
or edx, ecx
je 0x455fdd
push ecx
push eax
mov eax, edi
sub eax, esi
push str.mt_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
mov al, byte [0x4c5438]
test al, al
je 0x456006
movzx eax, al
push eax
mov eax, edi
sub eax, esi
push str.wui_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c611c]
cmp eax, ebx
je 0x45602c
push eax
mov eax, edi
sub eax, esi
push str.rsf_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c6128]
cmp eax, ebx
je 0x456052
push eax
mov eax, edi
sub eax, esi
push str.rsa_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ax, word [0x4c9b98]
cmp ax, bx
je 0x45607d
movzx eax, ax
push eax
mov eax, edi
sub eax, esi
push str.tor_all_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ax, word [0x4c9b9a]
cmp ax, bx
je 0x4560a8
movzx eax, ax
push eax
mov eax, edi
sub eax, esi
push str.tor_down_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ax, word [0x4c9b9c]
cmp ax, bx
je 0x4560d3
movzx eax, ax
push eax
mov eax, edi
sub eax, esi
push str.tor_cmp_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ax, word [0x4c9b9e]
cmp ax, bx
je 0x4560fe
movzx eax, ax
push eax
mov eax, edi
sub eax, esi
push str.tor_act_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ax, word [0x4c9ba0]
cmp ax, bx
je 0x456129
movzx eax, ax
push eax
mov eax, edi
sub eax, esi
push str.tor_in_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ax, word [0x4c9ba4]
cmp ax, bx
je 0x456154
movzx eax, ax
push eax
mov eax, edi
sub eax, esi
push str.tor_nl_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99b0]
cmp eax, ebx
je 0x45617a
push eax
mov eax, edi
sub eax, esi
push str.tta_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99b4]
cmp eax, ebx
je 0x4561a0
push eax
mov eax, edi
sub eax, esi
push str.ttd_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99b8]
cmp eax, ebx
je 0x4561c6
push eax
mov eax, edi
sub eax, esi
push str.ttc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99bc]
mov ecx, dword [0x4c99c0]
mov edx, eax
or edx, ecx
je 0x4561f5
push ecx
push eax
mov eax, edi
sub eax, esi
push str.fg_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
mov eax, dword [0x4c99c4]
cmp eax, ebx
je 0x45621b
push eax
mov eax, edi
sub eax, esi
push str.gnc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99c8]
cmp eax, ebx
je 0x456241
push eax
mov eax, edi
sub eax, esi
push str.trc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99cc]
cmp eax, ebx
je 0x456267
push eax
mov eax, edi
sub eax, esi
push str.prc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99d0]
cmp eax, ebx
je 0x45628d
push eax
mov eax, edi
sub eax, esi
push str.pcc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99d4]
cmp eax, ebx
je 0x4562b3
push eax
mov eax, edi
sub eax, esi
push str.flc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99d8]
cmp eax, ebx
je 0x4562d9
push eax
mov eax, edi
sub eax, esi
push str.spc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99dc]
cmp eax, ebx
je 0x4562ff
push eax
mov eax, edi
sub eax, esi
push str.lgc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99e0]
cmp eax, ebx
je 0x456325
push eax
mov eax, edi
sub eax, esi
push str.ac_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
movzx eax, byte [0x4c9333]
add eax, eax
mov ecx, eax
push 3
pop eax
sub eax, ecx
movzx ecx, byte [0x4c9330]
sub eax, ecx
je 0x45635d
push eax
mov eax, edi
sub eax, esi
push str.ps_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c99e4]
cmp eax, ebx
je 0x456383
push eax
mov eax, edi
sub eax, esi
push str.sc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c9a88]
cmp eax, ebx
je 0x4563a9
push eax
mov eax, edi
sub eax, esi
push str.hc_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov al, byte [0x4c9320]
test al, al
je 0x4563d2
movzx eax, al
push eax
mov eax, edi
sub eax, esi
push str.sch_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.00472092
test al, al
je 0x456400
call fcn.00472092
movzx eax, al
push eax
mov eax, edi
sub eax, esi
push str.nat_state_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp word [0x4c621c], bx
je 0x456427
push 1
mov eax, edi
sub eax, esi
push str.up_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp word [0x4c5518], bx
je 0x45644e
push 1
mov eax, edi
sub eax, esi
push str.np_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3afc]
cmp eax, ebx
je 0x456474
push eax
mov eax, edi
sub eax, esi
push str.ot_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b00]
cmp eax, ebx
je 0x45649a
push eax
mov eax, edi
sub eax, esi
push str.ou_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b04]
cmp eax, ebx
je 0x4564c0
push eax
mov eax, edi
sub eax, esi
push str.oh_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3af0]
cmp eax, ebx
je 0x4564e6
push eax
mov eax, edi
sub eax, esi
push str.it_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3af4]
cmp eax, ebx
je 0x45650c
push eax
mov eax, edi
sub eax, esi
push str.iu_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3af8]
cmp eax, ebx
je 0x456532
push eax
mov eax, edi
sub eax, esi
push str.ih_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b08]
cmp eax, ebx
je 0x456558
push eax
mov eax, edi
sub eax, esi
push str.ah_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b0c]
cmp eax, ebx
je 0x45657e
push eax
mov eax, edi
sub eax, esi
push str.fh_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3ae4]
cmp eax, ebx
je 0x4565a4
push eax
mov eax, edi
sub eax, esi
push str.pc_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3ae8]
cmp eax, ebx
je 0x4565ca
push eax
mov eax, edi
sub eax, esi
push str.pr_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3aec]
cmp eax, ebx
je 0x4565f0
push eax
mov eax, edi
sub eax, esi
push str.pd_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c598c]
cmp eax, ebx
je 0x456616
push eax
mov eax, edi
sub eax, esi
push str.ul_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c5998]
cmp eax, ebx
je 0x45663c
push eax
mov eax, edi
sub eax, esi
push str.dl_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
sub eax, dword [0x4c9a58]
sbb ecx, dword [0x4c9a5c]
add eax, dword [0x4c9a08]
adc ecx, dword [0x4c9a0c]
push ecx
push eax
mov eax, dword [ebp - 0x30]
xor ecx, ecx
sub eax, dword [0x4c9a50]
sbb ecx, dword [0x4c9a54]
add eax, dword [0x4c9a00]
adc ecx, dword [0x4c9a04]
push ecx
push eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
sub eax, dword [0x4c9a48]
sbb ecx, dword [0x4c9a4c]
add eax, dword [0x4c99f8]
adc ecx, dword [0x4c99fc]
push ecx
push eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
sub eax, dword [0x4c9a40]
sbb ecx, dword [0x4c9a44]
add eax, dword [0x4c99f0]
adc ecx, dword [0x4c99f4]
push ecx
push eax
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
sub eax, dword [0x4c9a38]
sbb ecx, dword [0x4c9a3c]
add eax, dword [0x4c99e8]
adc ecx, dword [0x4c99ec]
push ecx
push eax
mov eax, edi
sub eax, esi
push str.uts_Lu__Lu__Lu__Lu__Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
xor ecx, ecx
add esi, eax
mov eax, dword [ebp - 0x40]
sub eax, dword [0x4c9a80]
sbb ecx, dword [0x4c9a84]
add eax, dword [0x4c9a30]
adc ecx, dword [0x4c9a34]
push ecx
push eax
mov eax, dword [ebp - 0x44]
xor ecx, ecx
sub eax, dword [0x4c9a78]
sbb ecx, dword [0x4c9a7c]
add eax, dword [0x4c9a28]
adc ecx, dword [0x4c9a2c]
push ecx
push eax
mov eax, dword [ebp - 0x48]
xor ecx, ecx
sub eax, dword [0x4c9a70]
sbb ecx, dword [0x4c9a74]
add eax, dword [0x4c9a20]
adc ecx, dword [0x4c9a24]
push ecx
push eax
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
sub eax, dword [0x4c9a68]
sbb ecx, dword [0x4c9a6c]
add eax, dword [0x4c9a18]
adc ecx, dword [0x4c9a1c]
push ecx
push eax
mov eax, dword [ebp - 0x50]
xor ecx, ecx
sub eax, dword [0x4c9a60]
sbb ecx, dword [0x4c9a64]
add eax, dword [0x4c9a10]
adc ecx, dword [0x4c9a14]
push ecx
push eax
mov eax, edi
sub eax, esi
push str.utr_Lu__Lu__Lu__Lu__Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x68
lea ecx, [ebp - 0x10]
add esi, eax
call fcn.00415bbb
mov eax, dword [ebp - 0x10]
cmp eax, ebx
jne 0x4567bb
mov eax, 0x49013b
push edi
push eax
lea eax, [ebp - 0x878]
push eax
call sub.MSVCRT.dll_strncat
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
jne 0x4567d7
xor eax, eax
jmp 0x4567e3
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4567da
sub eax, edx
add esi, eax
mov eax, dword [0x4c59c8]
cmp eax, ebx
je 0x45681d
mov eax, dword [eax*4 + 0x4b79d4]
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x45681d
push eax
mov eax, edi
sub eax, esi
push str.pt_s
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.00473c06
or eax, edx
je 0x456849
call fcn.00473c06
push edx
push eax
mov eax, edi
sub eax, esi
push str.ssb_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
xor cl, cl
call fcn.0046267d
test al, al
je 0x45687b
xor cl, cl
call fcn.0046267d
movzx eax, al
push eax
mov eax, edi
sub eax, esi
push str.def_tor_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.0045fdd8
test al, al
je 0x456894
call fcn.0045ff67
mov dword [ebp + 8], 1
test al, al
jne 0x456897
mov dword [ebp + 8], ebx
call fcn.0045fe36
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 4
call fcn.0045fe21
movzx eax, al
neg eax
sbb eax, eax
and eax, 2
or eax, ebx
or eax, dword [ebp + 8]
je 0x45691b
call fcn.0045fdd8
test al, al
je 0x4568d7
call fcn.0045ff67
test al, al
je 0x4568d7
mov dword [ebp + 8], 1
jmp 0x4568db
and dword [ebp + 8], 0
call fcn.0045fe36
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 4
call fcn.0045fe21
movzx eax, al
neg eax
sbb eax, eax
and eax, 2
or eax, ebx
or eax, dword [ebp + 8]
push eax
mov eax, edi
sub eax, esi
push str.tb_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov ecx, dword [0x4c3a38]
test ecx, ecx
je 0x45692c
call fcn.00402d4c
jmp 0x45692e
xor eax, eax
test eax, eax
je 0x456954
cmp byte [eax], 0
je 0x456954
push eax
mov eax, edi
sub eax, esi
push str.ap_s
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3a38]
test eax, eax
je 0x456962
mov eax, dword [eax + 0x38]
jmp 0x456967
mov eax, dword [0x4c3bb8]
dec eax
je 0x456987
push eax
mov eax, edi
sub eax, esi
push str.at_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp dword [ebp - 4], 0
je 0x4569ac
push dword [ebp - 4]
mov eax, edi
sub eax, esi
push str.ans_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c9aac]
test eax, eax
je 0x4569d2
push eax
mov eax, edi
sub eax, esi
push str.xai_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b44]
test eax, eax
je 0x4569f8
push eax
mov eax, edi
sub eax, esi
push str.rfn_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b48]
test eax, eax
je 0x456a1e
push eax
mov eax, edi
sub eax, esi
push str.rmf_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b4c]
test eax, eax
je 0x456a44
push eax
mov eax, edi
sub eax, esi
push str.rnm_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c3b50]
test eax, eax
je 0x456a6a
push eax
mov eax, edi
sub eax, esi
push str.rnu_U
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.00445f6c
test al, al
je 0x456a9c
call fcn.00445f6c
xor ecx, ecx
test al, al
setne cl
mov eax, edi
sub eax, esi
push ecx
push str.w64_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov al, byte [0x4c3b54]
test al, al
je 0x456ac5
movzx eax, al
push eax
mov eax, edi
sub eax, esi
push str.skn_u
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
push 0x14
lea eax, [ebp - 0x78]
push eax
push str.Version
mov edx, str.SOFTWAREMicrosoftInternet_Explorer
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00458396
test al, al
je 0x456b03
lea eax, [ebp - 0x78]
push eax
mov eax, edi
sub eax, esi
push str.ie_S
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c9530]
push 0x1c
xor edx, edx
pop ecx
div ecx
mov ebx, eax
test ebx, ebx
je 0x456b32
push ebx
mov eax, edi
sub eax, esi
push str.hn_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
add ebx, 0xfffffffe
cmp ebx, 3
ja 0x456b6b
push 5
pop ecx
call fcn.00454aca
test eax, eax
je 0x456b6b
push 5
pop ecx
call fcn.00454aca
push eax
mov eax, edi
sub eax, esi
push str.hh_s
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
cmp byte [0x4c933b], 0
mov eax, dword [0x4c9a9c]
je 0x456b7c
or eax, 1
test eax, eax
je 0x456b9d
push eax
mov eax, edi
sub eax, esi
push str.xsm_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.004456aa
test eax, eax
je 0x456bc8
call fcn.004456aa
push eax
mov eax, edi
sub eax, esi
push str.xsss_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c9aa4]
test eax, eax
je 0x456bee
push eax
mov eax, edi
sub eax, esi
push str.xrsb_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
call fcn.004456aa
add eax, dword [0x4c9984]
je 0x456c18
push eax
mov eax, edi
sub eax, esi
push str.xrtsb_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
inc dword [0x4c9aa8]
je 0x456c42
push dword [0x4c9aa8]
mov eax, edi
sub eax, esi
push str.xseq_d
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x10
add esi, eax
mov eax, dword [0x4c9ab0]
mov ecx, dword [0x4c9ab4]
mov edx, eax
or edx, ecx
je 0x456c71
push ecx
push eax
mov eax, edi
sub eax, esi
push str.av_Lu
push eax
lea eax, [ebp + esi - 0x878]
push eax
call fcn.0043c4e7
add esp, 0x14
add esi, eax
mov eax, dword [0x4c9ab8]
test eax, eax
je 0x456c93
push eax
push str.avie_d
sub edi, esi
lea eax, [ebp + esi - 0x878]
push edi
push eax
call fcn.0043c4e7
add esp, 0x10
cmp byte [ebp - 0xc], 0
je 0x456ca1
mov ecx, dword [ebp - 0x10]
call fcn.004444cc
call fcn.0042957f
mov al, byte [ebp + 0xc]
mov edx, dword [ebp - 0x20]
push 0
mov byte [edx + 1], al
mov byte [edx], 1
lea ecx, [ebp - 0x878]
push 0
test al, 0xc
jne 0x456cc7
push 0x454920
jmp 0x456ccc
push 0x454914
call fcn.00422aa4
call fcn.00429590
mov ecx, dword [ebp - 0x1c]
call fcn.004444cc
mov al, 1
lea esp, [ebp - 0x884]
pop edi
pop esi
pop ebx
leave
ret 8