Function at 0x406393
Capabilities:
Allocate thread local storage
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
push ebx
push edi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
call fcn.00436020
mov edx, dword [esp + 0x34]
lea ecx, [esp]
call fcn.0041e000
mov dword [0x43b001], 0x10005bc
mov dword [0x43b001], 0x10005be
mov ebx, dword [0x47e424]
and ebx, ebx
je 0x4063da
mov ebx, dword [0x47e424]
cmp ebx, 0xffffffff
je 0x4063da
jmp 0x4063e1
mov eax, 1
jmp 0x4063e3
xor eax, eax
and eax, eax
je 0x4063fb
mov dword [0x43b001], 0x10005c0
call sub.KERNEL32.dll_TlsAlloc
mov dword [0x47e424], eax
mov dword [0x43b001], 0x10005c1
mov dword [0x43b001], 0x10005c2
mov ebx, dword [0x47e424]
cmp ebx, 0xffffffff
je 0x406446
mov ebx, dword [esp + 0x2c]
cmp ebx, 0xffffffff
je 0x406446
mov ebx, dword [esp + 0x2c]
cmp ebx, 0x80020009
jne 0x40643e
mov ebx, dword [esp + 0x30]
and ebx, ebx
jne 0x40643e
mov eax, 1
jmp 0x406440
xor eax, eax
and eax, eax
jne 0x406446
jmp 0x40644d
mov eax, 1
jmp 0x40644f
xor eax, eax
and eax, eax
je 0x406462
mov dword [0x43b001], 0x10005c3
jmp 0x406f0b
mov dword [0x43b001], 0x10005c4
mov dword [0x43b001], 0x10005c6
push dword [0x47e424]
call sub.KERNEL32.dll_TlsGetValue
mov dword [esp + 4], eax
mov dword [0x43b001], 0x10005c7
mov ebx, dword [esp + 4]
and ebx, ebx
jne 0x406614
mov dword [0x43b001], 0x10005c9
push 8
call fcn.004216d0
mov dword [esp + 4], eax
mov dword [0x43b001], 0x10005ca
cmp dword [esp + 4], 0
je 0x40660a
mov dword [0x43b001], 0x10005cb
push dword [esp + 4]
push dword [0x47e424]
call sub.KERNEL32.dll_TlsSetValue
and eax, eax
je 0x4065d1
mov dword [0x43b001], 0x10005cd
mov ebx, dword [0x47e430]
inc ebx
shl ebx, 2
push ebx
push dword [0x47e42c]
call fcn.004218d0
mov dword [esp + 8], eax
mov dword [0x43b001], 0x10005ce
cmp dword [esp + 8], 0
je 0x406572
mov dword [0x43b001], 0x10005cf
mov eax, dword [esp + 8]
mov dword [0x47e42c], eax
mov dword [0x43b001], 0x10005d0
push dword [esp + 4]
mov ebx, dword [0x47e42c]
mov edi, dword [0x47e430]
shl edi, 2
add ebx, edi
push ebx
call fcn.00421900
mov dword [0x43b001], 0x10005d1
inc dword [0x47e430]
mov dword [0x43b001], 0x10005d2
jmp 0x4065bb
mov dword [0x43b001], 0x10005d2
mov dword [0x43b001], 0x10005d3
push 0
push dword [0x47e424]
call sub.KERNEL32.dll_TlsSetValue
mov dword [0x43b001], 0x10005d4
push dword [esp + 4]
call fcn.004216f0
mov dword [0x43b001], 0x10005d5
mov dword [esp + 4], 0
mov dword [0x43b001], 0x10005d6
mov dword [0x43b001], 0x10005d7
jmp 0x406600
mov dword [0x43b001], 0x10005d7
mov dword [0x43b001], 0x10005d8
push dword [esp + 4]
call fcn.004216f0
mov dword [0x43b001], 0x10005d9
mov dword [esp + 4], 0
mov dword [0x43b001], 0x10005da
mov dword [0x43b001], 0x10005db
mov dword [0x43b001], 0x10005dc
mov dword [0x43b001], 0x10005dd
cmp dword [esp + 4], 0
je 0x406ef5
mov dword [0x43b001], 0x10005de
push dword [esp + 0x2c]
mov ebp, dword [esp + 8]
pop dword [ebp]
mov dword [0x43b001], 0x10005df
push dword [esp + 0x2c]
mov dword [0x43b001], 0x10005e0
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x406691
mov dword [0x43b001], 0x10005e1
mov ebp, dword [esp + 8]
mov edx, str.Okay.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005e2
jmp 0x406eea
mov dword [0x43b001], 0x10005e2
mov ebx, 1
cmp ebx, dword [esp]
jne 0x406744
mov dword [0x43b001], 0x10005e3
mov edx, dword [esp + 4]
xor ecx, ecx
call fcn.00435f90
jne 0x406706
mov dword [0x43b001], 0x10005e4
call fcn.00435e80
push eax
mov edx, str.The_operation_completed__but_was_only_partially_successful.__
call fcn.00435ea0
mov edx, dword [esp + 8]
call fcn.00435ea0
mov edx, 0x43b435
call fcn.00435ea0
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
push eax
call fcn.00435f00
mov dword [0x43b001], 0x10005e5
jmp 0x40672b
mov dword [0x43b001], 0x10005e5
mov dword [0x43b001], 0x10005e6
mov ebp, dword [esp + 8]
mov edx, str.The_operation_completed__but_was_only_partially_successful.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005e7
mov dword [0x43b001], 0x10005e8
jmp 0x406eea
mov dword [0x43b001], 0x10005e8
mov ebx, 0x80004005
cmp ebx, dword [esp]
jne 0x406782
mov dword [0x43b001], 0x10005e9
mov ebp, dword [esp + 8]
mov edx, str.Unspecified_error.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005ea
jmp 0x406eea
mov dword [0x43b001], 0x10005ea
mov ebx, 0x80070057
cmp ebx, dword [esp]
jne 0x4067c0
mov dword [0x43b001], 0x10005eb
mov ebp, dword [esp + 8]
mov edx, str.One_or_more_arguments_are_invalid._Possibly_a_numerical_overflow_or_too_many_nested_objects___if_so__try_splitting_your_method_call_into_two_or_more_subcalls.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005ec
jmp 0x406eea
mov dword [0x43b001], 0x10005ec
mov ebx, 0x80004002
cmp ebx, dword [esp]
jne 0x4067fe
mov dword [0x43b001], 0x10005ed
mov ebp, dword [esp + 8]
mov edx, str.Method_is_not_implemented.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005ee
jmp 0x406eea
mov dword [0x43b001], 0x10005ee
mov ebx, 0x8007000e
cmp ebx, dword [esp]
jne 0x406869
mov dword [0x43b001], 0x10005ef
call fcn.00435e80
push eax
mov edx, str.Problem_allocating_memory._r_n_r_n_Possibly_too_many_method_arguments._Each_method_property_is_limited_by_COMatePLUS_to_a_maximum_of
call fcn.00435ea0
call fcn.00435e80
push eax
push eax
push 0
push 0x14
call fcn.0041e7d0
pop eax
mov edx, str._arguments._
call fcn.00435ea0
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
push eax
call fcn.00435f00
mov dword [0x43b001], 0x10005f0
jmp 0x406eea
mov dword [0x43b001], 0x10005f0
mov ebx, 0x8000ffff
cmp ebx, dword [esp]
jne 0x4068a7
mov dword [0x43b001], 0x10005f1
mov ebp, dword [esp + 8]
mov edx, str.An_unexpected_error.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005f2
jmp 0x406eea
mov dword [0x43b001], 0x10005f2
mov ebx, 0x80004003
cmp ebx, dword [esp]
jne 0x4068e5
mov dword [0x43b001], 0x10005f3
mov ebp, dword [esp + 8]
mov edx, str.An_invalid_pointer_was_supplied.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005f4
jmp 0x406eea
mov dword [0x43b001], 0x10005f4
mov ebx, 0x80004001
cmp ebx, dword [esp]
jne 0x406923
mov dword [0x43b001], 0x10005f5
mov ebp, dword [esp + 8]
mov edx, str.Not_implemented._In_the_case_of_attaching_an_event_handler_to_a_COM_object__this_could_signify_that_the_object_does_not_provide_any_type_information.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005f6
jmp 0x406eea
mov dword [0x43b001], 0x10005f6
mov ebx, 0x800401f3
cmp ebx, dword [esp]
je 0x406941
mov ebx, 0x80040154
cmp ebx, dword [esp]
jne 0x40696b
mov dword [0x43b001], 0x10005f7
mov ebp, dword [esp + 8]
mov edx, str.Invalid_progID_CLSID._Check_your_spelling_of_the_programmatic_identifier._Also_check_that_the_component___ActiveX_control_has_been_registered.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005f8
jmp 0x406eea
mov dword [0x43b001], 0x10005f8
mov ebx, 0x80080005
cmp ebx, dword [esp]
jne 0x4069a9
mov dword [0x43b001], 0x10005f9
mov ebp, dword [esp + 8]
mov edx, str.Server_execution_failed._Usually_caused_by_an_out_of_process_server_timing_out_when_asked_to_create_an_instance_of_a_class_factory.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005fa
jmp 0x406eea
mov dword [0x43b001], 0x10005fa
mov ebx, 0x80020005
cmp ebx, dword [esp]
jne 0x4069e7
mov dword [0x43b001], 0x10005fb
mov ebp, dword [esp + 8]
mov edx, str.Type_mismatch_in_the_method_parameters.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005fc
jmp 0x406eea
mov dword [0x43b001], 0x10005fc
mov ebx, 0x8002802b
cmp ebx, dword [esp]
jne 0x406a25
mov dword [0x43b001], 0x10005fd
mov ebp, dword [esp + 8]
mov edx, str.No_type_description_was_found_in_the_library_with_the_specified_GUID_whilst_trying_to_create_an_event_handler.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x10005fe
jmp 0x406eea
mov dword [0x43b001], 0x10005fe
mov ebx, 0x80040201
cmp ebx, dword [esp]
jne 0x406a63
mov dword [0x43b001], 0x10005ff
mov ebp, dword [esp + 8]
mov edx, str.Unable_to_set_event_handler_because_the_connection_point_has_already_reached_its_limit_of_connections.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000600
jmp 0x406eea
mov dword [0x43b001], 0x1000600
mov ebx, 0x80040110
cmp ebx, dword [esp]
jne 0x406aa1
mov dword [0x43b001], 0x1000601
mov ebp, dword [esp + 8]
mov edx, str.Class_does_not_support_aggregation__or_class_object_is_remote_.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000602
jmp 0x406eea
mov dword [0x43b001], 0x1000602
mov ebx, 0x8002000a
cmp ebx, dword [esp]
jne 0x406adf
mov dword [0x43b001], 0x1000603
mov ebp, dword [esp + 8]
mov edx, str.Overflow_error_whilst_converting_between_types.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000604
jmp 0x406eea
mov dword [0x43b001], 0x1000604
mov ebx, 0x80020006
cmp ebx, dword [esp]
jne 0x406b1d
mov dword [0x43b001], 0x1000605
mov ebp, dword [esp + 8]
mov edx, str.Method_property_not_supported_by_this_object.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000606
jmp 0x406eea
mov dword [0x43b001], 0x1000606
mov ebx, 0x8002000e
cmp ebx, dword [esp]
jne 0x406b5b
mov dword [0x43b001], 0x1000607
mov ebp, dword [esp + 8]
mov edx, str.Invalid_number_of_method_property_parameters.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000608
jmp 0x406eea
mov dword [0x43b001], 0x1000608
mov ebx, 0x80020008
cmp ebx, dword [esp]
jne 0x406b99
mov dword [0x43b001], 0x1000609
mov ebp, dword [esp + 8]
mov edx, str.A_method_property_parameter_is_not_a_valid__variant__type.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x100060a
jmp 0x406eea
mov dword [0x43b001], 0x100060a
mov ebx, 0x80020003
cmp ebx, dword [esp]
jne 0x406bd7
mov dword [0x43b001], 0x100060b
mov ebp, dword [esp + 8]
mov edx, str.Member_not_found.__Check_that_you_have_not_omitted_any_optional_parameters_and_are_not_trying_to_set_a_read_only_property_etc._
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x100060c
jmp 0x406eea
mov dword [0x43b001], 0x100060c
mov ebx, 0x80020011
cmp ebx, dword [esp]
jne 0x406c15
mov dword [0x43b001], 0x100060d
mov ebp, dword [esp + 8]
mov edx, str.Does_not_support_a_collection.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x100060e
jmp 0x406eea
mov dword [0x43b001], 0x100060e
mov ebx, 0x80070005
cmp ebx, dword [esp]
jne 0x406c53
mov dword [0x43b001], 0x100060f
mov ebp, dword [esp + 8]
mov edx, str.A_general_access_denied_error.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000610
jmp 0x406eea
mov dword [0x43b001], 0x1000610
mov ebx, 0x8001010e
cmp ebx, dword [esp]
jne 0x406c91
mov dword [0x43b001], 0x1000611
mov ebp, dword [esp + 8]
mov edx, str.The_application_called_upon_an_interface_that_was_marshalled_for_a_different_thread.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000612
jmp 0x406eea
mov dword [0x43b001], 0x1000612
mov ebx, 0x80020009
cmp ebx, dword [esp]
jne 0x406d1d
mov dword [0x43b001], 0x1000613
mov edx, dword [esp + 4]
call fcn.00435e80
push eax
call fcn.00435ea0
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
push eax
call fcn.00435f00
mov dword [0x43b001], 0x1000614
mov ebp, dword [esp + 8]
push dword [ebp + 4]
mov edx, 0x43b185
pop ecx
call fcn.00435f90
je 0x406d04
mov dword [0x43b001], 0x1000615
mov ebp, dword [esp + 8]
mov edx, str.An_exception_occurred_during_the_execution_of_this_method_property.
lea ecx, [ebp + 4]
call fcn.0041e008
mov dword [0x43b001], 0x1000616
mov dword [0x43b001], 0x1000617
jmp 0x406eea
mov dword [0x43b001], 0x1000617
mov dword [0x43b001], 0x1000619
mov ebp, dword [esp + 8]
mov ebx, dword [ebp]
and ebx, 0x7fff0000
cmp ebx, 0x70000
jne 0x406e89
mov dword [0x43b001], 0x100061a
mov ebp, dword [esp + 8]
mov ebx, dword [ebp]
and ebx, 0xffff
mov dword [esp + 0x10], ebx
mov dword [0x43b001], 0x100061b
push 0
push 0
lea eax, [esp + 0x20]
push eax
push 0
push dword [esp + 0x20]
push 0
push 0x1100
call sub.KERNEL32.dll_FormatMessageA
mov dword [esp + 0x14], eax
mov dword [0x43b001], 0x100061c
cmp dword [esp + 0x14], 0
je 0x406e24
mov dword [0x43b001], 0x100061d
call fcn.00435e80
push eax
mov edx, str._FACILITY_WIN32_error
call fcn.00435ea0
call fcn.00435e80
push eax
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
call fcn.0041e7d0
pop eax
mov edx, 0x43b502
call fcn.00435ea0
call fcn.00435e80
push eax
push eax
push dword [esp + 0x20]
push dword [esp + 0x28]
call fcn.00421910
pop eax
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
push eax
call fcn.00435f00
mov dword [0x43b001], 0x100061e
push dword [esp + 0x18]
call sub.KERNEL32.dll_LocalFree
mov dword [0x43b001], 0x100061f
jmp 0x406e73
mov dword [0x43b001], 0x100061f
mov dword [0x43b001], 0x1000620
call fcn.00435e80
push eax
mov edx, str._FACILITY_WIN32_error
call fcn.00435ea0
call fcn.00435e80
push eax
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
call fcn.0041e7d0
pop eax
mov edx, str.__Unable_to_retrieve_error_description_from_system_
call fcn.00435ea0
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
push eax
call fcn.00435f00
mov dword [0x43b001], 0x1000621
mov dword [0x43b001], 0x1000622
jmp 0x406ee0
mov dword [0x43b001], 0x1000622
mov dword [0x43b001], 0x1000623
call fcn.00435e80
push eax
mov edx, str.Unknown_error.__Code_:_Hex
call fcn.00435ea0
call fcn.00435e80
push eax
push eax
push 2
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp]
cdq
push edx
push eax
call fcn.0041e860
pop eax
mov edx, str._._Please_report_this_error_code_to_the_author_at_enquiries_nxsoftware.com
call fcn.00435ea0
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
push eax
call fcn.00435f00
mov dword [0x43b001], 0x1000624
mov dword [0x43b001], 0x1000625
pop eax
mov dword [0x43b001], 0x1000626
mov dword [0x43b001], 0x1000627
xor eax, eax
push dword [esp]
call fcn.00436130
add esp, 0x18
pop edi
pop ebx
pop ebp
ret 0x10