Function at 0x4031ff
Capabilities:
Check os version
Contain obfuscated stackstrings
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x15ce4
call fcn.0041d020
mov eax, dword [0x446504]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
and dword [0x455db0], 0
and dword [ebp - 0x15cd8], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x15cb0], ebx
mov dword [ebp - 0x15cc4], eax
mov byte [ebp - 0x15cd0], 0
call fcn.00405a2f
mov byte [ebp - 0x7c], 0
call fcn.00401665
test eax, eax
lea eax, [ebp - 0x7c]
je 0x403259
push 0x20
jmp 0x40325b
push 0x40
push 0x43f408
push eax
call fcn.00418f13
add esp, 0xc
call fcn.00408f75
push ebx
mov dword [ebp - 0x15cc8], eax
mov byte [ebp - 0x2e], 9
mov byte [ebp - 0x2d], 0x7a
mov byte [ebp - 0x2c], 0x3e
mov byte [ebp - 0x2b], 0x2f
mov byte [ebp - 0x2a], 0x2e
mov byte [ebp - 0x29], 0xfa
mov byte [ebp - 0x28], 0xff
mov byte [ebp - 0x27], 0x1d
mov byte [ebp - 0x26], 0xf0
mov byte [ebp - 0x25], 0x9b
mov byte [ebp - 0x24], 0x19
mov byte [ebp - 0x23], 0x7c
mov byte [ebp - 0x22], 0x15
mov byte [ebp - 0x21], 0xb8
mov byte [ebp - 0x20], 0x1e
mov byte [ebp - 0x1f], 0x6d
mov byte [ebp - 0x1e], 0xc6
mov byte [ebp - 0x1d], 0x10
mov byte [ebp - 0x1c], 0x41
mov byte [ebp - 0x1b], 0x7e
mov byte [ebp - 0x1a], 0x5c
mov byte [ebp - 0x19], 0xed
mov byte [ebp - 0x18], 0x51
mov byte [ebp - 0x17], 0xb1
mov byte [ebp - 0x16], 0x19
mov byte [ebp - 0x15], 0x1c
mov byte [ebp - 0x14], 0x3c
mov byte [ebp - 0x13], 0xe2
mov byte [ebp - 0x12], 0x94
mov byte [ebp - 0x11], 0xd8
mov byte [ebp - 0x50], 0x59
mov byte [ebp - 0x4f], 0xbd
mov byte [ebp - 0x4e], 0xc9
mov byte [ebp - 0x4d], 0x52
mov byte [ebp - 0x4c], 0xaa
mov byte [ebp - 0x4b], 0x35
mov byte [ebp - 0x4a], 0xad
mov byte [ebp - 0x49], 0xbb
mov byte [ebp - 0x48], 0x10
mov byte [ebp - 0x47], 0xef
mov byte [ebp - 0x46], 0xde
mov byte [ebp - 0x45], 0x67
mov byte [ebp - 0x44], 0x2c
mov byte [ebp - 0x43], 0x47
mov byte [ebp - 0x42], 0xe0
mov byte [ebp - 0x41], 0xb5
mov byte [ebp - 0x40], 0xd4
mov byte [ebp - 0x3f], 0x82
mov byte [ebp - 0x3e], 0x1f
mov byte [ebp - 0x3d], 0x81
mov byte [ebp - 0x3c], 0x52
mov byte [ebp - 0x3b], 0xa1
mov byte [ebp - 0x3a], 2
mov byte [ebp - 0x39], 0x44
mov byte [ebp - 0x38], 0x2a
mov byte [ebp - 0x37], 0xeb
mov byte [ebp - 0x36], 0xaa
mov byte [ebp - 0x35], 0x7b
mov byte [ebp - 0x34], 0x79
mov byte [ebp - 0x33], 0x3b
mov byte [ebp - 0x32], 0x93
mov byte [ebp - 0x31], 0x45
mov byte [ebp - 0x30], 0xae
mov byte [ebp - 0x2f], 0xd2
call fcn.004185b0
cmp eax, 3
pop ecx
jb 0x40339f
cmp byte [ebx], 0x5c
jne 0x40338b
cmp byte [ebx + 1], 0x5c
je 0x403397
cmp byte [ebx + 1], 0x3a
jne 0x40339f
cmp byte [ebx + 2], 0x5c
jne 0x40339f
mov dword [ebp - 0x15cac], ebx
jmp 0x4033c3
mov edi, 0x400
push edi
call fcn.00418420
pop ecx
mov esi, eax
push edi
push esi
call fcn.0041aae5
push ebx
call fcn.0040967f
add esp, 0xc
mov dword [ebp - 0x15cac], esi
push dword [ebp - 0x15cac]
push str._Extractor__The_absolute_wrapper_path_is__s_n
call fcn.00409785
push ebx
push str._Extractor__The_executable_name_is__s_n
call fcn.00409785
push 0x800
call fcn.00418420
add esp, 0x14
push dword [ebp - 0x15cac]
mov esi, eax
push esi
mov byte [esi], 0
call fcn.00418650
push esi
xor edi, edi
xor ebx, ebx
call fcn.004185b0
add esp, 0xc
test eax, eax
jle 0x403421
cmp byte [ebx + esi], 0x5c
jne 0x403415
mov edi, ebx
push esi
inc ebx
call fcn.004185b0
cmp ebx, eax
pop ecx
jl 0x40340d
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x15cb0]
mov byte [edi + esi], 0
call fcn.004030e7
push str._Extractor__Found_Params_marker._Extracting_now..._n
mov dword [ebp - 0x15ca0], eax
call fcn.00409785
add esp, 0xc
mov esi, 0x30d40
push esi
call fcn.00418420
pop ecx
push esi
push 0
push eax
mov dword [ebp - 0x15cbc], eax
call fcn.00419850
add esp, 0xc
push dword [ebp - 0x15ca0]
xor eax, eax
mov byte [ebp - 0x15c89], 0
call fcn.004082f8
pop ecx
mov ebx, 0x43f498
push ebx
mov dword [ebp - 0x15ca8], eax
call fcn.00409785
pop ecx
mov edi, 0x43f49c
push edi
call fcn.00409785
pop ecx
push dword [ebp - 0x15ca8]
push str._Processing__d_dynamic_properties_n
call fcn.00409785
push edi
call fcn.00409785
and dword [ebp - 0x15c9c], 0
add esp, 0xc
cmp dword [ebp - 0x15ca8], 0
jle 0x403741
push dword [ebp - 0x15ca0]
call fcn.004082e5
pop ecx
push esi
push dword [ebp - 0x15ca0]
mov dword [ebp - 0x15c90], eax
xor eax, eax
call fcn.0040829b
mov edi, eax
push edi
call fcn.004185b0
add esp, 0xc
cmp eax, 0x64
jbe 0x40351f
lea eax, [ebp - 0x70]
push 0x63
push eax
push eax
call fcn.00419720
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x15c90]
mov byte [ebp - 0xd], 0
push dword [ebp - 0x15c9c]
push str._DynProps__Dynamic_Param__d:__s__s...__n
jmp 0x403531
push edi
push dword [ebp - 0x15c90]
push dword [ebp - 0x15c9c]
push str._DynProps__Dynamic_Param__d:__s__s__n
call fcn.00409785
mov eax, dword [ebp - 0x15cbc]
add esp, 0x10
push edi
push dword [ebp - 0x15c90]
call fcn.0040819f
push str.update_url
push dword [ebp - 0x15c90]
call fcn.00419b50
add esp, 0x10
test eax, eax
jne 0x403575
push edi
push str._DynProps__Dynamic_Update_URL:__s_n
mov dword [ebp - 0x15cc0], edi
call fcn.00409785
pop ecx
pop ecx
push str.match_versions
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x403598
push str.true
push edi
call fcn.00419b50
pop ecx
pop ecx
push str.wrapper_autotest
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x4035b5
mov byte [ebp - 0x15cd0], 1
push str.show_no_ui
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x4035e3
push str.true
push edi
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x4035e3
mov byte [ebp - 0x15c89], 1
push str.force_spawn
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x403610
push str.true
push edi
call fcn.00419b50
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov dword [0x455db8], eax
push str.splash_buffer
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x40363d
push edi
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x40363d
push edi
call fcn.004195c3
pop ecx
mov dword [0x455e50], eax
push str.splash_image
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x4036c2
push edi
call fcn.004185b0
cmp eax, 0x64
pop ecx
jae 0x403667
push edi
push str._DynProps__Splash_Image_is__s_n
jmp 0x403683
push 0x63
lea eax, [ebp - 0x70]
push edi
push eax
call fcn.00419720
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 0xd], 0
push str._DynProps__Splash_Image_is__s..._n
call fcn.00409785
pop ecx
pop ecx
push str._DynProps__Base64_decoding_image..._n
call fcn.00409785
pop ecx
push edi
call fcn.004185b0
pop ecx
push eax
push edi
lea eax, [ebp - 0x15cdc]
call fcn.0040151d
push dword [ebp - 0x15cdc]
mov dword [ebp - 0x15cd8], eax
push str._DynProps__Decode_complete__image_size_is__d__n
call fcn.00409785
add esp, 0x10
push str.jre_name
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x4036ff
mov byte [ebp - 0x3790], al
lea eax, [ebp - 0x3790]
push edi
push eax
call fcn.00418650
lea eax, [ebp - 0x3790]
push eax
push str._DynProps__JRE_name_from_dynamic_launch_properties_is__s_n
call fcn.00409785
add esp, 0x10
push str.windows_app_id
push dword [ebp - 0x15c90]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x403729
push edi
push str._DynProps__Windows_APP_ID_is__s_n
call fcn.00409785
pop ecx
pop ecx
mov eax, edi
call fcn.00402a6b
inc dword [ebp - 0x15c9c]
mov eax, dword [ebp - 0x15c9c]
cmp eax, dword [ebp - 0x15ca8]
jl 0x4034c5
mov esi, dword [ebp - 0x15ca0]
call fcn.004065a0
push str.Processing_dynamic_properties
call fcn.0040995b
cmp byte [ebp + 0x14], 0
pop ecx
je 0x403768
push str._Extractor__This_is_an_elevated_run_purely_to_prepare_an_installation._Will_not_show_UI_or_launch_an_app_n
call fcn.00409785
pop ecx
push ebx
call fcn.00409785
mov dword [esp], str.Extracting_wrapper_tail
call fcn.00409933
pop ecx
push dword [ebp - 0x15cc8]
push dword [ebp - 0x15cb0]
call fcn.0040316c
mov ebx, eax
push ebx
mov dword [ebp - 0x15cb0], ebx
call fcn.004082e5
add esp, 0xc
push ebx
mov dword [ebp - 0x15ca8], eax
call fcn.004082e5
pop ecx
push ebx
mov dword [ebp - 0x15ca4], eax
call fcn.004082e5
pop ecx
push ebx
mov dword [ebp - 0x15cd4], eax
call fcn.004082e5
pop ecx
push ebx
mov dword [ebp - 0x15cb4], eax
call fcn.004082e5
mov dword [ebp - 0x15ccc], eax
mov dword [esp], 0x2000
push ebx
xor eax, eax
call fcn.0040829b
push ebx
mov edi, eax
call fcn.004082e5
add esp, 0xc
push ebx
mov dword [ebp - 0x15ce0], eax
call fcn.004082e5
pop ecx
push ebx
mov dword [ebp - 0x15c90], eax
call fcn.004082e5
pop ecx
push ebx
mov dword [ebp - 0x15c98], eax
call fcn.004082e5
mov esi, eax
mov dword [esp], 0x1388
push ebx
xor eax, eax
mov dword [ebp - 0x15cc8], esi
call fcn.0040829b
mov dword [ebp - 0x15ca0], eax
push 2
push ebx
xor eax, eax
call fcn.0040829b
add esp, 0x10
test esi, esi
mov dword [ebp - 0x15cb8], eax
je 0x403862
push esi
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x403862
push esi
push str._Extractor__Required_Java_version__s_n
call fcn.00409785
pop ecx
pop ecx
cmp dword [ebp - 0x15cb8], 0
je 0x403886
push dword [ebp - 0x15cb8]
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x403886
push str._Extractor__Skipping_System_JRE_n
call fcn.00409785
pop ecx
mov esi, dword [ebp - 0x15ca0]
push 0x43e474
push esi
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
jne 0x4038ab
mov esi, dword [ebp - 0x15cc0]
push esi
push str._Extractor__Will_use_Dynamic_Update_URL:__s_n
jmp 0x4038b1
push esi
push str._Extractor__Will_use_Static_Update_URL:__s_n
call fcn.00409785
cmp byte [ebp - 0x15c89], 0
pop ecx
mov dword [ebp - 0x15c9c], esi
pop ecx
jne 0x403911
xor esi, esi
cmp dword [ebp - 0x15c98], esi
je 0x40390a
push dword [ebp - 0x15c98]
call fcn.004185b0
test eax, eax
pop ecx
je 0x40390a
cmp dword [ebp + 0xc], esi
jle 0x40390a
mov eax, dword [ebp - 0x15cc4]
push dword [eax + esi*4]
push dword [ebp - 0x15c98]
call fcn.00419b50
test eax, eax
pop ecx
pop ecx
je 0x403ae3
inc esi
cmp esi, dword [ebp + 0xc]
jl 0x4038e6
mov byte [ebp - 0x15c89], 0
movzx eax, byte [ebp - 0x15c89]
push eax
push str._Extractor__Is_silent_install_is__d_n
call fcn.00409785
push str.Extracting_tail
call fcn.0040995b
add esp, 0xc
push str._Extractor__Setting_up_static_properties_n
call fcn.00409785
mov esi, dword [ebp - 0x15cbc]
pop ecx
push dword [ebp - 0x15ca0]
mov eax, esi
push str.update_url
call fcn.00408177
push dword [ebp - 0x15c90]
mov eax, esi
push str.install_type
call fcn.00408177
push dword [ebp - 0x15ccc]
mov eax, esi
push str.min_splash_ms
call fcn.00408177
push edi
push str.jwsig_public_key
mov eax, esi
call fcn.00408177
push dword [ebp - 0x15ce0]
mov eax, esi
push str.can_override_splash
call fcn.00408177
push dword [ebp - 0x15ca8]
mov eax, esi
push str.app_name
call fcn.00408177
push dword [ebp - 0x15ca4]
mov eax, esi
push str.wrapper_app_version
call fcn.00408177
push dword [ebp - 0x15cb4]
mov eax, esi
push str.wrapper_gu_version
call fcn.00408177
add esp, 0x40
push dword [ebp - 0x15c98]
mov eax, esi
push str.silent_parameter
call fcn.00408177
push dword [ebp - 0x15cc8]
mov eax, esi
push str.java_version
call fcn.00408177
push dword [ebp - 0x15cb8]
mov eax, esi
push str.skip_system_jre
call fcn.00408177
add esp, 0x18
cmp byte [ebp - 0x15c89], 0
je 0x403a24
push str.true
push str.show_no_ui
mov eax, esi
call fcn.00408177
pop ecx
pop ecx
test edi, edi
je 0x403aef
push edi
call fcn.004185b0
test eax, eax
pop ecx
push edi
jbe 0x403afb
call fcn.004185b0
mov esi, eax
shr esi, 1
inc esi
pop ecx
inc esi
push esi
call fcn.00418420
pop ecx
push esi
push 0
push eax
mov dword [ebp - 0x15c98], eax
call fcn.00419850
add esp, 0xc
push edi
push esi
push dword [ebp - 0x15c98]
call fcn.00409180
add esp, 0xc
push eax
push str._Extractor__Processed_public_key_of_length__d_n
mov dword [ebp - 0x15ccc], eax
call fcn.00409785
push edi
push str._Extractor__Hex:__s_n
call fcn.00409785
push 0x31
pop ecx
mov esi, 0x4367b0
mov edi, 0x455e80
push 0x24
rep movsd dword es:[edi], dword [esi]
call fcn.00418420
add esp, 0x14
mov esi, eax
push esi
push dword [ebp - 0x15ccc]
push dword [ebp - 0x15c98]
call fcn.0040c370
add esp, 0xc
test eax, eax
je 0x403ad5
push str.ERROR___unable_to_import_public_key._n
call fcn.004184e3
pop ecx
push esi
call fcn.00418343
pop ecx
xor esi, esi
push esi
mov dword [0x455db0], esi
push str._Extractor__Public_Key:__08X_n
jmp 0x403b0c
mov byte [ebp - 0x15c89], 1
jmp 0x403911
push str._Extractor__Public_key_empty__no_public_key__n
call fcn.00409785
jmp 0x403b12
call fcn.004185b0
test eax, eax
pop ecx
ja 0x403b13
push 0
push str._Extractor__Public_key_length__d__no_public_key__n
call fcn.00409785
pop ecx
pop ecx
mov ecx, dword [ebp - 0x15c90]
call fcn.00409bbc
mov edi, eax
push edi
push str._Extractor__Shared_dir_is__s_n
call fcn.00409785
mov esi, dword [ebp - 0x15c9c]
push esi
push str._Extractor__Update_URL_is_currently__s_n
call fcn.00409785
push esi
call fcn.004185b0
add esp, 0x14
test eax, eax
jle 0x403b58
add eax, esi
cmp byte [eax - 1], 0x2f
je 0x403b58
mov byte [eax], 0x2f
mov byte [eax + 1], 0
push esi
push str._Extractor__Update_URL_is_now__s_n
call fcn.00409785
push str.JWrapper_
push edi
lea eax, [ebp - 0x1c08]
call fcn.004096fe
push dword [ebp - 0x15ca8]
lea eax, [ebp - 0x1c08]
push eax
call fcn.00418650
lea eax, [ebp - 0x1c08]
push eax
push str._Extractor__Master_folder_is__s_n
call fcn.00409785
lea eax, [ebp - 0x1c08]
push eax
call fcn.004013fa
add esp, 0x24
lea eax, [ebp - 0x1c08]
push str.JWApps
push eax
lea eax, [ebp - 0x15c88]
call fcn.004096fe
lea eax, [ebp - 0x15c88]
push str.JreNameOverride
push eax
lea eax, [ebp - 0x13578]
call fcn.004096fe
lea eax, [ebp - 0x13578]
push 0x43eb08
push eax
call fcn.004196b6
mov esi, eax
add esp, 0x18
test esi, esi
je 0x403c74
push str._JREOverride__Processing_JRE_Override_file__JreNameOverride__n
call fcn.00409785
mov dword [esp], 0x1f4
push esi
call fcn.004081c7
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x403c49
push edi
call fcn.004185b0
cmp eax, 1
pop ecx
jne 0x403c30
cmp byte [edi], 0x2d
jne 0x403c30
lea eax, [ebp - 0x3790]
push eax
push str._JREOverride__Ignoring_JRE_name____keeping__s_n
jmp 0x403c80
push edi
call fcn.004185b0
test eax, eax
pop ecx
jne 0x403c49
lea eax, [ebp - 0x3790]
push eax
push str._JREOverride__Ignoring_empty_JRE_name__keeping__s_n
jmp 0x403c80
lea eax, [ebp - 0x3790]
push edi
push eax
mov byte [ebp - 0x3790], 0
call fcn.00418650
push esi
call fcn.0041b0c3
add esp, 0xc
lea eax, [ebp - 0x3790]
push eax
push str._JREOverride__JRE_name_overriden_to__s_n
jmp 0x403c80
lea eax, [ebp - 0x3790]
push eax
push str._JREOverride__No_JRE_name_override__will_continue_to_use__s_n
call fcn.00409785
pop ecx
pop ecx
push dword [ebp - 0x15cb4]
mov byte [ebp - 0x15c91], 1
call fcn.004185b0
test eax, eax
pop ecx
jne 0x403cb1
push str._Extractor__No_GenericUpdater_embedded__we_are_just_a_launcher_n
call fcn.00409785
mov byte [ebp - 0x15c91], 0
jmp 0x403cc2
push dword [ebp - 0x15cb4]
push str._Extractor__GenericUpdater_version_is__s_n
call fcn.00409785
pop ecx
pop ecx
push dword [ebp - 0x15ca4]
call fcn.004185b0
test eax, eax
pop ecx
jne 0x403cdf
push str._Extractor__ONLINE_wrapper:_No_App_embedded__GU_will_download_and_run_n
call fcn.00409785
jmp 0x403cf0
push dword [ebp - 0x15ca4]
push str._Extractor__OFFLINE_wrapper:_App_version_is__s_n
call fcn.00409785
pop ecx
pop ecx
push str._Extractor__Checking_for_a_latest_valid_GU_n
call fcn.00409785
lea eax, [ebp - 0x1c08]
mov dword [esp], str.JWrapper
push eax
call fcn.00409adc
mov dword [ebp - 0x15c98], eax
lea eax, [ebp - 0x3790]
push eax
lea eax, [ebp - 0x1c08]
push eax
call fcn.00409adc
add esp, 0x10
cmp dword [ebp - 0x15c98], 0
mov dword [ebp - 0x15c90], eax
je 0x403deb
cmp byte [ebp - 0x15c91], 0
je 0x403deb
mov edi, dword [ebp - 0x15c98]
lea ecx, [ebp - 0x1c08]
call fcn.00401209
test eax, eax
jne 0x403deb
lea eax, [ebp - 0x1c08]
push edi
push eax
lea eax, [ebp - 0x2408]
call fcn.004096fe
lea eax, [ebp - 0x1c08]
push str.Damaged
push eax
lea eax, [ebp - 0x880]
call fcn.004096fe
add esp, 0x10
lea esi, [ebp - 0x880]
call fcn.004092fe
test eax, eax
jne 0x403da8
mov eax, esi
push eax
call fcn.00409660
pop ecx
push dword [ebp - 0x15c98]
lea eax, [ebp - 0x1c08]
push str.Damaged
push eax
lea eax, [ebp - 0x880]
call fcn.0040971c
add esp, 0xc
lea eax, [ebp - 0x880]
lea edi, [ebp - 0x2408]
call fcn.004016a3
push str._Extractor__The_existing_JWrapper_install_is_broken._Instructing_the_wrapper_to_update._n
call fcn.00409785
and dword [ebp - 0x15c98], 0
pop ecx
cmp dword [ebp - 0x15c90], 0
je 0x403f7b
cmp byte [ebp - 0x15c91], 0
je 0x403f7b
push str.java.exe
mov edi, 0x43dbf0
push edi
push dword [ebp - 0x15c90]
lea eax, [ebp - 0x1c08]
push eax
lea eax, [ebp - 0x880]
call fcn.0040973a
lea esi, [ebp - 0x880]
call fcn.004092fe
push str.javaw.exe
mov esi, eax
push edi
push dword [ebp - 0x15c90]
neg esi
lea eax, [ebp - 0x1c08]
sbb esi, esi
push eax
lea eax, [ebp - 0x880]
neg esi
call fcn.0040973a
add esp, 0x20
test esi, esi
je 0x403e74
lea esi, [ebp - 0x880]
call fcn.004092fe
test eax, eax
je 0x403e74
xor edi, edi
inc edi
jmp 0x403e76
xor edi, edi
push str.rt.jar
push 0x43dac4
push dword [ebp - 0x15c90]
lea eax, [ebp - 0x1c08]
push eax
lea eax, [ebp - 0x880]
call fcn.0040973a
add esp, 0x10
lea esi, [ebp - 0x880]
call fcn.004092fe
test eax, eax
jne 0x403ecf
push dword [ebp - 0x15c90]
lea eax, [ebp - 0x1c08]
push eax
mov eax, esi
call fcn.0040975c
test edi, edi
pop ecx
pop ecx
je 0x403ecd
call fcn.004092fe
test eax, eax
jne 0x403ed3
xor edi, edi
test edi, edi
je 0x403eee
mov ecx, dword [ebp - 0x15c90]
lea eax, [ebp - 0x1c08]
push eax
call fcn.004012d3
test eax, eax
pop ecx
jne 0x403f7b
push dword [ebp - 0x15c90]
lea eax, [ebp - 0x1c08]
push eax
lea eax, [ebp - 0x880]
call fcn.004096fe
lea eax, [ebp - 0x1c08]
push str.Damaged
push eax
lea eax, [ebp - 0x2408]
call fcn.004096fe
add esp, 0x10
lea esi, [ebp - 0x2408]
call fcn.004092fe
test eax, eax
jne 0x403f38
mov eax, esi
push eax
call fcn.00409660
pop ecx
push dword [ebp - 0x15c90]
lea eax, [ebp - 0x1c08]
push str.Damaged
push eax
lea eax, [ebp - 0x2408]
call fcn.0040971c
add esp, 0xc
lea eax, [ebp - 0x2408]
lea edi, [ebp - 0x880]
call fcn.004016a3
push str._Extractor__The_existing_JRE_is_broken._Instructing_the_wrapper_to_update._n
call fcn.00409785
and dword [ebp - 0x15c90], 0
pop ecx
mov edi, dword [ebp - 0x15c98]
test edi, edi
je 0x4040af
cmp dword [ebp - 0x15c90], 0
je 0x4040af
push edi
push str._Extractor__Latest_GU_version_exists:__s_n
call fcn.00409785
push dword [ebp - 0x15c90]
push str._Extractor__Existing_JRE_exists:__s_n
call fcn.00409785
push edi
call fcn.00409d77
add esp, 0x14
push dword [ebp - 0x15cb4]
mov esi, eax
call fcn.004195b2
cmp byte [ebp - 0x15c91], 0
pop ecx
je 0x403fdf
cmp eax, esi
jle 0x403fdf
push str._Extractor__Our_GU_version_is_newer_than_existing_latest_version_so_will_extract_and_run_n
jmp 0x4040b4
push str._Extractor__Latest_GUversion_is_newer_or_same_as_our_version_so_will_just_run_n
call fcn.00409785
cmp byte [ebp - 0x15c91], 0
pop ecx
je 0x40404a
push dword [ebp - 0x15ca4]
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x40404a
push dword [ebp - 0x15ca8]
lea eax, [ebp - 0x1c08]
push eax
call fcn.00409adc
test eax, eax
pop ecx
pop ecx
je 0x4040a8
push eax
call fcn.00409d77
pop ecx
push dword [ebp - 0x15ca4]
mov esi, eax
call fcn.004195b2
cmp eax, esi
pop ecx
jle 0x40403f
push str._Extractor__Our_App_version_is_newer_than_existing_latest_version_so_will_extract_and_run_n
jmp 0x4040b4
push str._Extractor__Latest_App_version_is_newer_or_same_as_our_version_so_will_just_run_n
call fcn.00409785
pop ecx
push str._Extractor__Running_without_extraction_now_n
call fcn.00409785
pop ecx
call fcn.00405a61
mov esi, ebx
call fcn.004065a0
cmp byte [ebp + 0x14], 0
jne 0x4040a1
push dword [ebp - 0x15cac]
lea eax, [ebp - 0x1c08]
push 0
push dword [ebp - 0x15cc0]
lea edx, [ebp - 0x3790]
push dword [ebp - 0x15ca0]
mov ecx, edi
push dword [ebp - 0x15cc4]
push dword [ebp + 0xc]
push dword [ebp - 0x15cbc]
push eax
call fcn.00401cbc
add esp, 0x20
push 0
call fcn.0041928e
push str._Extractor__No_app_version_found_and_we_are_offline_so_will_extract_n
jmp 0x4040b4
push str._Extractor__No_latest_GU_or_JRE_version_exists__will_check_tail_for_online_offline_info_n
call fcn.00409785
cmp dword [ebp - 0x15c90], 0
pop ecx
jne 0x4040ca
push str._Extractor__Note:_No_latest_JRE_version_exists_n
jmp 0x4040cf
push str._Extractor__Note:_Latest_JRE_version_does_exist_n
call fcn.00409785
test edi, edi
pop ecx
jne 0x4040e0
push str._Extractor__Note:_No_latest_GU_version_exists_n
jmp 0x4040e5
push str._Extractor__Note:_Latest_GU_version_does_exist_n
call fcn.00409785
cmp byte [ebp - 0x15c91], 0
pop ecx
jne 0x404103
push str._Extractor__Unable_to_run__we_are_just_a_launcher__n
call fcn.00409785
pop ecx
push 1
jmp 0x4040a3
lea eax, [ebp - 0x1c08]
push eax
call fcn.00409660
lea eax, [ebp - 0x1c08]
mov dword [esp], str.logs
push eax
lea eax, [ebp - 0x2408]
call fcn.004096fe
lea eax, [ebp - 0x2408]
push eax
call fcn.00409660
add esp, 0xc
lea eax, [ebp - 0x1c08]
push str.JWApps
push eax
lea eax, [ebp - 0x2408]
call fcn.004096fe
lea eax, [ebp - 0x2408]
push eax
call fcn.00409660
add esp, 0xc
push dword [ebp - 0x15cb4]
lea eax, [ebp - 0x1c08]
push str.JWrapper
push eax
lea esi, [ebp - 0x85b0]
call fcn.00401a91
lea eax, [ebp - 0x1c08]
add esp, 0xc
push eax
lea esi, [ebp - 0x4b18]
call fcn.00401ad1
pop ecx
push dword [ebp - 0x15ca4]
lea eax, [ebp - 0x1c08]
push dword [ebp - 0x15ca8]
lea esi, [ebp - 0x10e68]
push eax
call fcn.00401a91
lea eax, [ebp - 0x1c08]
add esp, 0xc
push eax
lea esi, [ebp - 0xacc0]
call fcn.00401ad1
pop ecx
lea eax, [ebp - 0x85b0]
push eax
push str._Extractor__GU_folder_is__s_n
call fcn.00409785
lea eax, [ebp - 0x4b18]
push eax
push str._Extractor__GU_temp_is__s_n
call fcn.00409785
lea eax, [ebp - 0x4b18]
push eax
call fcn.00409660
add esp, 0x14
test eax, eax
je 0x404203
push str._Extractor__Unable_to_create_GU_Temp_folder___assuming_elevation_required_n
jmp 0x4040f9
lea eax, [ebp - 0x4b18]
push eax
push ebx
call fcn.004083b3
lea eax, [ebp - 0x4b18]
push str.nativesplash.png
push eax
lea eax, [ebp - 0x850]
call fcn.004096fe
add esp, 0x10
lea eax, [ebp - 0x850]
movsx ecx, byte [eax]
cmp ecx, 0x2f
jne 0x40423b
mov byte [eax], 0x5c
inc eax
test ecx, ecx
jne 0x404230
lea eax, [ebp - 0x850]
push eax
push dword [ebp - 0x15cdc]
push dword [ebp - 0x15cd8]
push dword [ebp - 0x15ce0]
call fcn.00402c32
lea eax, [ebp - 0x4b18]
push eax
push ebx
call fcn.004083b3
lea eax, [ebp - 0x4b18]
push eax
push ebx
call fcn.004083b3
lea eax, [ebp - 0x4b18]
push eax
push ebx
call fcn.004083b3
push str._Extractor__Extracted_GU_and_GU_Version_n
call fcn.00409785
add esp, 0x2c
lea eax, [ebp - 0x85b0]
push eax
push str._Extractor__Renaming_GU_folder_to__s_n
call fcn.00409785
lea eax, [ebp - 0x85b0]
lea edi, [ebp - 0x4b18]
call fcn.004016a3
lea eax, [ebp - 0x85b0]
push eax
push str._Extractor__Creating_unrestricted_directory_under__s_n
call fcn.00409785
lea eax, [ebp - 0x85b0]
push eax
lea eax, [ebp - 0x2408]
push eax
mov byte [ebp - 0x2408], 0
call fcn.00418650
push str.unrestricted
lea esi, [ebp - 0x2408]
call fcn.0040967f
mov eax, esi
add esp, 0x1c
push eax
call fcn.00409660
mov dword [esp], str._Extractor__Recreating_GU_location_n
call fcn.00409785
pop ecx
lea eax, [ebp - 0x85b0]
push eax
mov eax, edi
push eax
mov byte [ebp - 0x4b18], 0
call fcn.00418650
lea eax, [ebp - 0x85b0]
push str.cacerts
push eax
lea eax, [ebp - 0x14900]
call fcn.004096fe
lea eax, [ebp - 0x14900]
push eax
push str._Extractor__CACerts_override_path_is__s_n
call fcn.00409785
mov eax, edi
push str.verpatch.exe
push eax
lea eax, [ebp - 0xe758]
call fcn.004096fe
lea eax, [ebp - 0x85b0]
push str.nativesplash.png
push eax
lea eax, [ebp - 0x121f0]
call fcn.004096fe
lea eax, [ebp - 0x121f0]
push eax
push str._Extractor__Native_Splash_PNG_path_is__s_n
call fcn.00409785
push str._Extractor__Configuring_splash_n
call fcn.00409785
add esp, 0x34
call fcn.004011ed
test al, al
je 0x4043aa
lea eax, [ebp - 0x121f0]
push eax
call fcn.00404f56
pop ecx
mov ecx, eax
call fcn.0040726e
push str._Extractor__Showing_splash_n
call fcn.00409785
cmp byte [ebp - 0x15c89], 0
pop ecx
jne 0x4043c9
cmp byte [ebp + 0x14], 0
jne 0x4043c9
call fcn.00405a88
push 0xffffffffffffffff
call fcn.00405ab3
cmp dword [ebp - 0x15c90], 0
pop ecx
jne 0x4049bf
push str._Extractor__Setting_up_a_JRE_n
call fcn.00409785
pop ecx
push dword [ebp - 0x15cd4]
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x404534
mov ebx, str.Extracting_Offline_JRE
push ebx
call fcn.00409933
mov dword [esp], str._Extractor__We_want_to_query_the_JRE_version_to_enable_proxy_detection._n
call fcn.00409785
pop ecx
push dword [ebp - 0x15c9c]
lea eax, [ebp - 0x4b18]
push eax
lea ecx, [ebp - 0x3790]
call fcn.0040293e
lea eax, [ebp - 0x1c08]
push eax
lea esi, [ebp - 0x7228]
call fcn.00401ad1
mov eax, esi
add esp, 0xc
push eax
call fcn.00409660
pop ecx
push dword [ebp - 0x15cd4]
lea eax, [ebp - 0x3790]
push eax
lea eax, [ebp - 0x1c08]
push eax
lea esi, [ebp - 0x9938]
call fcn.00401a91
add esp, 0xc
push str._Extractor__Offline_installer___no_need_to_download_JRE__will_extract_n
call fcn.00409785
lea eax, [ebp - 0x7228]
mov dword [esp], str.JRE.p2
push eax
lea eax, [ebp - 0x5ea0]
call fcn.004096fe
lea eax, [ebp - 0x7228]
push eax
call fcn.004013a5
add esp, 0xc
push eax
push str._Extractor__UP200_path_is__s_n
mov dword [0x455db4], eax
call fcn.00409785
push str._Extractor__Extracting_JRE_archive..._n
call fcn.00409785
add esp, 0xc
lea eax, [ebp - 0x7228]
push eax
push dword [ebp - 0x15cb0]
call fcn.004083b3
lea eax, [ebp - 0x3790]
push eax
push str._Extractor__Extracted_JRE__s_n
call fcn.00409785
push str._Extractor__Regenerating_jsa..._n
call fcn.00409785
lea eax, [ebp - 0x7228]
add esp, 0x14
push eax
call fcn.00401350
pop ecx
mov esi, eax
call fcn.00406e28
mov edi, eax
push esi
push edi
call fcn.00406e81
mov edx, str._Xshare:dump
mov ecx, edi
call fcn.00406e56
call fcn.00406eb0
push edi
call fcn.00418343
add esp, 0xc
push ebx
call fcn.0040995b
mov ebx, dword [ebp - 0x15cb0]
jmp 0x40495c
push str.Setting_up_online_JRE
call fcn.00409933
cmp dword [ebp - 0x15cb8], 0
pop ecx
mov byte [ebp - 0x70], 0
je 0x404569
push dword [ebp - 0x15cb8]
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x404569
push str._Extractor__Online_installer___no_stored_JRE._Skipping_system_JRE._n
call fcn.00409785
pop ecx
jmp 0x4045bb
push str._Extractor__Online_installer___no_stored_JRE__will_check_for_compatible_system_JRE_n
call fcn.00409785
pop ecx
push dword [ebp - 0x15cac]
lea eax, [ebp - 0x7228]
push dword [ebp - 0x15cc0]
push dword [ebp - 0x15ca0]
push dword [ebp - 0x15cc4]
push dword [ebp + 0xc]
push dword [ebp - 0x15cbc]
push eax
lea eax, [ebp - 0x1c08]
push eax
push dword [ebp - 0x15cc8]
lea eax, [ebp - 0x70]
push dword [ebp - 0x15cd0]
push eax
call fcn.00402cb6
add esp, 0x2c
lea eax, [ebp - 0x70]
push eax
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x4045f2
push str._Extractor__We_are_copying_the_JRE._We_want_to_query_the_JRE_version_to_enable_proxy_detection._n
call fcn.00409785
pop ecx
push dword [ebp - 0x15c9c]
lea eax, [ebp - 0x4b18]
push eax
lea ecx, [ebp - 0x3790]
call fcn.0040293e
pop ecx
jmp 0x404906
push str._JREDownload__Failed_to_pick_up_any_existing_system_JRE__will_download_n
call fcn.00409785
pop ecx
call fcn.00402916
mov ebx, eax
mov edi, str.JWrapper_
lea eax, [ebp - 0x4b18]
push edi
push eax
lea eax, [ebp - 0xc048]
call fcn.004096fe
lea eax, [ebp - 0x3790]
push eax
lea eax, [ebp - 0xc048]
push eax
call fcn.00418650
mov esi, str._version.txt
lea eax, [ebp - 0xc048]
push esi
push eax
call fcn.00418650
push dword [ebp - 0x15c9c]
lea eax, [ebp - 0x5ea0]
push eax
mov byte [ebp - 0x5ea0], 0
call fcn.00418650
lea eax, [ebp - 0x5ea0]
push edi
push eax
call fcn.00418650
lea eax, [ebp - 0x3790]
push eax
lea eax, [ebp - 0x5ea0]
push eax
call fcn.00418650
lea eax, [ebp - 0x5ea0]
push esi
push eax
call fcn.00418650
lea eax, [ebp - 0x5ea0]
push str._time
push eax
call fcn.00418650
add esp, 0x40
lea eax, [ebp - 0x5ea0]
push ebx
push eax
call fcn.00418650
push ebx
call fcn.00418343
add esp, 0xc
cmp byte [ebp - 0x15c89], 0
jne 0x4046c5
cmp byte [ebp + 0x14], 0
jne 0x4046c5
call fcn.00405a88
lea eax, [ebp - 0x5ea0]
push eax
push str._JREDownload__Fetching_JRE_Version_from__s_n
call fcn.00409785
lea eax, [ebp - 0xc048]
push eax
push str._JREDownload__Saving_into__s_n
call fcn.00409785
lea eax, [ebp - 0xc048]
push eax
lea eax, [ebp - 0x5ea0]
push eax
call fcn.00407e33
add esp, 0x18
test eax, eax
je 0x4049a1
push 0xffffffffffffffff
call fcn.00405ab3
pop ecx
lea eax, [ebp - 0xc048]
push eax
push str._JREDownload__JRE_version_downloaded_OK___s__n
call fcn.00409785
lea eax, [ebp - 0xc048]
push 0x43eb08
push eax
call fcn.004196b6
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x40474b
call fcn.00418849
push dword [eax]
push str._JREDownload___Unable_to_open_version_file____d__n
call fcn.00409785
pop ecx
pop ecx
push str._JREDownload__Extracting_version:
xor esi, esi
call fcn.00409785
pop ecx
jmp 0x404780
push ebx
push 0x4406a8
call fcn.00409785
cmp ebx, 0xd
pop ecx
pop ecx
je 0x40479a
cmp ebx, 0xa
je 0x40479a
cmp ebx, 0x20
je 0x40479a
cmp esi, 0x32
mov byte [ebp + esi - 0x70], bl
jge 0x404790
inc esi
push edi
call fcn.0041b13f
mov ebx, eax
cmp ebx, 0xffffffff
pop ecx
jne 0x40475a
jmp 0x4047a5
push str._n_JREDownload__Version_invalid__too_long__n
jmp 0x4040f9
push str._n_JREDownload__Spaces_in_version_file__assuming_EOF_n
call fcn.00409785
pop ecx
push 0x43f498
call fcn.00409785
test edi, edi
pop ecx
je 0x4047bb
push edi
call fcn.0041b0c3
pop ecx
lea eax, [ebp - 0x70]
push eax
push str._JREDownload__JRE_Version_is__s_n
mov byte [ebp + esi - 0x70], 0
call fcn.00409785
lea eax, [ebp - 0x1c08]
push eax
lea esi, [ebp - 0x7228]
call fcn.00401ad1
mov eax, esi
add esp, 0xc
push eax
call fcn.00409660
pop ecx
push dword [ebp - 0x15c9c]
lea eax, [ebp - 0x5ea0]
push eax
mov byte [ebp - 0x5ea0], 0
call fcn.00418650
lea eax, [ebp - 0x5ea0]
push str.JWrapper_
push eax
call fcn.00418650
lea eax, [ebp - 0x3790]
push eax
lea eax, [ebp - 0x5ea0]
push eax
call fcn.00418650
lea eax, [ebp - 0x5ea0]
push 0x43e254
push eax
call fcn.00418650
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x5ea0]
push eax
call fcn.00418650
lea eax, [ebp - 0x5ea0]
push str._archive.p2.l2
push eax
call fcn.00418650
mov eax, esi
push eax
call fcn.004013a5
add esp, 0x34
cmp byte [ebp - 0x15c89], 0
mov dword [0x455db4], eax
jne 0x40487f
cmp byte [ebp + 0x14], 0
jne 0x40487f
call fcn.00405a88
lea eax, [ebp - 0x7228]
push eax
push str._JREDownload__Extracting_JRE_archive_to__s_n
call fcn.00409785
lea eax, [ebp - 0x7228]
push eax
lea eax, [ebp - 0x5ea0]
push eax
call fcn.00407f1a
add esp, 0x10
test eax, eax
jne 0x4048b4
push str._JREDownload__Failed_to_download_and_extract_JRE_archive._n
jmp 0x4040f9
push str._JREDownload__Regenerating_jsa..._n
call fcn.00409785
pop ecx
lea eax, [ebp - 0x7228]
push eax
call fcn.00401350
pop ecx
mov esi, eax
call fcn.00406e28
mov edi, eax
push esi
push edi
call fcn.00406e81
mov edx, str._Xshare:dump
mov ecx, edi
call fcn.00406e56
call fcn.00406eb0
push edi
call fcn.00418343
add esp, 0xc
push str._JREDownload__Downloaded_JRE_is_now_ready._n
call fcn.00409785
mov ebx, dword [ebp - 0x15cb0]
pop ecx
lea eax, [ebp - 0x70]
push eax
call fcn.004185b0
test eax, eax
pop ecx
jne 0x404924
push str._JREDownload__Failed_to_detect_or_download_a_JRE__no_jre_version__n
call fcn.00409836
jmp 0x4040fe
lea eax, [ebp - 0x70]
push eax
push str._JREDownload__Finalising_setup_of_new_JRE__s_n
call fcn.00409785
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x3790]
push eax
lea eax, [ebp - 0x1c08]
push eax
lea esi, [ebp - 0x9938]
call fcn.00401a91
add esp, 0x14
push str.Setting_up_online_JRE
call fcn.0040995b
pop ecx
lea eax, [ebp - 0x9938]
lea edi, [ebp - 0x7228]
call fcn.004016a3
lea eax, [ebp - 0x9938]
push eax
push str._Extractor__Renamed_JRE_folder_to__s_n
call fcn.00409785
push str._Extractor__JRE_setup._Overriding_cacerts._n
call fcn.00409785
add esp, 0xc
lea eax, [ebp - 0x9938]
push eax
lea edi, [ebp - 0x14900]
call fcn.00402ff9
pop ecx
jmp 0x4049ed
cmp byte [ebp - 0x15c89], 0
jne 0x4049b5
cmp byte [ebp + 0x14], 0
jne 0x4049b5
call fcn.00405a61
push str._JREDownload__Failed_to_download_JRE_version_file_n
jmp 0x40491a
lea eax, [ebp - 0x1c08]
push eax
lea eax, [ebp - 0x9938]
push eax
mov byte [ebp - 0x9938], 0
call fcn.00418650
push dword [ebp - 0x15c90]
lea esi, [ebp - 0x9938]
call fcn.0040967f
add esp, 0xc
lea eax, [ebp - 0xd3d0]
push str.DetectedProxy
push eax
lea eax, [ebp - 0xfae0]
call fcn.004096fe
push str._Extractor__Saving_proxy_configuration_n
call fcn.00409785
add esp, 0xc
cmp dword [0x455da4], 0
je 0x404a33
push str._Proxy__Saving_proxy_settings_now._n
call fcn.00409785
pop ecx
lea eax, [ebp - 0xfae0]
push eax
call fcn.004062d6
jmp 0x404a3d
push str._Proxy__No_working_proxy_was_found__so_no_proxy_to_be_saved._n
call fcn.00409785
pop ecx
lea eax, [ebp - 0x9938]
push eax
call fcn.004013a5
pop ecx
push eax
push str._Extractor__UP200_path_is__s_n
mov dword [0x455db4], eax
call fcn.00409785
push dword [ebp - 0x15ca4]
call fcn.004185b0
add esp, 0xc
test eax, eax
jbe 0x404aeb
push str._Extractor__Offline_installer___app_to_extract._n
call fcn.00409785
pop ecx
lea eax, [ebp - 0x10e68]
push eax
push str._Extractor__APP_folder_is__s_n
call fcn.00409785
lea eax, [ebp - 0xacc0]
push eax
push str._Extractor__APP_temp_is__s_n
call fcn.00409785
lea eax, [ebp - 0xacc0]
push eax
call fcn.00409660
add esp, 0x14
test eax, eax
je 0x404ab7
push str.Unable_to_create_App_Temp_folder_n
jmp 0x40491a
push str._Extractor__Extracting_App..._n
call fcn.00409785
pop ecx
lea eax, [ebp - 0xacc0]
push eax
push ebx
call fcn.004083b3
lea eax, [ebp - 0xacc0]
push eax
push ebx
call fcn.004083b3
push str._Extractor__Setting_permissions..._n
call fcn.00409785
add esp, 0x14
jmp 0x404af6
push str._Extractor__Online_installer___no_app_to_extract_n
call fcn.00409785
pop ecx
push dword [ebp - 0x15ca4]
call fcn.004185b0
test eax, eax
pop ecx
jbe 0x404b2a
lea eax, [ebp - 0x10e68]
lea edi, [ebp - 0xacc0]
call fcn.004016a3
lea eax, [ebp - 0x10e68]
push eax
push str._Extractor__Renaming_App_folder_to__s_n
call fcn.00409785
pop ecx
pop ecx
lea eax, [ebp - 0x1c08]
push str.JWrapper
push eax
call fcn.00409adc
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x404b4d
push str.No_latest_App_version_even_after_download__n
jmp 0x40491a
call fcn.00405a61
push edi
push str._Extractor__Will_now_run_latest_GU__s_n
call fcn.00409785
pop ecx
pop ecx
mov esi, ebx
call fcn.004065a0
cmp byte [ebp + 0x14], 0
jne 0x4040a1
jmp 0x404067