Function at 0x416f40
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46bffc
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push ebp
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x234c], 1
jne 0x416f82
xor eax, eax
mov dword [esi + 0x188], eax
mov dword [esi + 0x29c], eax
mov eax, 1
jmp 0x419d32
mov eax, dword [0x48a8c4]
mov dword [esp + 0x18], eax
push ecx
lea ebx, [esi + 0xc8]
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x49205c
push ebx
push ecx
mov dword [esp + 0xd8], 0
call fcn.0045b7d9
call fcn.004149c0
add esp, 4
test eax, eax
je 0x419cf3
push 0x492044
lea edx, [esp + 0x4c]
push 0x492060
push edx
call fcn.0045b7d9
mov edi, dword [eax]
push 0x49205c
lea eax, [esp + 0x38]
push ebx
push eax
mov byte [esp + 0xd4], 1
call fcn.0045b7d9
mov edx, dword [0x492054]
mov eax, dword [eax]
lea ecx, [esp + 0x54]
mov byte [esp + 0xc8], 2
push ecx
push edi
push edx
push eax
call fcn.00416160
add esp, 0x10
lea ecx, [esp + 0x34]
mov edi, eax
mov byte [esp + 0xc8], 1
call fcn.0045b5aa
lea ecx, [esp + 0x48]
mov byte [esp + 0xc8], 0
call fcn.0045b5aa
push edi
lea ecx, [esp + 0x1c]
call fcn.0045b733
push edi
call fcn.0043e66c
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0045b31f
lea ebp, [esi + 0xd8]
mov ecx, ebp
call fcn.0040daa0
test eax, eax
jne 0x4170af
push eax
push 0x49205c
lea ecx, [esp + 0x3c]
push 0x4898c8
push ecx
call fcn.0045b8b3
push ecx
mov byte [esp + 0xd0], 3
mov edx, esp
mov dword [esp + 0x64], esp
push 0x4898bc
push eax
push edx
call fcn.0045b83f
mov ecx, esi
call fcn.0041d8a0
lea ecx, [esp + 0x34]
mov byte [esp + 0xc8], 0
call fcn.0045b5aa
jmp 0x419d13
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x489880
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x489874
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
lea edi, [esi + 0xc4]
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call fcn.0045b31f
lea eax, [esp + 0x20]
push eax
call fcn.00419d50
add esp, 8
lea ecx, [esp + 0x1c]
push 0x489870
push ecx
push 0x489864
push ecx
mov byte [esp + 0xd8], 4
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call fcn.0045b31f
lea edx, [esp + 0x34]
push edx
call fcn.00419ed0
add esp, 8
push eax
lea eax, [esp + 0x50]
push 0x489854
push eax
mov byte [esp + 0xe0], 5
call fcn.0045b8b3
lea ecx, [esp + 0x6c]
push eax
push ecx
mov byte [esp + 0xdc], 6
call fcn.0045b83f
lea edx, [esp + 0x50]
mov bl, 7
push eax
push edx
mov byte [esp + 0xd8], bl
call fcn.0045b7d9
push eax
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0xd4], 8
call fcn.0045b83f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 9
call fcn.0045b6e3
lea ecx, [esp + 0x34]
mov byte [esp + 0xc8], 8
call fcn.0045b5aa
lea ecx, [esp + 0x48]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
lea ecx, [esp + 0x60]
mov byte [esp + 0xc8], 6
call fcn.0045b5aa
mov byte [esp + 0xc8], 5
lea ecx, [esp + 0x40]
call fcn.0045b5aa
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x48981c
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x489880
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x488d7c
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x488d7c
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x488d7c
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4897dc
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push 0x471238
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x150]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xa
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.parent
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x154]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xb
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.win
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x158]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xc
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.sys
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x15c]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xd
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.temp
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x160]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xe
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.pf
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x164]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xf
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.font
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x168]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x10
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.mydoc
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x16c]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x11
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push str.desktop
lea ecx, [esp + 0x20]
call fcn.0045b733
lea eax, [esi + 0x170]
lea ecx, [esp + 0x24]
push eax
push 0x4897d8
push ecx
call fcn.0045b8b3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x12
call fcn.0045b9c2
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x1c]
call fcn.0045b535
push 0x49205c
lea eax, [esp + 0x28]
push 0x4897a8
push eax
call fcn.0045b8b3
push ecx
mov byte [esp + 0xcc], 0x13
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x48978c
push eax
push ecx
call fcn.0045b83f
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x489780
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x14
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.urls
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x15
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x44]
push ebp
push edx
mov ecx, esi
mov byte [esp + 0xdc], 4
call fcn.0041cfe0
mov eax, dword [0x48a8c4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], eax
mov byte [esp + 0xc8], 0x1a
xor edi, edi
mov bl, 0x1c
push edi
lea eax, [esp + 0x20]
push str.url_d
push eax
call fcn.0045986b
add esp, 8
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
mov byte [esp + 0xd4], 0x1b
call fcn.0045b31f
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 0x1a
push ecx
mov ecx, esi
call fcn.0041c9a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], bl
call fcn.0045b6e3
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
mov edx, dword [esp + 0x1c]
mov eax, dword [edx - 8]
test eax, eax
je 0x4177fd
lea eax, [esp + 0x44]
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.0045b31f
call fcn.00419fe0
mov eax, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4177f3
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4177f3
lea edx, [esp + 0x30]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0045b7d9
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x1d
call fcn.0045b6e3
lea ecx, [esp + 0x40]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x190]
push edx
call fcn.0045a5b9
lea eax, [esp + 0x50]
lea ecx, [esi + 0x1ac]
push eax
call fcn.0045a5b9
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esi + 0x1c8]
call fcn.0045a5b9
inc edi
cmp edi, 0xa
jl 0x4176c8
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.randomsel
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x1e
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x489770
call fcn.0045b618
push ebp
mov ecx, esi
mov byte [esp + 0xd8], 0x1a
call fcn.0041d130
push ecx
mov dword [esi + 0x18c], eax
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4896f8
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
xor ebx, ebx
lea edi, [esi + 0xa40]
push ebx
lea edx, [esp + 0x1c]
push str.file_d
push edx
call fcn.0045986b
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.0.0.0
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x1f
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x488760
call fcn.0045b618
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
mov byte [esp + 0xdc], 0x20
call fcn.0045b31f
lea ecx, [esp + 0x34]
mov byte [esp + 0xd8], 0x1a
push ecx
mov ecx, ebp
call fcn.0040d8e0
push eax
mov ecx, edi
mov byte [esp + 0xcc], 0x21
call fcn.0045b6e3
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
mov eax, dword [edi]
push str.0.0.0
push eax
call fcn.0043e4c5
add esp, 8
test eax, eax
je 0x417961
lea edx, [esp + 0x18]
lea eax, [esp + 0x40]
push edx
push 0x4896ec
push eax
call fcn.0045b8b3
push ecx
mov byte [esp + 0xcc], 0x22
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4896e8
push eax
push ecx
call fcn.0045b83f
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x40]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
push ecx
mov edx, esp
mov dword [esp + 0x14], esp
push edi
push str.ver
push edx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
inc ebx
add edi, 0xe0
cmp ebx, 0x14
jl 0x41785f
xor ebx, ebx
lea edi, [esi + 0x1bb8]
push ebx
lea eax, [esp + 0x1c]
push str.dir_d
push eax
call fcn.0045986b
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.0.0.0
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x23
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x488760
call fcn.0045b618
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x6c], esp
push edx
mov byte [esp + 0xdc], 0x24
call fcn.0045b31f
lea eax, [esp + 0x34]
mov ecx, ebp
push eax
mov byte [esp + 0xdc], 0x1a
call fcn.0040d8e0
push eax
mov ecx, edi
mov byte [esp + 0xcc], 0x25
call fcn.0045b6e3
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
mov eax, dword [edi]
push str.0.0.0
push eax
call fcn.0043e4c5
add esp, 8
test eax, eax
je 0x417a7b
lea ecx, [esp + 0x18]
lea edx, [esp + 0x40]
push ecx
push 0x488cd8
push edx
call fcn.0045b8b3
push ecx
mov byte [esp + 0xcc], 0x26
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x488cdc
push eax
push ecx
call fcn.0045b83f
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x40]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
push ecx
mov edx, esp
mov dword [esp + 0x14], esp
push edi
push str.ver
push edx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
inc ebx
add edi, 0xcc
cmp ebx, 0xa
jl 0x417979
mov eax, dword [0x48a8c4]
mov dword [esp + 0x64], eax
mov dword [esp + 0x4c], eax
push 0x48edd8
lea ecx, [esp + 0x5c]
mov byte [esp + 0xcc], 0x28
call fcn.0045b618
mov ebp, dword [esi + 0x19c]
mov byte [esp + 0xc8], 0x29
test ebp, ebp
jle 0x417d91
lea ebx, [esi + 0x1f8]
mov eax, dword [esi + 0x18c]
xor edi, edi
test eax, eax
je 0x417ae0
call fcn.0043e8f7
cdq
idiv ebp
mov edi, edx
push edi
lea ecx, [esi + 0x190]
call fcn.0045a698
mov ebp, eax
mov ecx, ebx
lea eax, [ebp + 8]
push eax
call fcn.0045b6e3
push ebp
lea ecx, [esi + 0x190]
call fcn.0045a661
push edi
lea ecx, [esi + 0x1ac]
call fcn.0045a698
mov ebp, eax
lea ecx, [ebp + 8]
push ecx
lea ecx, [esp + 0x54]
call fcn.0045b6e3
push ebp
lea ecx, [esi + 0x1ac]
call fcn.0045a661
lea ebp, [esi + 0x1c8]
push edi
mov ecx, ebp
call fcn.0045a698
mov edi, eax
lea ecx, [esp + 0x44]
lea edx, [edi + 8]
push edx
call fcn.0045b6e3
push edi
mov ecx, ebp
call fcn.0045a661
mov eax, dword [ebx]
lea ecx, [esp + 0xbe]
lea edx, [esp + 0x4c]
push ecx
push edx
lea ecx, [esp + 0x6c]
lea edx, [esp + 0xc0]
push ecx
push edx
push eax
call fcn.004647f1
push 0x4887dc
push 0x4887d8
lea ecx, [esp + 0x54]
call fcn.004591b3
lea eax, [esp + 0x40]
push 1
push eax
lea ecx, [esp + 0x54]
call fcn.004593cf
mov eax, dword [eax]
push 0x48855c
push eax
mov byte [esp + 0xd0], 0x2a
call fcn.0043e4c5
add esp, 8
test eax, eax
je 0x417bef
lea ecx, [esp + 0x24]
push 1
push ecx
lea ecx, [esp + 0x54]
call fcn.004593cf
mov eax, dword [eax]
push 0x488558
push eax
call fcn.0043e4c5
add esp, 8
lea ecx, [esp + 0x24]
test eax, eax
sete byte [esp + 0x2f]
call fcn.0045b5aa
mov al, byte [esp + 0x2f]
mov byte [esp + 0x2f], 0
test al, al
je 0x417bf4
mov byte [esp + 0x2f], 1
lea ecx, [esp + 0x40]
mov byte [esp + 0xc8], 0x29
call fcn.0045b5aa
mov al, byte [esp + 0x2f]
test al, al
je 0x417c47
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x64]
push eax
call fcn.0045944b
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0xcc], 0x2b
call fcn.0045b6e3
lea ecx, [esp + 0x60]
mov byte [esp + 0xc8], 0x29
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push ebx
push 0x4896c4
push ecx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
mov eax, dword [esp + 0xb8]
cmp eax, 1
jne 0x417ce0
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
push ecx
lea eax, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
mov byte [esp + 0xd4], 0x2c
call fcn.0045b31f
push ecx
mov byte [esp + 0xd4], 0x2d
mov ecx, esp
mov dword [esp + 0x68], esp
push ebx
call fcn.0045b31f
lea ecx, [esp + 0x40]
mov byte [esp + 0xd4], 0x29
push ecx
mov ecx, esi
call fcn.0041dfe0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xcc], 0x2e
call fcn.0045b6e3
mov byte [esp + 0xc8], 0x29
lea ecx, [esp + 0x34]
jmp 0x417d5b
push ecx
cmp eax, 0x1001
mov ecx, esp
jne 0x417d24
lea edx, [esp + 0x50]
mov dword [esp + 0x14], esp
push edx
call fcn.0045b31f
lea eax, [esp + 0x4c]
mov ecx, esi
push eax
call fcn.0041e500
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xcc], 0x2f
call fcn.0045b6e3
mov byte [esp + 0xc8], 0x29
lea ecx, [esp + 0x48]
jmp 0x417d5b
mov dword [esp + 0x14], esp
push ebx
call fcn.0045b31f
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call fcn.0041da30
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xcc], 0x30
call fcn.0045b6e3
mov byte [esp + 0xc8], 0x29
lea ecx, [esp + 0x7c]
call fcn.0045b5aa
mov edx, dword [esp + 0x58]
mov eax, dword [edx - 8]
test eax, eax
jne 0x417d91
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4896b4
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
mov ebp, dword [esi + 0x19c]
test ebp, ebp
jg 0x417aca
mov eax, dword [esp + 0x58]
mov ecx, dword [eax - 8]
push ecx
test ecx, ecx
mov ecx, esp
je 0x419b67
mov dword [esp + 0x14], esp
push 0x48966c
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x80]
call fcn.0040d700
push ecx
lea edx, [esp + 0x5c]
mov bl, 0x31
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
mov byte [esp + 0xd0], bl
call fcn.0045b31f
lea ecx, [esp + 0x84]
call fcn.0040daa0
push ecx
xor ebp, ebp
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x489614
mov dword [esi + 0x188], 2
mov dword [esi + 0x29c], 1
mov dword [esp + 0x3c], ebp
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
mov dword [esp + 0x48], ebp
lea edi, [esi + 0xa44]
push ebp
lea eax, [esp + 0x1c]
push str.file_d
push eax
call fcn.0045986b
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.0.0.0
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x32
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x488760
call fcn.0045b618
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xdc], 0x33
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x90]
push eax
mov byte [esp + 0xdc], bl
call fcn.0040d8e0
push eax
mov ecx, edi
mov byte [esp + 0xcc], 0x34
call fcn.0045b6e3
lea ecx, [esp + 0x7c]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x35
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.urls
call fcn.0045b618
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0xdc], 0x36
call fcn.0045b31f
lea eax, [esp + 0x34]
lea ecx, [esp + 0x90]
push eax
mov byte [esp + 0xdc], bl
call fcn.0040d8e0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xcc], 0x37
call fcn.0045b6e3
lea ecx, [esp + 0x24]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx - 8]
test eax, eax
jle 0x41867d
mov eax, dword [edi]
push str.0.0.0
push eax
call fcn.0043e4c5
add esp, 8
test eax, eax
je 0x41867d
lea edx, [esp + 0x18]
lea eax, [esp + 0x40]
push edx
push 0x4896ec
push eax
call fcn.0045b8b3
push ecx
mov byte [esp + 0xcc], 0x38
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4896e8
push eax
push ecx
call fcn.0045b83f
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x40]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
lea eax, [esp + 0x3c]
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push 0x48960c
push edx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push str.ver
push ecx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
push ecx
lea edx, [edi - 4]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
push ecx
mov byte [esp + 0xd0], 0x39
mov ecx, esp
mov dword [esp + 0x28], esp
push edi
call fcn.0045b31f
mov byte [esp + 0xd0], bl
call fcn.00416840
add esp, 8
test eax, eax
je 0x41867d
mov edx, dword [esp + 0x34]
push ecx
inc edx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4895e4
mov dword [esp + 0x3c], edx
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
xor ebp, ebp
push ebp
lea eax, [esp + 0x20]
push str.url_d
push eax
call fcn.0045986b
add esp, 8
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0xd4], 0x3a
call fcn.0045b31f
lea ecx, [esp + 0x68]
mov byte [esp + 0xd0], bl
push ecx
mov ecx, esi
call fcn.0041c9a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x3b
call fcn.0045b6e3
lea ecx, [esp + 0x60]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov edx, dword [esp + 0x1c]
mov eax, dword [edx - 8]
test eax, eax
je 0x418166
lea eax, [esp + 0x44]
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0045b31f
call fcn.00419fe0
mov eax, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x41815c
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 8]
test eax, eax
je 0x41815c
lea edx, [esp + 0x30]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x78]
push eax
push ecx
call fcn.0045b7d9
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x3c
call fcn.0045b6e3
lea ecx, [esp + 0x74]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
lea edx, [esp + 0x1c]
lea ecx, [edi - 0x58]
push edx
call fcn.0045a5b9
lea eax, [esp + 0x50]
lea ecx, [edi - 0x3c]
push eax
call fcn.0045a5b9
lea ecx, [esp + 0x44]
push ecx
lea ecx, [edi - 0x20]
call fcn.0045a5b9
inc ebp
cmp ebp, 0xa
jl 0x41803c
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.randomsel
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x3d
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [edi - 0x5c], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x3e
mov ecx, esp
mov dword [esp + 0x28], esp
push str.path
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x3f
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x74]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
lea edx, [esp + 0x6c]
push eax
push edx
mov byte [esp + 0xd0], 0x40
call fcn.0041a1c0
add esp, 8
push eax
lea ecx, [edi + 4]
mov byte [esp + 0xcc], 0x41
call fcn.0045b6e3
lea ecx, [esp + 0x6c]
mov byte [esp + 0xc8], 0x40
call fcn.0045b5aa
lea ecx, [esp + 0x68]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.modify_ver
call fcn.0045b618
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov byte [esp + 0xd8], 0x42
call fcn.0045b31f
mov byte [esp + 0xd4], bl
lea ecx, [esp + 0x8c]
push ecx
mov ecx, esi
call fcn.0041d130
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.show_type
mov dword [edi - 0x6c], eax
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x43
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
cmp eax, dword [esi + 0x188]
jge 0x4182e6
mov dword [esi + 0x188], eax
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.op_mode
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x44
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
test eax, eax
jne 0x418332
mov dword [esi + 0x29c], eax
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.uncompress
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x45
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.runme
mov dword [edi - 0x68], eax
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x46
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.runme_pause
mov dword [edi - 0x64], eax
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x47
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [edi - 0x60], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x48
mov ecx, esp
mov dword [esp + 0x28], esp
push str.runme_param
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x49
call fcn.0045b31f
mov byte [esp + 0xd4], bl
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x84]
push eax
push ecx
mov ecx, esi
call fcn.0041cfe0
push eax
lea ecx, [edi + 0x14]
mov byte [esp + 0xcc], 0x4a
call fcn.0045b6e3
lea ecx, [esp + 0x78]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x4b
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x48958c
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x4c
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x7c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
lea ebp, [edi + 8]
push eax
mov ecx, ebp
mov byte [esp + 0xcc], 0x4d
call fcn.0045b6e3
lea ecx, [esp + 0x70]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov edx, dword [ebp]
cmp dword [edx - 8], 0x20
je 0x418514
mov ecx, ebp
call fcn.0045b535
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x4e
mov ecx, esp
mov dword [esp + 0x28], esp
push str.rename
call fcn.0045b618
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
mov byte [esp + 0xd8], 0x4f
call fcn.0045b31f
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x68]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x50
call fcn.0045b6e3
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov eax, dword [edi - 0x54]
lea ecx, [esp + 0x30]
add eax, 8
push eax
call fcn.0045b6e3
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x4185ed
push 0x2f
lea ecx, [esp + 0x34]
call fcn.004594c3
inc eax
lea edx, [esp + 0x54]
push eax
push edx
lea ecx, [esp + 0x38]
call fcn.00459316
push eax
lea ecx, [edi + 0xc]
mov byte [esp + 0xcc], 0x51
call fcn.0045b6e3
lea ecx, [esp + 0x54]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
jmp 0x4185fa
lea eax, [esp + 0x1c]
lea ecx, [edi + 0xc]
push eax
call fcn.0045b6e3
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x52
mov ecx, esp
mov dword [esp + 0x28], esp
push str.describe
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x53
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [edi + 0x18]
mov byte [esp + 0xcc], 0x54
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov ebp, dword [esp + 0x48]
inc ebp
add edi, 0xe0
cmp ebp, 0x14
mov dword [esp + 0x48], ebp
jl 0x417e26
xor ebp, ebp
lea edi, [esi + 0x1bbc]
mov dword [esp + 0x48], ebp
push ebp
lea edx, [esp + 0x1c]
push str.dir_d
push edx
call fcn.0045986b
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.0.0.0
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x55
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x488760
call fcn.0045b618
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0xdc], 0x56
call fcn.0045b31f
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], bl
push ecx
lea ecx, [esp + 0x94]
call fcn.0040d8e0
push eax
mov ecx, edi
mov byte [esp + 0xcc], 0x57
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x58
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.urls
call fcn.0045b618
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0xdc], 0x59
call fcn.0045b31f
lea eax, [esp + 0x64]
lea ecx, [esp + 0x90]
push eax
mov byte [esp + 0xdc], bl
call fcn.0040d8e0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xcc], 0x5a
call fcn.0045b6e3
lea ecx, [esp + 0x54]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx - 8]
test eax, eax
jle 0x418cc9
mov eax, dword [edi]
push str.0.0.0
push eax
call fcn.0043e4c5
add esp, 8
test eax, eax
je 0x418cc9
lea edx, [esp + 0x18]
lea eax, [esp + 0x5c]
push edx
push 0x4896ec
push eax
call fcn.0045b8b3
push ecx
mov byte [esp + 0xcc], 0x5b
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4896e8
push eax
push ecx
call fcn.0045b83f
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
lea eax, [esp + 0x3c]
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push 0x48960c
push edx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push str.ver
push ecx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
push ecx
lea edx, [edi - 4]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
push ecx
mov byte [esp + 0xd0], 0x5c
mov ecx, esp
mov dword [esp + 0x28], esp
push edi
call fcn.0045b31f
mov byte [esp + 0xd0], bl
call fcn.00416840
add esp, 8
test eax, eax
je 0x418cc9
mov edx, dword [esp + 0x34]
push ecx
inc edx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4895e4
mov dword [esp + 0x3c], edx
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
xor ebp, ebp
push ebp
lea eax, [esp + 0x20]
push str.url_d
push eax
call fcn.0045986b
add esp, 8
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0xd4], 0x5d
call fcn.0045b31f
lea ecx, [esp + 0x78]
mov byte [esp + 0xd0], bl
push ecx
mov ecx, esi
call fcn.0041c9a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x5e
call fcn.0045b6e3
lea ecx, [esp + 0x70]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov edx, dword [esp + 0x1c]
mov eax, dword [edx - 8]
test eax, eax
je 0x4189da
lea eax, [esp + 0x44]
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0045b31f
call fcn.00419fe0
mov eax, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4189d0
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4189d0
lea edx, [esp + 0x30]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x7c]
push eax
push ecx
call fcn.0045b7d9
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x5f
call fcn.0045b6e3
lea ecx, [esp + 0x78]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
lea edx, [esp + 0x1c]
lea ecx, [edi - 0x58]
push edx
call fcn.0045a5b9
lea eax, [esp + 0x50]
lea ecx, [edi - 0x3c]
push eax
call fcn.0045a5b9
lea ecx, [esp + 0x44]
push ecx
lea ecx, [edi - 0x20]
call fcn.0045a5b9
inc ebp
cmp ebp, 0xa
jl 0x4188b0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.randomsel
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x60
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [edi - 0x5c], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x61
mov ecx, esp
mov dword [esp + 0x28], esp
push str.path
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x62
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x74]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [edi + 4]
mov byte [esp + 0xcc], 0x63
call fcn.0045b6e3
lea ecx, [esp + 0x68]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x64
mov ecx, esp
mov dword [esp + 0x28], esp
push str.filter
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x65
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x78]
push eax
push ecx
mov byte [esp + 0xdc], bl
mov ecx, esi
call fcn.0041cfe0
push eax
lea ecx, [edi + 8]
mov byte [esp + 0xcc], 0x66
call fcn.0045b6e3
lea ecx, [esp + 0x6c]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.modify_ver
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x67
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.show_type
mov dword [edi - 0x64], eax
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x68
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
cmp eax, dword [esi + 0x188]
jge 0x418bb2
mov dword [esi + 0x188], eax
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.op_mode
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x69
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
test eax, eax
jne 0x418bfe
mov dword [esi + 0x29c], eax
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.is_inc_subdir
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0xd8], 0x6a
call fcn.0045b31f
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [edi - 0x60], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x6b
mov ecx, esp
mov dword [esp + 0x28], esp
push str.describe
call fcn.0045b618
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0xd8], 0x6c
call fcn.0045b31f
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x80]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [edi + 0xc]
mov byte [esp + 0xcc], 0x6d
call fcn.0045b6e3
lea ecx, [esp + 0x74]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
mov ebp, dword [esp + 0x48]
inc ebp
add edi, 0xcc
cmp ebp, 0xa
mov dword [esp + 0x48], ebp
jl 0x41869d
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x18]
push edx
push 0x489538
push eax
call fcn.0045986b
add esp, 8
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x489780
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x6e
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_before
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x6f
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x1fc]
mov byte [esp + 0xcc], 0x70
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.run_before_pause
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x71
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x200], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
mov byte [esp + 0xcc], 0x72
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_after
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x73
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x204]
mov byte [esp + 0xcc], 0x74
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.run_after_pause
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x75
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x208], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x76
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_nonetwork
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x77
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x20c]
mov byte [esp + 0xcc], 0x78
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x79
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_udbefore
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x7a
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x8c]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x210]
mov byte [esp + 0xcc], 0x7b
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x7c
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_udafters
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x7d
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x214]
mov byte [esp + 0xcc], 0x7e
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x7f
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_udafterf
call fcn.0045b618
mov byte [esp + 0xd0], 0x80
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x218]
mov byte [esp + 0xcc], 0x81
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x82
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_dlbefore
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x83
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x8c]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x21c]
mov byte [esp + 0xcc], 0x84
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x85
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_dlafters
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x86
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x220]
mov byte [esp + 0xcc], 0x87
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x88
mov ecx, esp
mov dword [esp + 0x28], esp
push str.run_dlafterf
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x89
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x224]
mov byte [esp + 0xcc], 0x8a
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x8b
mov ecx, esp
mov dword [esp + 0x28], esp
push str.close_proc1
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x8c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x8c]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcc], 0x8d
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
lea eax, [esi + 0x228]
push eax
call fcn.0041a2b0
add esp, 4
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x8e
mov ecx, esp
mov dword [esp + 0x28], esp
push str.close_proc2
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x8f
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcc], 0x90
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0045b31f
lea ecx, [esi + 0x244]
push ecx
call fcn.0041a2b0
add esp, 4
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x91
mov ecx, esp
mov dword [esp + 0x28], esp
push str.close_proc3
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x92
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea edx, [esp + 0x8c]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcc], 0x93
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0045b31f
lea eax, [esi + 0x260]
push eax
call fcn.0041a2b0
add esp, 4
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48edd8
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x94
mov ecx, esp
mov dword [esp + 0x28], esp
push str.close_items
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x95
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489770
call fcn.0045b618
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcc], 0x96
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0045b31f
lea ecx, [esi + 0x27c]
push ecx
call fcn.0041a2b0
add esp, 4
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x489454
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.noupdate_win
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x97
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x2c4], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x488f8c
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x98
mov ecx, esp
mov dword [esp + 0x28], esp
push str.noupdate_win_msg
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x99
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489440
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x2c8]
mov byte [esp + 0xcc], 0x9a
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.start_win
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x9b
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x2a4], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x489404
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0x9c
mov ecx, esp
mov dword [esp + 0x28], esp
push str.start_win_msg
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x9d
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489440
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x2a8]
mov byte [esp + 0xcc], 0x9e
call fcn.0045b6e3
mov byte [esp + 0xc8], bl
lea ecx, [esp + 0x10]
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.close_win
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0x9f
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x2cc], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4893b0
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0xa0
mov ecx, esp
mov dword [esp + 0x28], esp
push str.close_win_msg
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xa1
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489440
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x2d0]
mov byte [esp + 0xcc], 0xa2
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.dl_win
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xa3
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x2ac], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48937c
call fcn.0045b618
mov byte [esp + 0xcc], 0xa4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.dl_win_msg
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xa5
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489440
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x2b0]
mov byte [esp + 0xcc], 0xa6
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.end_win1
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xa7
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.end_win2
mov dword [esi + 0x2b4], eax
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xa8
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x2b8], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x48934c
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0xa9
mov ecx, esp
mov dword [esp + 0x28], esp
push str.end_win1_msg
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xaa
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489440
call fcn.0045b618
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x2bc]
mov byte [esp + 0xcc], 0xab
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x489330
call fcn.0045b618
push ecx
mov byte [esp + 0xd0], 0xac
mov ecx, esp
mov dword [esp + 0x28], esp
push str.end_win2_msg
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xad
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x489440
call fcn.0045b618
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xdc], bl
call fcn.0041cfe0
push eax
lea ecx, [esi + 0x2c0]
mov byte [esp + 0xcc], 0xae
call fcn.0045b6e3
lea ecx, [esp + 0x10]
mov byte [esp + 0xc8], bl
call fcn.0045b5aa
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.start_win
call fcn.0045b618
push ecx
mov byte [esp + 0xd4], 0xaf
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x489440
call fcn.0045b618
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xd8], bl
call fcn.0041d130
push ecx
mov dword [esi + 0x2a4], eax
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x489300
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4892e0
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
mov eax, dword [esi + 0x29c]
test eax, eax
je 0x419a1e
push 0x4892d8
jmp 0x419a23
push 0x4892d0
lea ecx, [esp + 0x1c]
call fcn.0045b733
push ecx
lea ecx, [esp + 0x1c]
mov eax, esp
mov dword [esp + 0x18], esp
push ecx
push 0x4892c4
push eax
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
mov eax, dword [esi + 0x188]
test eax, eax
jne 0x419a5b
push 0x4892bc
jmp 0x419a6c
cmp eax, 1
jne 0x419a67
push 0x4892b4
jmp 0x419a6c
push 0x4892ac
lea ecx, [esp + 0x1c]
call fcn.0045b733
push ecx
lea eax, [esp + 0x1c]
mov edx, esp
mov dword [esp + 0x18], esp
push eax
push 0x4892a0
push edx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x18]
call fcn.0045b535
lea ecx, [esp + 0x80]
mov byte [esp + 0xc8], 0x29
call fcn.0040d7a0
lea ecx, [esp + 0x58]
mov byte [esp + 0xc8], 0x28
call fcn.0045b5aa
lea ecx, [esp + 0x4c]
mov byte [esp + 0xc8], 0x27
call fcn.0045b5aa
lea ecx, [esp + 0x64]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
lea ecx, [esp + 0x44]
mov byte [esp + 0xc8], 0x19
call fcn.0045b5aa
lea ecx, [esp + 0x50]
mov byte [esp + 0xc8], 0x18
call fcn.0045b5aa
lea ecx, [esp + 0x30]
mov byte [esp + 0xc8], 0x17
call fcn.0045b5aa
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc8], 0x16
call fcn.0045b5aa
lea ecx, [esp + 0x38]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc8], 0
call fcn.0045b5aa
lea ecx, [esp + 0x18]
mov dword [esp + 0xc8], 0xffffffff
call fcn.0045b5aa
mov eax, 1
jmp 0x419d32
mov dword [esp + 0x18], esp
push 0x489258
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
cmp dword [esi + 0x234c], 1
jne 0x419c58
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x489220
call fcn.0045b618
mov ecx, esi
call fcn.0041d780
lea ecx, [esp + 0x58]
mov byte [esp + 0xc8], 0x28
call fcn.0045b5aa
lea ecx, [esp + 0x4c]
mov byte [esp + 0xc8], 0x27
call fcn.0045b5aa
lea ecx, [esp + 0x64]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
lea ecx, [esp + 0x44]
mov byte [esp + 0xc8], 0x19
call fcn.0045b5aa
lea ecx, [esp + 0x50]
mov byte [esp + 0xc8], 0x18
call fcn.0045b5aa
lea ecx, [esp + 0x30]
mov byte [esp + 0xc8], 0x17
call fcn.0045b5aa
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc8], 0x16
call fcn.0045b5aa
lea ecx, [esp + 0x38]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc8], 0
call fcn.0045b5aa
lea ecx, [esp + 0x18]
mov dword [esp + 0xc8], 0xffffffff
call fcn.0045b5aa
mov eax, 1
jmp 0x419d32
lea ecx, [esp + 0x58]
mov byte [esp + 0xc8], 0x28
call fcn.0045b5aa
lea ecx, [esp + 0x4c]
mov byte [esp + 0xc8], 0x27
call fcn.0045b5aa
lea ecx, [esp + 0x64]
mov byte [esp + 0xc8], 0x1a
call fcn.0045b5aa
lea ecx, [esp + 0x44]
mov byte [esp + 0xc8], 0x19
call fcn.0045b5aa
lea ecx, [esp + 0x50]
mov byte [esp + 0xc8], 0x18
call fcn.0045b5aa
lea ecx, [esp + 0x30]
mov byte [esp + 0xc8], 0x17
call fcn.0045b5aa
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc8], 0x16
call fcn.0045b5aa
lea ecx, [esp + 0x38]
mov byte [esp + 0xc8], 4
call fcn.0045b5aa
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc8], 0
call fcn.0045b5aa
jmp 0x419d1c
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x49205c
push 0x4891e4
push ecx
call fcn.0045b8b3
mov ecx, esi
call fcn.0041d8a0
lea ecx, [esp + 0x18]
call fcn.0045b535
lea ecx, [esp + 0x18]
mov dword [esp + 0xc8], 0xffffffff
call fcn.0045b5aa
xor eax, eax
mov ecx, dword [esp + 0xc0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xbc
ret