Function at 0x418f20
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48766d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push ebx
push esi
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x90]
push ebx
mov dword [ebp - 0x2c], ebx
call fcn.00469f00
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.00469f00
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.004185d0
mov ecx, esi
test al, al
jne 0x418fa6
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.004185d0
test al, al
jne 0x418f9b
xor bl, bl
jmp 0x41a4a4
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x418fcc
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.004185d0
test al, al
lea ecx, [ebp - 0xdc]
lea edx, [ebp - 0x90]
cmove ecx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x78], 0
push edi
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 3
push eax
call fcn.0040d0f0
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x41903e
cmp edi, 0x10
mov dword [ebp - 0x50], 7
push 7
lea esi, [ebp - 0x60]
cmovae esi, dword [ebp - 0x60]
push str.default
push esi
call fcn.0044dba0
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x4190d6
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x419054
mov ecx, SysReAllocString
jmp 0x419061
lea eax, [ecx + edi]
mov ecx, 0xf
cmp eax, ecx
cmova ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x94], ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.00405900
mov dword [ebp - 0x50], 7
mov esi, eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [str.default]
mov dword [esi], eax
mov ax, word [0x494cbc]
mov word [esi + 4], ax
mov al, byte [0x494cbe]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x4190d3
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x4190c9
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a519
push edi
push ecx
call fcn.0041d4df
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x419294
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x41912a
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x419155
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test bl, 2
je 0x419173
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test bl, 1
je 0x4191b9
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4191b9
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4191af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4ce
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x419297
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419209
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 4
jmp 0x41922e
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test bl, 8
je 0x41924c
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test bl, 4
je 0x419297
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419297
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419288
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4d3
push edx
push ecx
call fcn.0041d4df
add esp, 8
jmp 0x419297
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x419451
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x4192e9
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x419312
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test bl, 0x20
je 0x419330
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test bl, 0x10
je 0x419376
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419376
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41936c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4d8
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x419451
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x4193c3
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x40
jmp 0x4193eb
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test bl, bl
jns 0x41940b
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test bl, 0x40
je 0x419451
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419451
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419447
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4dd
push edx
push ecx
call fcn.0041d4df
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x41962a
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x4194a6
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x100
jmp 0x4194d2
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x200
je 0x4194f6
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x419542
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419542
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419538
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4e2
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x41962a
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419592
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x400
jmp 0x4195ba
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x800
je 0x4195de
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x41962a
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41962a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419620
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4e7
push edx
push ecx
call fcn.0041d4df
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x419833
push str.addr
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x41968b
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x1000
jmp 0x4196c3
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x2000
je 0x4196e7
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x419733
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419733
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419729
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4ec
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x419833
push str.addr
push 0x494d4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x41978f
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x4000
jmp 0x4197c3
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x494d4c
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x8000
je 0x4197e7
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x419833
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419833
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419829
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4f1
push edx
push ecx
call fcn.0041d4df
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x419a10
push str.icon
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x4198a3
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x491455
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040e100
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x4198db
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x20000
je 0x4198ff
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x41994b
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41994b
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419941
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4f6
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x419a10
push str.icon
push 0x494d4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419998
push 0x491455
lea ecx, [ebp - 0x44]
call fcn.00416f40
or ebx, 0x40000
jmp 0x4199cc
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x494d4c
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x80000
je 0x4199f0
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x419a10
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x419bed
push 0x494d60
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419a80
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x491455
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040e100
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x419ab8
lea eax, [ebp - 0x28]
push eax
push 0x494d60
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x200000
je 0x419adc
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x419b28
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419b28
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419b1e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4fb
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x419bed
push 0x494d60
push 0x494d4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419b75
push 0x491455
lea ecx, [ebp - 0x44]
call fcn.00416f40
or ebx, 0x400000
jmp 0x419ba9
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x494d60
push 0x494d4c
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x800000
je 0x419bcd
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x419bed
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x419dca
push 0x494d68
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419c5d
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x491455
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040e100
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x419c95
lea eax, [ebp - 0x28]
push eax
push 0x494d68
push 0x494d4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x2000000
je 0x419cb9
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x419d05
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419d05
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419cfb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a500
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x419dca
push 0x494d68
push 0x494d4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419d52
push 0x491455
lea ecx, [ebp - 0x44]
call fcn.00416f40
or ebx, 0x4000000
jmp 0x419d86
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x494d68
push 0x494d4c
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x8000000
je 0x419daa
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x419dca
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x419f64
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419e2e
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x491455
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040e100
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x419e5a
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00416f80
test ebx, 0x20000000
je 0x419e7e
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x419eca
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x419eca
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419ec0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a505
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x419f64
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419f0b
push 0x491455
lea ecx, [ebp - 0x44]
call fcn.00416f40
or ebx, 0x40000000
jmp 0x419f33
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046b890
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.00416f80
test ebx, ebx
jns 0x419f4d
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.00403c20
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x419f64
lea ecx, [ebp - 0x44]
call fcn.00403c20
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x41a172
push 5
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push str.store
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040e100
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a550
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x419ff2
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x491455
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040e100
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x41a01f
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a550
mov ecx, eax
call fcn.0046b890
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00416f80
test bl, 2
je 0x41a040
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403c20
mov dword [ebp - 4], 0x14
test bl, 1
je 0x41a086
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x41a086
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a07c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a50a
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x41a12b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a550
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x41a0c3
push 0x491455
lea ecx, [ebp - 0x28]
call fcn.00416f40
or ebx, 4
jmp 0x41a0ea
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a550
mov ecx, eax
call fcn.0046b890
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00416f80
test bl, 8
je 0x41a10b
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403c20
mov dword [ebp - 4], 0x14
test bl, 4
je 0x41a125
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.00403c20
cmp dword [esi + 0x10], 0
je 0x41a138
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.00421d30
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x41a175
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a166
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a50f
push edx
push ecx
call fcn.0041d4df
add esp, 8
jmp 0x41a175
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x41a415
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], 0
push str.showlist
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
jne 0x41a217
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046cdf0
test eax, eax
jle 0x41a217
cmp dword [ebp - 0x64], 0x10
lea eax, [ebp - 0x78]
push dword [ebp - 0x68]
cmovae eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xac]
push eax
call fcn.0040e100
lea edi, [ebp - 0x90]
jmp 0x41a239
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x41a233
push dword [ebp - 0x60]
call fcn.0040e100
jmp 0x41a23c
push eax
call fcn.0040e100
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x41a3db
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046c4a0
test al, al
jne 0x41a3db
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046cdf0
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x41a3db
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a5e0
mov ecx, eax
call fcn.0046c4a0
test al, al
je 0x41a2fe
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x491455
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040e100
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x41a332
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.0046a550
mov ecx, eax
call fcn.0046a880
mov ecx, eax
call fcn.0046a5e0
mov ecx, eax
call fcn.0046b890
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.00413020
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x41a35b
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403c20
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x41a39e
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x41a39e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a394
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a4ce
push edx
push ecx
call fcn.0041d4df
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x41a3c5
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x41a3bd
mov ecx, eax
call fcn.00409310
add dword [esi + 4], 0x18
jmp 0x41a3c5
push eax
mov ecx, esi
call fcn.00409080
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.00403c20
inc edi
cmp edi, dword [ebp + 8]
jl 0x41a2a0
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x41a415
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a40b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a514
push edx
push ecx
call fcn.0041d4df
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x41a44c
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a442
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a519
push edx
push ecx
call fcn.0041d4df
add esp, 8
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x41a492
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41a488
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41a519
push edx
push ecx
call fcn.0041d4df
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.0046a370
lea ecx, [ebp - 0x90]
call fcn.0046a370
mov ecx, dword [ebp - 0xc]
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x28
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
call fcn.00450b4f
int3