Function at 0x412153
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1328
call fcn.0044f450
mov eax, dword [0x4b4294]
xor eax, esp
mov dword [esp + 0x1324], eax
push ebx
mov ebx, dword [esp + 0x1330]
xor eax, eax
push ebp
push esi
mov esi, dword [esp + 0x133c]
push edi
lea edi, [esp + 0x64]
stosd dword es:[edi], eax
push 0x41
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov ebp, eax
mov dword [esp + 0x7c], 0xf
mov byte [esp + 0x68], al
mov byte [esp + 0xb0], al
mov byte [esp + 0xf4], al
pop edi
mov dword [esp + 0x24], edi
test esi, esi
jne 0x412210
lea eax, [esp + 0x234]
push eax
call fcn.004115e3
pop ecx
test eax, eax
jne 0x412209
mov eax, dword [esp + 0x78]
cmp eax, 0x10
jb 0x412ab4
mov ecx, dword [esp + 0x64]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
cmp eax, 0x1000
jb 0x412aab
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00404e58
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
jmp 0x412aab
lea esi, [esp + 0x234]
push edi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x134c]
lea eax, [esp + 0x70]
push 1
push eax
push esi
call fcn.0040f490
mov edi, eax
add esp, 0x18
test edi, edi
jns 0x41227d
mov ecx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x412276
mov eax, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
cmp ecx, 0x1000
jb 0x41226d
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00404e58
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.0044f0ce
pop ecx
pop ecx
mov eax, edi
jmp 0x412ab9
lea eax, [esp + 0x24]
xor edi, edi
push eax
lea eax, [esp + 0xf4]
push eax
push str.VersionXmlChecksum
push edi
call fcn.00411481
add esp, 0x10
test eax, eax
je 0x4122c9
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.004615a1
pop ecx
pop ecx
test eax, eax
jne 0x4122be
xor ebp, ebp
inc ebp
jmp 0x4122df
push str.Update_Descriptor_Checksums_DO_NOT_Match_n
call fcn.00427163
pop ecx
lea eax, [esp + 0xac]
push eax
push str.VersionXmlChecksum
push edi
call fcn.00411926
add esp, 0xc
cmp dword [esp + 0x1348], edi
je 0x412332
test ebp, ebp
je 0x412332
mov eax, dword [esp + 0x78]
cmp eax, 0x10
jb 0x41232b
mov ecx, dword [esp + 0x64]
inc eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
cmp eax, 0x1000
jb 0x412322
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00404e58
mov eax, dword [esp + 0x18]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.0044f0ce
pop ecx
pop ecx
xor eax, eax
jmp 0x412ab9
push str.Saving_Update_Descriptor_XML_Data_n
call fcn.00427163
pop ecx
lea eax, [esp + 0x94]
mov byte [esp + 0x1a], 1
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0043844c
pop ecx
mov ecx, eax
call fcn.004382ff
push eax
lea eax, [esp + 0x80]
push eax
call fcn.00424192
pop ecx
pop ecx
lea ecx, [esp + 0x94]
call fcn.00405bc4
push 0x800
lea eax, [esp + 0x338]
push edi
push eax
call fcn.00452680
add esp, 0xc
lea eax, [ebx + 8]
push 0xff
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
cmp dword [esp + 0x78], 0x10
lea ecx, [esp + 0x64]
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x1b]
cmovae ecx, dword [esp + 0x64]
add eax, ecx
lea ecx, [esp + 0x64]
cmp dword [esp + 0x78], 0x10
push edx
cmovae ecx, dword [esp + 0x68]
push eax
push ecx
lea ecx, [esp + 0x64]
call fcn.00411fde
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push eax
lea ecx, [esp + 0x5c]
call fcn.00412015
push dword [esp + 0x58]
call fcn.0041355d
mov esi, eax
pop ecx
test esi, esi
je 0x41298d
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push str.java_update
push dword [esi + 4]
call edi
test eax, eax
jne 0x41298d
mov ebp, dword [esi + 0xc]
jmp 0x412985
push str.information
push dword [ebp + 4]
call edi
test eax, eax
jne 0x412982
push str.xml:lang
push dword [ebp + 0x10]
call fcn.0041334c
push str.version
push dword [ebp + 0x10]
mov dword [esp + 0x24], eax
call fcn.0041334c
add esp, 0x10
mov esi, eax
push 0x4894c0
push esi
call edi
test eax, eax
je 0x412468
push 0x4894c4
push esi
call edi
test eax, eax
jne 0x412982
cmp dword [esp + 0x90], 0x10
lea eax, [esp + 0x7c]
cmovae eax, dword [esp + 0x7c]
push eax
push dword [esp + 0x18]
call edi
test eax, eax
je 0x412497
push 0x489490
push dword [esp + 0x18]
call edi
test eax, eax
jne 0x412982
push str.descriptionfrom8
push dword [ebp + 0xc]
call fcn.00413374
push str.title
push dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
call fcn.00413374
push str.moreinfotxt
push dword [ebp + 0xc]
mov dword [esp + 0x48], eax
call fcn.00413374
push str.caption
push dword [ebp + 0xc]
mov dword [esp + 0x54], eax
call fcn.00413374
push str.moreinfo
push dword [ebp + 0xc]
mov dword [esp + 0x60], eax
call fcn.00413374
push 0x489504
push dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.00413374
push str.options
push dword [ebp + 0xc]
mov dword [esp + 0x48], eax
call fcn.00413374
push str.post_status
push dword [ebp + 0xc]
mov dword [esp + 0x60], eax
call fcn.00413374
add esp, 0x40
mov dword [esp + 0x40], eax
push str.cntry_lookup
push dword [ebp + 0xc]
call fcn.00413374
push str.version
push dword [ebp + 0xc]
mov dword [esp + 0x54], eax
call fcn.00413374
push str.AlertText
push dword [ebp + 0xc]
mov dword [esp + 0x60], eax
call fcn.00413374
push str.AlertTitle
push dword [ebp + 0xc]
mov dword [esp + 0x74], eax
call fcn.00413374
push str.urlinfo256
push dword [ebp + 0xc]
mov dword [esp + 0x44], eax
call fcn.00413374
push str.predownload
push dword [ebp + 0xc]
mov dword [esp + 0x80], eax
call fcn.00413374
add esp, 0x30
mov dword [esp + 0x4c], eax
cmp byte [esp + 0x1a], 0
jne 0x4125a1
push 0x4894c0
push esi
call edi
test eax, eax
jne 0x4125c4
mov ecx, ebx
call fcn.00412ad4
push 0xffffffffffffffff
push 0x487974
lea eax, [esp + 0x33c]
push 0x800
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4125ec
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4125ec
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [ebx + 0x108]
push 0x100
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x20]
test eax, eax
je 0x412730
mov esi, dword [eax + 0xc]
test esi, esi
je 0x412730
xor eax, eax
mov dword [esp + 0x20], 0x14
mov dword [esp + 0x10], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x98]
push eax
push str.Method
push 0
call fcn.00411481
mov edi, 0x100
lea eax, [esp + 0x144]
push edi
push 0
push eax
call fcn.00452680
push dword [esi + 4]
lea eax, [esp + 0x154]
push str.Original_options_element:__s
push 0xffffffffffffffff
push edi
push eax
call fcn.0040cb09
lea eax, [esp + 0x164]
push eax
call fcn.00411fd0
lea eax, [esp + 0x5c]
push eax
push 0x48956c
push dword [esi + 4]
call fcn.00461526
mov edi, eax
lea esi, [ebx + 0xd88]
add esp, 0x40
test edi, edi
je 0x4126e7
push str._installmethod
push edi
call fcn.00452c80
pop ecx
pop ecx
test eax, eax
je 0x4126b5
cmp dword [esp + 0x1344], 0
mov dword [esp + 0x10], 1
je 0x4126b5
push edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, 0x489580
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
call edi
push 0x48956c
push esi
call edi
lea eax, [esp + 0x28]
push eax
push 0x48956c
push 0
call fcn.00461526
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x412685
cmp dword [esp + 0x10], eax
jne 0x412700
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str._installmethod
push esi
call edi
lea eax, [esp + 0x94]
push eax
push esi
call edi
push esi
push str.Final_options_element:__s
push 0xffffffffffffffff
lea eax, [esp + 0x140]
push 0x100
push eax
call fcn.0040cb09
lea eax, [esp + 0x148]
push eax
call fcn.00411fd0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x412768
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412768
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [esp + 0x33c]
push 0x800
push eax
call fcn.0045a760
add esp, 0x10
lea eax, [esp + 0x334]
mov ecx, ebx
push eax
call fcn.004120f2
mov eax, dword [esp + 0x30]
test eax, eax
je 0x412798
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412798
push 0xffffffffffffffff
push dword [eax + 4]
lea esi, [ebx + 0x1588]
push 0x100
push esi
call fcn.0045a760
add esp, 0x10
mov ecx, ebx
push esi
call fcn.004120f2
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4127c8
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4127c8
push 0xffffffffffffffff
push dword [eax + 4]
lea esi, [ebx + 0x1688]
push 0x100
push esi
call fcn.0045a760
add esp, 0x10
mov ecx, ebx
push esi
call fcn.004120f2
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4127f8
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4127f8
push 0xffffffffffffffff
push dword [eax + 4]
lea esi, [ebx + 0x1788]
push 0x80
push esi
call fcn.0045a760
add esp, 0x10
mov ecx, ebx
push esi
call fcn.004120f2
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x412820
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412820
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [ebx + 0x208]
push 0x100
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x40]
test eax, eax
je 0x412848
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412848
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [ebx + 0x408]
push 0x100
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x44]
test eax, eax
je 0x412870
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412870
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [ebx + 0x308]
push 0x100
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x48]
test eax, eax
je 0x412898
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412898
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [ebx + 0x508]
push 0x80
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4128d9
mov eax, dword [eax + 0xc]
lea esi, [ebx + 0x2190]
test eax, eax
je 0x4128c0
push 0xffffffffffffffff
push dword [eax + 4]
push 0x80
push esi
call fcn.0045a760
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x4128d9
push 0x7f
push 0x4895a0
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x412901
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412901
push 0xffffffffffffffff
push dword [eax + 4]
lea eax, [ebx + 0x2110]
push 0x80
push eax
call fcn.0045a760
add esp, 0x10
mov eax, dword [esp + 0x54]
test eax, eax
je 0x412931
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412931
push 0xffffffffffffffff
push dword [eax + 4]
lea esi, [ebx + 0x1808]
push 0x800
push esi
call fcn.0045a760
add esp, 0x10
mov ecx, ebx
push esi
call fcn.004120f2
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x412961
mov eax, dword [eax + 0xc]
test eax, eax
je 0x412961
push 0xffffffffffffffff
push dword [eax + 4]
lea esi, [ebx + 0x2008]
push 0x104
push esi
call fcn.0045a760
add esp, 0x10
mov ecx, ebx
push esi
call fcn.004120f2
cmp dword [esp + 0x90], 0x10
lea eax, [esp + 0x7c]
mov byte [esp + 0x1a], 0
cmovae eax, dword [esp + 0x7c]
push eax
push dword [esp + 0x18]
call edi
test eax, eax
je 0x41298d
mov ebp, dword [ebp + 8]
test ebp, ebp
jne 0x412417
lea edi, [esp + 0x334]
lea ebp, [ebx + 0x588]
push 0x4895a4
push edi
call fcn.00452c80
mov dword [esp + 0x24], eax
pop ecx
pop ecx
test eax, eax
je 0x412a01
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
xor esi, esi
inc esi
push edi
sub esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, esi
push eax
push edi
lea eax, [esp + 0xb3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [esp + 0xb34]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x488bd8
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_CharNextA]
mov edi, eax
test edi, edi
jne 0x41299a
jmp 0x412a09
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [esp + 0x1a], 0
jne 0x412a63
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [ebx + 0x108]
push esi
call ebp
test eax, eax
je 0x412a63
push esi
call fcn.004270cb
pop ecx
test eax, eax
je 0x412a63
lea eax, [ebx + 0x2110]
push eax
call ebp
cmp eax, 0x40
jne 0x412a63
mov eax, dword [ebx]
push ebx
mov dword [ebx + 0x210c], 1
call dword [eax + 0x14]
lea ecx, [esp + 0x58]
call fcn.0040c9dc
lea ecx, [esp + 0x7c]
call fcn.00405bc4
jmp 0x4122ec
lea ecx, [esp + 0x58]
call fcn.0040c9dc
lea ecx, [esp + 0x7c]
call fcn.00405bc4
mov eax, dword [esp + 0x78]
cmp eax, 0x10
jb 0x412ab4
mov ecx, dword [esp + 0x64]
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x412aab
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00404e58
mov eax, dword [esp + 0x18]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.0044f0ce
pop ecx
pop ecx
mov eax, 0x80004005
mov ecx, dword [esp + 0x1334]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0044f332
add esp, 0x1328
ret 0x10