Function at 0x4558d3
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x68
push 0x30
mov eax, 0x4c5156
call fcn.00492516
mov esi, ecx
push str.NOLOG:_in_XML_GetDistCodes_void_
lea ecx, [ebp + 0x54]
call fcn.00470680
and dword [ebp - 4], 0
lea eax, [ebp + 0x54]
push eax
call fcn.004126e0
pop ecx
or ebx, 0xffffffff
lea ecx, [ebp + 0x54]
mov dword [ebp - 4], ebx
call fcn.00470660
push 0x4db2d4
lea ecx, [ebp + 0x34]
call fcn.00470680
push 0x4da3a0
lea ecx, [ebp + 0x54]
mov dword [ebp - 4], 1
call fcn.00470680
lea eax, [ebp + 0x54]
push eax
lea ecx, [esi + 0x2c0]
mov byte [ebp - 4], 2
call fcn.0044c4b7
lea ecx, [ebp + 0x34]
push ecx
mov ecx, eax
call fcn.0044c4b7
mov edi, dword [eax]
mov eax, dword [eax + 4]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x24], eax
mov byte [ebp - 4], 1
call fcn.00470660
lea ecx, [ebp + 0x34]
mov dword [ebp - 4], ebx
call fcn.00470660
test edi, edi
jne 0x455a90
mov eax, str.LogAction
mov edi, str.LogDebug
cmp eax, str.NULL
je 0x4559db
cmp edi, str.__noop
je 0x4559db
push str.E_CFGDISTCODES
lea ecx, [ebp + 0x3c]
call fcn.00470680
push eax
lea eax, [ebp + 0x5c]
push str.actioninternalerrorvalue
push eax
mov dword [ebp - 4], 3
call fcn.00470fb0
add esp, 0xc
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00437c28
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 3
call fcn.00470660
lea ecx, [ebp + 0x3c]
mov dword [ebp - 4], ebx
call fcn.00470660
cmp edi, str.NULL
je 0x455a78
cmp edi, str.__noop
je 0x455a78
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x18]
call fcn.00470680
push str._distcodes__has_no_children
push eax
lea eax, [ebp + 0x28]
push eax
mov dword [ebp - 4], 5
call fcn.00470f60
push 0x4cfe44
push eax
lea eax, [ebp + 0x3c]
push eax
mov byte [ebp - 4], 6
call fcn.00470f60
push 0x4cfa1a
push eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 7
call fcn.00470f60
push eax
mov byte [ebp - 4], 8
call fcn.004126e0
add esp, 0x28
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 7
call fcn.00470660
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 6
call fcn.00470660
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 5
call fcn.00470660
lea ecx, [ebp + 0x18]
mov dword [ebp - 4], ebx
call fcn.00470660
mov eax, 0x8000aaa0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret
lea edi, [esi + 0x378]
mov ebx, 0x4cfa1a
push ebx
mov ecx, edi
call fcn.004707b0
push str.baseUri
lea ecx, [ebp + 0x54]
call fcn.00470680
push 1
push edi
lea eax, [ebp + 0x54]
push eax
push dword [ebp + 0x20]
mov dword [ebp - 4], 9
call fcn.004375cc
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp + 0x54]
call fcn.00470660
push edi
lea eax, [ebp + 0x5c]
push str.Installer_Download_URI_
push eax
call fcn.00470fb0
push eax
mov dword [ebp - 4], 0xa
call fcn.004126e0
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp + 0x5c]
call fcn.00470660
push str.Set_the_installer_Base_URL._Many_things_are_referenced_relative_to_this_address:_The_UI_pages_and_support_files__the_config_XML__the_full_installer_EXE_etc._Example:_n_n____http:__yellow.dev.prognet.com_stub_installer_5.9_
lea ecx, [ebp + 0x18]
call fcn.00470680
push str.Set_the_installer_Base_URL
lea ecx, [ebp]
mov dword [ebp - 4], 0xb
call fcn.00470680
mov edi, str.DownloadURI
push edi
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0xc
call fcn.00470680
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp]
push eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call fcn.0041a75e
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0xf
call fcn.00470660
lea ecx, [ebp]
mov byte [ebp - 4], 0x10
call fcn.00470660
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0x11
call fcn.00470660
push edi
lea ecx, [ebp + 0x54]
call fcn.00470680
lea eax, [ebp + 0x54]
push eax
mov ecx, 0x4ff29c
mov byte [ebp - 4], 0x12
call fcn.0041a122
mov ecx, eax
call fcn.00419b7a
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x4c], eax
mov byte [ebp - 4], 0x11
call fcn.00470660
cmp dword [ebp + 0x4c], 0
je 0x455c0a
push edi
lea ecx, [ebp + 0x54]
call fcn.00470680
lea eax, [ebp + 0x54]
push eax
mov ecx, 0x4ff29c
mov byte [ebp - 4], 0x13
call fcn.0041a122
mov ecx, eax
call fcn.0041f9c9
lea edi, [esi + 0x378]
push eax
mov ecx, edi
call fcn.004707b0
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x11
call fcn.00470660
push edi
lea eax, [ebp + 0x64]
push str.Installer_Download_URI_Override_
push eax
call fcn.00470fb0
push eax
mov byte [ebp - 4], 0x14
call fcn.004126e0
add esp, 0x10
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x11
call fcn.00470660
push str.defaultDistcode
lea ecx, [ebp + 0x54]
call fcn.00470680
lea eax, [ebp + 0x54]
push eax
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0x15
call fcn.0044c4b7
mov edi, dword [eax]
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x11
call fcn.00470660
test edi, edi
je 0x455dca
push ebx
lea ecx, [ebp + 0x44]
call fcn.00470680
push str.browserShutdownDlg
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 0x16
call fcn.00470680
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x34]
push eax
push edi
mov byte [ebp - 4], 0x17
call fcn.004375cc
add esp, 0x10
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x4c], eax
mov byte [ebp - 4], 0x16
call fcn.00470660
cmp dword [ebp + 0x4c], 0
je 0x455c9c
lea eax, [ebp + 0x44]
push 0x4da330
push eax
call fcn.0040d5af
movzx eax, al
pop ecx
pop ecx
mov dword [esi + 0x380], eax
push edi
mov ecx, esi
call fcn.00455818
test eax, eax
jns 0x455dbe
mov eax, str.LogAction
mov edi, str.LogDebug
cmp eax, str.NULL
je 0x455d0e
cmp edi, str.__noop
je 0x455d0e
push str.E_CFGDISTCODES
lea ecx, [ebp + 0x5c]
call fcn.00470680
push eax
lea eax, [ebp + 0x64]
push str.actioninternalerrorvalue
push eax
mov byte [ebp - 4], 0x18
call fcn.00470fb0
add esp, 0xc
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x19
call fcn.00437c28
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x18
call fcn.00470660
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x16
call fcn.00470660
cmp edi, str.NULL
je 0x455da1
cmp edi, str.__noop
je 0x455da1
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x28]
call fcn.00470680
push str._defaultDistcode__was_bad
push eax
lea eax, [ebp + 0x3c]
push eax
mov byte [ebp - 4], 0x1a
call fcn.00470f60
push 0x4cfe44
push eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 0x1b
call fcn.00470f60
push ebx
push eax
lea eax, [ebp + 0x64]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00470f60
push eax
mov byte [ebp - 4], 0x1d
call fcn.004126e0
add esp, 0x28
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x1c
call fcn.00470660
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x1b
call fcn.00470660
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x1a
call fcn.00470660
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x16
call fcn.00470660
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 0x11
call fcn.00470660
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00419c15
jmp 0x455a78
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 0x11
call fcn.00470660
and dword [ebp + 0x4c], 0
lea ecx, [ebp + 8]
call fcn.004703d0
push 0x4d0930
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x1e
call fcn.00470680
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0x1f
call fcn.0044c4b7
mov edi, dword [eax]
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x1e
call fcn.00470660
jmp 0x455fa2
lea ecx, [edi + 0xc]
call fcn.004635e5
push str.defaultDistcode
push eax
lea ecx, [ebp + 8]
call fcn.004707b0
push eax
call fcn.0040d5af
pop ecx
pop ecx
test al, al
je 0x455faa
lea ecx, [ebp + 0x44]
call fcn.004703d0
push 0x4d7b04
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x20
call fcn.00470680
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x3c]
push eax
push edi
mov byte [ebp - 4], 0x21
call fcn.004375cc
add esp, 0x10
neg eax
sbb al, al
inc al
lea ecx, [ebp + 0x3c]
mov byte [ebp + 0x53], al
mov byte [ebp - 4], 0x20
call fcn.00470660
cmp byte [ebp + 0x53], 0
jne 0x456115
push 0x2c
lea ecx, [ebp + 0x44]
call fcn.00470410
xor ecx, ecx
inc ecx
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x30], ecx
cmp eax, ecx
jl 0x455f8b
push dword [ebp + 0x30]
lea eax, [ebp + 0x54]
push 0x2c
push eax
lea ecx, [ebp + 0x44]
call fcn.00471000
mov eax, dword [esi]
add eax, 0x188
push eax
lea eax, [ebp + 0x54]
push eax
mov byte [ebp - 4], 0x28
call fcn.0040d53e
pop ecx
pop ecx
test al, al
jne 0x455ee2
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x20
call fcn.00470660
inc dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
cmp eax, dword [ebp + 0x24]
jle 0x455e9a
jmp 0x455f8b
push ebx
lea ecx, [ebp + 0x34]
call fcn.00470680
push str.browserShutdownDlg
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x29
call fcn.00470680
push 1
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x5c]
push eax
push edi
mov byte [ebp - 4], 0x2a
call fcn.004375cc
add esp, 0x10
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x24], eax
mov byte [ebp - 4], 0x29
call fcn.00470660
cmp dword [ebp + 0x24], 0
je 0x455f41
lea eax, [ebp + 0x34]
push 0x4da330
push eax
call fcn.0040d5af
movzx eax, al
pop ecx
pop ecx
mov dword [esi + 0x380], eax
push str.NOLOG:_recursive_call_to_XML_GetDistCode__
lea ecx, [ebp + 0x64]
call fcn.00470680
lea eax, [ebp + 0x64]
push eax
mov byte [ebp - 4], 0x2b
call fcn.004126e0
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x29
call fcn.00470660
push edi
mov ecx, esi
call fcn.00455818
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x4c], eax
mov byte [ebp - 4], 0x28
call fcn.00470660
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x20
call fcn.00470660
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 0x1e
call fcn.00470660
push 0
mov ecx, edi
call fcn.00463dd7
mov edi, eax
test edi, edi
jne 0x455e0a
lea eax, [esi + 0x394]
push eax
lea eax, [ebp + 0x64]
push str.Config_UI_URL_
push eax
call fcn.00470fb0
push eax
mov byte [ebp - 4], 0x2c
call fcn.004126e0
add esp, 0x10
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x1e
call fcn.00470660
mov eax, dword [esi]
add eax, 0x188
push eax
lea eax, [ebp + 0x64]
push str.Original_DistCode_
push eax
call fcn.00470fb0
push eax
mov byte [ebp - 4], 0x2d
call fcn.004126e0
add esp, 0x10
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x1e
call fcn.00470660
mov eax, dword [esi]
mov ebx, 0x168
add eax, ebx
push eax
lea eax, [ebp + 0x64]
push str.Current_DistCode_
push eax
call fcn.00470fb0
push eax
mov byte [ebp - 4], 0x2e
call fcn.004126e0
add esp, 0x10
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x1e
call fcn.00470660
push 0x4d4b04
lea ecx, [ebp + 0x5c]
call fcn.00470680
mov edi, 0x4d02f4
push edi
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x2f
call fcn.00470680
mov eax, dword [esi]
add eax, ebx
push eax
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x64]
push eax
mov byte [ebp - 4], 0x30
call fcn.004181f0
add esp, 0xc
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x2f
call fcn.00470660
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x1e
call fcn.00470660
push str.PrevCode
lea ecx, [ebp + 0x5c]
call fcn.00470680
push edi
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x31
call fcn.00470680
mov byte [ebp - 4], 0x32
mov eax, dword [esi]
add eax, 0x188
push eax
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.004181f0
add esp, 0xc
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x31
call fcn.00470660
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x1e
call fcn.00470660
cmp dword [esi + 0x544], 0
je 0x4560e6
mov ecx, esi
call fcn.004531b7
push str.NOLOG:_leaving_XML_GetDistCodes__
lea ecx, [ebp + 0x64]
call fcn.00470680
lea eax, [ebp + 0x64]
push eax
mov byte [ebp - 4], 0x33
call fcn.004126e0
pop ecx
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x1e
call fcn.00470660
mov esi, dword [ebp + 0x4c]
jmp 0x45621b
mov eax, str.LogAction
mov edi, str.LogDebug
cmp eax, str.NULL
je 0x456177
cmp edi, str.__noop
je 0x456177
push str.E_CFGDISTCODES
lea ecx, [ebp + 0x5c]
call fcn.00470680
push eax
lea eax, [ebp + 0x64]
push str.actioninternalerrorvalue
push eax
mov byte [ebp - 4], 0x22
call fcn.00470fb0
add esp, 0xc
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x23
call fcn.00437c28
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x22
call fcn.00470660
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x20
call fcn.00470660
cmp edi, str.NULL
je 0x45620a
cmp edi, str.__noop
je 0x45620a
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x28]
call fcn.00470680
push str._distcode__missing_id_attribute
push eax
lea eax, [ebp + 0x3c]
push eax
mov byte [ebp - 4], 0x24
call fcn.00470f60
push 0x4cfe44
push eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 0x25
call fcn.00470f60
push ebx
push eax
lea eax, [ebp + 0x64]
push eax
mov byte [ebp - 4], 0x26
call fcn.00470f60
push eax
mov byte [ebp - 4], 0x27
call fcn.004126e0
add esp, 0x28
lea ecx, [ebp + 0x64]
mov byte [ebp - 4], 0x26
call fcn.00470660
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x25
call fcn.00470660
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x24
call fcn.00470660
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x20
call fcn.00470660
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 0x1e
call fcn.00470660
mov esi, 0x8000aaa0
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x11
call fcn.00470660
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00419c15
mov eax, esi
jmp 0x455a7d