Function at 0x477c90
Capabilities:
Check internet connectivity via wininet
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x528c00
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x595cb8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
push str.IN_strCmdLine
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0
call fcn.0041f870
push str.init
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.0041f910
mov byte [ebp - 4], 2
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x477cfb
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 3
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x30]
call fcn.00420f70
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
push ecx
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.00420f70
add esp, 8
mov byte [ebp - 4], 5
cmp dword [ebx + 0x80], 0
je 0x477d4b
push 0
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebx + 0x7c]
push eax
call fcn.004210a0
mov byte [ebp - 4], 4
or ebx, 0xffffffff
mov edx, dword [ebp - 0x3c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x477d6c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x477d8a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 2
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x477da8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov eax, esi
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x477dc6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, esi
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x477de4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x477df9
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 6
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x477e1d
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x2c], edi
mov byte [ebp - 4], 7
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x477e41
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 8
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x477e65
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x18]
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], 9
lea ecx, [esi + 0xb8]
call fcn.00421a50
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], 0
cmp dword [eax - 0xc], 0
jge 0x477e9b
or ecx, 0xffffffff
jmp 0x477ebb
push str._nich
push eax
call fcn.004f8554
mov ecx, eax
add esp, 8
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x477eb7
or ecx, 0xffffffff
jmp 0x477ebb
sub ecx, eax
sar ecx, 1
shr ecx, 0x1f
test cl, cl
je 0x477fd7
push 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
jne 0x477fd4
mov eax, dword [0x59c774]
cmp eax, 3
je 0x47a3d6
cmp eax, 4
je 0x47a3d6
cmp dword [esi + 0xdc], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
jne 0x477f6e
call fcn.00475ce0
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0xa
push eax
push 0x30
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
push str.Check_your_internet_connection
call fcn.0041f910
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xb
push str.Please_check_your_internet_connection_and_try_to_run_the_installer_again.
call fcn.0041f910
mov eax, dword [esi + 0x5c]
lea ecx, [esi + 0x5c]
mov byte [ebp - 4], 0xa
call dword [eax + 0x18]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x54]
push eax
push dword [eax]
lea eax, [ebp - 0x5c]
push eax
call fcn.00475810
push dword [ebp - 0x54]
call fcn.004f45db
add esp, 4
jmp 0x47a3d6
call fcn.00475ce0
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0xc
push eax
push 0x30
push ecx
mov ecx, esp
mov dword [ebp - 0x5c], esp
push str.Check_your_internet_connection
call fcn.0041f910
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xd
push str.Please_check_your_internet_connection_and_try_to_run_the_uninstaller_again.
call fcn.0041f910
mov eax, dword [esi + 0x5c]
lea ecx, [esi + 0x5c]
mov byte [ebp - 4], 0xc
call dword [eax + 0x18]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x54]
push eax
push dword [eax]
lea eax, [ebp - 0x5c]
push eax
call fcn.00475810
push dword [ebp - 0x54]
call fcn.004f45db
add esp, 4
jmp 0x47a3d6
mov eax, dword [ebp + 8]
lea ecx, [eax - 0x10]
call fcn.0041fb10
lea ebx, [eax + 0x10]
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 0xe
mov esi, dword [ebx - 0xc]
test esi, esi
jns 0x477ffa
push 0x80070057
call fcn.0041f2a0
mov eax, dword [ebx - 8]
mov ecx, 1
sub ecx, dword [ebx - 4]
sub eax, esi
or eax, ecx
jge 0x478017
push esi
lea ecx, [ebp - 0x20]
call fcn.0041fb70
mov ebx, dword [ebp - 0x20]
lea eax, [esi + 1]
push eax
push ebx
call fcn.005032cf
add esp, 8
cmp esi, dword [ebx - 8]
jg 0x477ff0
xor eax, eax
mov dword [ebx - 0xc], esi
mov word [ebx + esi*2], ax
mov eax, dword [0x59c8f0]
cmp dword [eax - 0xc], 0
je 0x478100
push str._url
lea ecx, [ebp - 0x30]
call fcn.0041f910
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xf
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.0042b420
add esp, 4
mov edi, dword [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x10
lea esi, [edi + 0xb0]
mov ecx, esi
call fcn.00421a50
mov byte [ebp - 4], 0xf
or ebx, 0xffffffff
mov edx, dword [ebp - 0x40]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47809a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4780b8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x478106
push 0x574ccc
lea ecx, [ebp - 0x30]
call fcn.0041f910
push esi
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x11
lea ecx, [ebp + 8]
call fcn.0042b310
mov byte [ebp - 4], 0xe
add esp, 4
mov edx, dword [ebp - 0x30]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478106
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x478106
mov edi, dword [ebp - 0x18]
or ebx, 0xffffffff
mov byte [ebp - 0xd], 0
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47811f
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov eax, str._url
mov byte [ebp - 4], 0x12
test eax, 0xffff0000
jne 0x478154
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478163
push esi
push eax
lea ecx, [ebp - 0x28]
call fcn.0041fbd0
jmp 0x478163
push 4
push str._url
lea ecx, [ebp - 0x28]
call fcn.0041fd40
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x13
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.0042b420
add esp, 4
lea esi, [edi + 0xe4]
mov byte [ebp - 4], 0x14
push eax
mov ecx, esi
call fcn.00421a50
mov byte [ebp - 4], 0x13
mov eax, ebx
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4781a9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, ebx
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4781c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x47822e
push 0x574ccc
lea ecx, [ebp - 0x30]
call fcn.0041f910
push esi
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x15
lea ecx, [ebp + 8]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478213
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x47822e
push 0x83
push str.http:__c6m7w2m9.ssl.hwcdn.net_playtech_compressed_assets_poker_dafa_index.7ze
mov ecx, esi
call fcn.0041fd40
mov byte [ebp - 0xd], 1
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478243
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 0x16
jne 0x478611
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478271
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str.before_m_strPackageUrl
mov byte [ebp - 4], 0x17
test eax, 0xffff0000
jne 0x4782a6
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x4782b3
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x4782b3
push str.before_m_strPackageUrl
lea ecx, [ebp - 0x24]
call fcn.0041fa30
push str.init
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x18
call fcn.0041f910
mov byte [ebp - 4], 0x19
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4782dd
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x14]
call fcn.00420f70
lea ecx, [edi + 0xe4]
mov byte [ebp - 4], 0x1b
push ecx
mov edx, eax
lea ecx, [ebp - 0x1c]
call fcn.00420f70
add esp, 8
mov byte [ebp - 4], 0x1c
cmp dword [edi + 0x80], 0
je 0x478330
push 0
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x1b
mov eax, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47834e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, ebx
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47836c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x478387
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4783a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4783c3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebp - 0x28]
lea ecx, [edi + 0xe4]
call fcn.0042bd30
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4783e6
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, str._strFuncDbg
mov byte [ebp - 4], 0x1d
test eax, 0xffff0000
jne 0x47841b
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478428
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.0041fbd0
jmp 0x478428
push str._strFuncDbg
lea ecx, [ebp - 0x1c]
call fcn.0041fa30
mov byte [ebp - 4], 0x1e
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478441
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str.after_m_strPackageUrl
mov byte [ebp - 4], 0x1f
test eax, 0xffff0000
jne 0x478476
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478483
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x478483
push str.after_m_strPackageUrl
lea ecx, [ebp - 0x24]
call fcn.0041fa30
push str.init
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x20
call fcn.0041f910
mov byte [ebp - 4], 0x21
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4784ad
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x22
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x50]
call fcn.00420f70
lea ecx, [edi + 0xe4]
mov byte [ebp - 4], 0x23
push ecx
mov edx, eax
lea ecx, [ebp - 0x4c]
call fcn.00420f70
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x24
push ecx
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.00420f70
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x25
push ecx
mov edx, eax
lea ecx, [ebp - 0x14]
call fcn.00420f70
add esp, 0x10
mov byte [ebp - 4], 0x26
cmp dword [edi + 0x80], 0
je 0x478524
push 0
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x25
mov eax, ebx
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478542
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x24
mov eax, ebx
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478560
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov eax, ebx
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47857e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x22
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47859c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4785b7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x20
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4785d5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4785f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478611
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x59c774], 3
jne 0x47893c
push str._fallbackurl
lea ecx, [ebp - 0x30]
call fcn.0041f910
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x27
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
lea esi, [edi + 0xe8]
mov byte [ebp - 4], 0x28
push eax
mov ecx, esi
call fcn.00421a50
mov byte [ebp - 4], 0x27
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478671
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47868f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x4786f2
push str.fallbackurl
lea ecx, [ebp - 0x30]
call fcn.0041f910
push esi
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x29
lea ecx, [ebp + 8]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4786db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x4786f2
push 0x84
push str.http:__fallback.playtech_installer.com_playtech_compressed_assets_poker_dafa_index.7ze
mov ecx, esi
call fcn.0041fd40
lea edx, [ebp - 0x28]
mov ecx, esi
call fcn.0042bd30
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478711
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, str._strFuncDbg
mov byte [ebp - 4], 0x2a
test eax, 0xffff0000
jne 0x478746
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478753
push esi
push eax
lea ecx, [ebp - 0x1c]
call fcn.0041fbd0
jmp 0x478753
push str._strFuncDbg
lea ecx, [ebp - 0x1c]
call fcn.0041fa30
mov byte [ebp - 4], 0x2b
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47876c
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str.after_m_strFallBackPackageUrl
mov byte [ebp - 4], 0x2c
test eax, 0xffff0000
jne 0x4787a1
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x4787ae
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x4787ae
push str.after_m_strFallBackPackageUrl
lea ecx, [ebp - 0x24]
call fcn.0041fa30
push str.init
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x2d
call fcn.0041f910
mov byte [ebp - 4], 0x2e
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4787d8
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x2f
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x14]
call fcn.00420f70
lea ecx, [edi + 0xe8]
mov byte [ebp - 4], 0x30
push ecx
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.00420f70
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x31
push ecx
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.00420f70
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x32
push ecx
mov edx, eax
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 0x10
mov byte [ebp - 4], 0x33
cmp dword [edi + 0x80], 0
je 0x47884f
push 0
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x32
mov eax, ebx
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47886d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x31
mov eax, ebx
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47888b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x30
mov eax, ebx
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4788a9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2f
mov eax, ebx
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4788c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2e
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4788e2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2d
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478900
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2b
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47891e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47893c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x2f
push dword [edi + 0xe4]
call fcn.004f89bb
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x4789a9
sub ecx, dword [edi + 0xe4]
sar ecx, 1
cmp ecx, 0xffffffff
je 0x4789a9
mov eax, dword [edi + 0xe4]
push dword [eax - 0xc]
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xe4]
call fcn.00423eb0
lea ecx, [edi + 0xec]
mov byte [ebp - 4], 0x34
push eax
call fcn.00421a50
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4789a9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4789be
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._name
mov byte [ebp - 4], 0x35
test eax, 0xffff0000
jne 0x4789f3
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478a02
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x478a02
push 5
push str._name
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x36
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
lea esi, [edi + 0xb4]
mov byte [ebp - 4], 0x37
push eax
mov ecx, esi
mov dword [ebp - 0x58], esi
call fcn.00421a50
mov byte [ebp - 4], 0x36
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478a4b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478a69
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x478ac9
push str.name
lea ecx, [ebp - 0x30]
call fcn.0041f910
push esi
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x38
lea ecx, [ebp + 8]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478ab5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x478ac9
push 0x38
push 0x574fa0
mov ecx, esi
call fcn.0041fd40
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478ade
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._errorurl
mov byte [ebp - 4], 0x39
test eax, 0xffff0000
jne 0x478b13
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478b22
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x478b22
push 9
push str._errorurl
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x3a
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
mov ecx, 0x59c8c0
mov byte [ebp - 4], 0x3b
call fcn.00421a50
mov byte [ebp - 4], 0x3a
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478b65
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478b83
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x59c8c0]
cmp dword [eax - 0xc], 0
jne 0x478bf0
push str.errorurl
lea ecx, [ebp - 0x30]
call fcn.0041f910
push 0x59c8c0
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x3c
lea ecx, [ebp + 8]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478bd6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x478bf0
push 0x88
push 0x574e88
mov ecx, 0x59c8c0
call fcn.0041fd40
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478c05
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._statsurl
mov byte [ebp - 4], 0x3d
test eax, 0xffff0000
jne 0x478c3a
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478c49
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x478c49
push 9
push str._statsurl
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x3e
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
mov ecx, 0x59c8a8
mov byte [ebp - 4], 0x3f
call fcn.00421a50
mov byte [ebp - 4], 0x3e
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478c8c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478caa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x59c8a8]
cmp dword [eax - 0xc], 0
jne 0x478d17
push str.statsurl
lea ecx, [ebp - 0x30]
call fcn.0041f910
push 0x59c8c0
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x40
lea ecx, [ebp + 8]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478cfd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x478d17
push 0x88
push str.https:__t8u4n6u7.ssl.hwcdn.net_stats.gif_event100brandDafa_Poker
mov ecx, 0x59c8a8
call fcn.0041fd40
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478d2c
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._publisherid
mov byte [ebp - 4], 0x41
test eax, 0xffff0000
jne 0x478d61
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478d70
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x478d70
push 0xc
push str._publisherid
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x42
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
mov ecx, 0x59c8ac
mov byte [ebp - 4], 0x43
call fcn.00421a50
mov byte [ebp - 4], 0x42
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478db3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478dd1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x59c8ac]
cmp dword [eax - 0xc], 0
jne 0x478e3b
push str.publisherid
lea ecx, [ebp - 0x30]
call fcn.0041f910
push 0x59c8ac
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x20]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478e24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x478e3b
push 0x2d
push 0x5751b0
mov ecx, 0x59c8ac
call fcn.0041fd40
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478e50
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x45
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478e74
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._top
mov byte [ebp - 4], 0x46
test eax, 0xffff0000
jne 0x478ea9
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x478eb8
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x478eb8
push 4
push str._top
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x47
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x48
call fcn.00421a50
mov byte [ebp - 4], 0x47
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478ef9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478f17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jne 0x478f7f
push 0x57518c
lea ecx, [ebp - 0x30]
call fcn.0041f910
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x49
push eax
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x478f67
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x478f7c
push 0x20
push 0x575260
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x38]
call fcn.00421a50
mov edx, dword [esi - 0xc]
test edx, edx
jns 0x478f9c
push 0x80070057
call fcn.0041f2a0
xor ecx, ecx
cmp word [esi], 0x2d
sete cl
cmp ecx, edx
jg 0x477ff0
cmp word [esi + ecx*2], 0x30
jb 0x478fc3
cmp ecx, edx
jg 0x477ff0
cmp word [esi + ecx*2], 0x39
jbe 0x478fd5
push 2
push 0x575f08
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov esi, dword [ebp - 0x14]
push esi
call fcn.0050333a
add esp, 4
mov dword [edi + 0x90], eax
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x478ff9
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._left
mov byte [ebp - 4], 0x4a
test eax, 0xffff0000
jne 0x47902e
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x47903d
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x47903d
push 5
push str._left
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x4b
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x4c
call fcn.00421a50
mov byte [ebp - 4], 0x4b
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47907e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47909c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jne 0x479104
push str.left
lea ecx, [ebp - 0x30]
call fcn.0041f910
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x4d
push eax
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4790ec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x479101
push 0x21
push 0x575218
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00421a50
mov edx, dword [esi - 0xc]
test edx, edx
jns 0x479121
push 0x80070057
call fcn.0041f2a0
xor ecx, ecx
cmp word [esi], 0x2d
sete cl
cmp ecx, edx
jg 0x477ff0
cmp word [esi + ecx*2], 0x30
jb 0x479148
cmp ecx, edx
jg 0x477ff0
cmp word [esi + ecx*2], 0x39
jbe 0x47915a
push 2
push 0x575f08
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov esi, dword [ebp - 0x14]
push esi
call fcn.0050333a
lea ecx, [edi + 0x8c]
add esp, 4
mov dword [ecx], eax
mov dword [ebp - 0x5c], ecx
cmp eax, 0xffffffff
je 0x47917c
cmp dword [edi + 0x90], 0xffffffff
jne 0x479183
mov byte [edi + 0xa4], 1
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479198
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._height
mov byte [ebp - 4], 0x4e
test eax, 0xffff0000
jne 0x4791cd
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x4791dc
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x4791dc
push 7
push str._height
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x4f
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x50
call fcn.00421a50
mov byte [ebp - 4], 0x4f
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47921d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47923b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], 0
jne 0x4792a3
push str.height
lea ecx, [ebp - 0x30]
call fcn.0041f910
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x51
push eax
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47928b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x4792a0
push 0x23
push 0x5752b0
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00421a50
mov edx, dword [esi - 0xc]
test edx, edx
jns 0x4792c0
push 0x80070057
call fcn.0041f2a0
xor ecx, ecx
cmp word [esi], 0x2d
sete cl
cmp ecx, edx
jg 0x477ff0
cmp word [esi + ecx*2], 0x30
jb 0x4792e7
cmp ecx, edx
jg 0x477ff0
cmp word [esi + ecx*2], 0x39
jbe 0x4792f9
push 2
push 0x575f08
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov esi, dword [ebp - 0x14]
push esi
call fcn.0050333a
mov ecx, eax
add esp, 4
cmp ecx, 0xffffffff
mov eax, 0x1f4
cmove ecx, eax
cmp byte [edi + 0xa4], 0
mov dword [ebp - 0x40], ecx
jne 0x479329
mov eax, dword [edi + 0x90]
add eax, ecx
mov dword [edi + 0x98], eax
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47933e
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, str._width
mov byte [ebp - 4], 0x52
test eax, 0xffff0000
jne 0x479373
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x479382
push esi
push eax
lea ecx, [ebp - 0x24]
call fcn.0041fbd0
jmp 0x479382
push 6
push str._width
lea ecx, [ebp - 0x24]
call fcn.0041fd40
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x53
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.0042b420
add esp, 4
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x54
call fcn.00421a50
mov byte [ebp - 4], 0x53
mov eax, ebx
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4793c3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov eax, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4793e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x14]
cmp dword [edi - 0xc], 0
jne 0x479449
push str.width
lea ecx, [ebp - 0x30]
call fcn.0041f910
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x55
push eax
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0042b310
add esp, 4
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x30]
test al, al
mov eax, ebx
sete byte [ebp - 0xe]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479431
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xe], 0
je 0x479446
push 0x22
push 0x575350
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x34]
call fcn.00421a50
mov edx, dword [edi - 0xc]
test edx, edx
jns 0x479466
push 0x80070057
call fcn.0041f2a0
xor ecx, ecx
cmp word [edi], 0x2d
sete cl
cmp ecx, edx
jg 0x477ff0
movzx esi, word [edi + ecx*2]
cmp esi, 0x30
jb 0x47948d
cmp ecx, edx
jg 0x477ff0
cmp esi, 0x39
jbe 0x47949f
push 2
push 0x575f08
lea ecx, [ebp - 0x14]
call fcn.0041fd40
mov edi, dword [ebp - 0x14]
push edi
call fcn.0050333a
mov esi, dword [ebp - 0x18]
mov ecx, eax
add esp, 4
mov eax, 0x258
cmp ecx, 0xffffffff
cmove ecx, eax
cmp byte [esi + 0xa4], 0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], ecx
mov dword [esi + 0x114], eax
mov dword [esi + 0x110], ecx
jne 0x4794e1
mov eax, dword [esi + 0x8c]
add eax, ecx
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0xb8]
lea ebx, [esi + 0xb8]
cmp dword [eax - 0xc], 0
jl 0x47950e
push str.__test
push eax
call fcn.004f8554
add esp, 8
test eax, eax
je 0x47950e
sub eax, dword [ebx]
sar eax, 1
cmp eax, 0xffffffff
jne 0x479571
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jl 0x47952e
push str._test
push eax
call fcn.004f8554
add esp, 8
test eax, eax
je 0x47952e
sub eax, dword [ebx]
sar eax, 1
je 0x479571
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jl 0x479551
push 0x5754f4
push eax
call fcn.004f8554
add esp, 8
test eax, eax
je 0x479551
sub eax, dword [ebx]
sar eax, 1
cmp eax, 0xffffffff
jne 0x479571
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jl 0x479578
push 0x575504
push eax
call fcn.004f8554
add esp, 8
test eax, eax
je 0x479578
sub eax, dword [ebx]
sar eax, 1
jne 0x479578
mov byte [esi + 0xd8], 1
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47958d
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x56
lea eax, [ebp - 0x1c]
push dword [esi + 0xa8]
mov ebx, dword [ebp - 0x3c]
push dword [ebp - 0x34]
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
push dword [esi + 0xb4]
push dword [esi + 0xb0]
push str.command_values:_url___s__installerName___s__top___s__left___s__Height___s__Width___s__installerId___s_
push eax
call fcn.00420c20
add esp, 0x24
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4795e1
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov eax, str.init
mov byte [ebp - 4], 0x57
shr eax, 0x10
mov ecx, str.init
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x47961e
movzx esi, cx
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x47962d
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.0041fbd0
jmp 0x47962d
push 4
push str.init
lea ecx, [ebp - 0x30]
call fcn.0041fd40
mov byte [ebp - 4], 0x58
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479646
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x59
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x5a
cmp dword [eax + 0x80], 0
je 0x479689
push 1
push ecx
lea ecx, [ebp - 0x30]
add eax, 0x7c
push ecx
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x59
or eax, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4796a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x58
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4796c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, esi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4796e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x575468
lea eax, [ebp - 0x1c]
push str.addition_values:_CompanyName_s
push eax
call fcn.00420c20
add esp, 0xc
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47970f
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x5b
cmp dword [ebp - 0x24], 0
jne 0x479743
mov eax, str.init
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x479752
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.0041fbd0
jmp 0x479752
push 4
push str.init
lea ecx, [ebp - 0x30]
call fcn.0041fd40
mov byte [ebp - 4], 0x5c
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47976b
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x5d
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x5e
cmp dword [eax + 0x80], 0
je 0x4797ae
push 1
push ecx
lea ecx, [ebp - 0x30]
add eax, 0x7c
push ecx
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x5d
or eax, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4797cd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x5c
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4797eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, esi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479809
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x575600
lea eax, [ebp - 0x1c]
push str.FileDescription_s
push eax
call fcn.00420c20
add esp, 0xc
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479834
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x5f
cmp dword [ebp - 0x24], 0
jne 0x479868
mov eax, str.init
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x479877
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.0041fbd0
jmp 0x479877
push 4
push str.init
lea ecx, [ebp - 0x30]
call fcn.0041fd40
mov byte [ebp - 4], 0x60
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479890
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x61
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x62
cmp dword [eax + 0x80], 0
je 0x4798d3
push 1
push ecx
lea ecx, [ebp - 0x30]
add eax, 0x7c
push ecx
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x61
or eax, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4798f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x60
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479910
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, esi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47992e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x575538
lea eax, [ebp - 0x1c]
push str.ProductName_s
push eax
call fcn.00420c20
add esp, 0xc
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479959
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x63
cmp dword [ebp - 0x24], 0
jne 0x47998d
mov eax, str.init
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x47999c
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.0041fbd0
jmp 0x47999c
push 4
push str.init
lea ecx, [ebp - 0x30]
call fcn.0041fd40
mov byte [ebp - 4], 0x64
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x4799b5
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x65
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x66
cmp dword [eax + 0x80], 0
je 0x4799f8
push 1
push ecx
lea ecx, [ebp - 0x30]
add eax, 0x7c
push ecx
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x65
or eax, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479a17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x64
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479a35
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, esi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479a53
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5751b0
lea eax, [ebp - 0x1c]
push str.PublisherId_s
push eax
call fcn.00420c20
add esp, 0xc
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479a7e
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x67
cmp dword [ebp - 0x24], 0
jne 0x479ab2
mov eax, str.init
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x479ac1
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.0041fbd0
jmp 0x479ac1
push 4
push str.init
lea ecx, [ebp - 0x30]
call fcn.0041fd40
mov byte [ebp - 4], 0x68
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479ada
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x69
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x6a
cmp dword [eax + 0x80], 0
je 0x479b1d
push 1
push ecx
lea ecx, [ebp - 0x30]
add eax, 0x7c
push ecx
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x69
or eax, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479b3c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x68
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479b5a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, esi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x479b78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x574e88
lea eax, [ebp - 0x1c]
push str.ErrorsUrl_s
push eax
call fcn.00420c20
add esp, 0xc
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479ba3
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x6b
cmp dword [ebp - 0x24], 0
jne 0x479bd7
mov eax, str.init
movzx esi, ax
mov ecx, esi
call fcn.0041f3d0
test eax, eax
je 0x479be6
push esi
push eax
lea ecx, [ebp - 0x30]
call fcn.0041fbd0
jmp 0x479be6
push 4
push str.init
lea ecx, [ebp - 0x30]
call fcn.0041fd40
mov byte [ebp - 4], 0x6c
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x479bff
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x6d
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
call fcn.00420f70
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x6e
cmp dword [eax + 0x80], 0
je 0x479c42
push str.OUT_m_bIsInit
lea ecx, [ebp - 0x30]
call fcn.0041f870
push str.init
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x87
call fcn.0041f910
mov byte [ebp - 4], 0x88
call fcn.0040f350
mov ecx, eax
test ecx, ecx
jne 0x47a40d
push 0x80004005
call fcn.0041f2a0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x5c], esi
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x89
push eax
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0x50]
call fcn.00420f70
mov ecx, dword [ebp - 0x18]
mov edx, eax
mov byte [ebp - 4], 0x8a
movzx ecx, byte [ecx + 0xa5]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00420ee0
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x8b
cmp dword [eax + 0x80], 0
je 0x47a469
push 0
push ecx
lea ecx, [ebp - 0x40]
add eax, 0x7c
push ecx
push eax
call fcn.004210a0
mov byte [ebp - 4], 0x8a
or eax, 0xffffffff
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a488
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x89
or eax, 0xffffffff
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a4a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x88
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a4c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x87
mov eax, esi
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a4e3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, esi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a501
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xa5]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x34]
mov byte [ebp - 0xe], al
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a52b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
add ebx, 0xfffffff0
mov eax, esi
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x47a546
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x47a561
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, esi
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47a57f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], esi
dec esi
test esi, esi
jg 0x47a59e
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov al, byte [ebp - 0xe]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4