Function at 0x417d90
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48a3fd
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.0046cd50
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.0046cd50
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.00417440
mov ecx, esi
test al, al
jne 0x417e16
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.00417440
test al, al
jne 0x417e0b
xor bl, bl
jmp 0x419314
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x417e3c
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.00417440
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.0040bcb0
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x417eae
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.004509f0
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x417f46
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x417ec4
mov ecx, SysReAllocString
jmp 0x417ed1
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.004046a0
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 [0x497c2c]
mov word [esi + 4], ax
mov al, byte [0x497c2e]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x417f43
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x417f39
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419389
push edi
push ecx
call fcn.0041c0cf
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x418104
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x417f9a
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 0x417fc5
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test bl, 2
je 0x417fe3
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test bl, 1
je 0x418029
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418029
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41801f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41933e
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x418107
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418079
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 0x41809e
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test bl, 8
je 0x4180bc
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test bl, 4
je 0x418107
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418107
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4180f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419343
push edx
push ecx
call fcn.0041c0cf
add esp, 8
jmp 0x418107
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4182c1
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418159
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 0x418182
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test bl, 0x20
je 0x4181a0
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test bl, 0x10
je 0x4181e6
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4181e6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4181dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419348
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4182c1
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418233
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 0x41825b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test bl, bl
jns 0x41827b
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test bl, 0x40
je 0x4182c1
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4182c1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4182b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41934d
push edx
push ecx
call fcn.0041c0cf
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x41849a
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418316
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 0x418342
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x200
je 0x418366
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x4183b2
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4183b2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4183a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419352
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x41849a
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418402
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 0x41842a
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x800
je 0x41844e
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x41849a
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41849a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418490
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419357
push edx
push ecx
call fcn.0041c0cf
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4186a3
push str.addr
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x4184fb
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 0x418533
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x2000
je 0x418557
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x4185a3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4185a3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418599
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41935c
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4186a3
push str.addr
push 0x497cbc
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x4185ff
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 0x418633
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x497cbc
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x8000
je 0x418657
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x4186a3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4186a3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418699
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419361
push edx
push ecx
call fcn.0041c0cf
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x418880
push str.icon
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418713
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4943bd
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040ccc0
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x41874b
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x20000
je 0x41876f
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x4187bb
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4187bb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4187b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419366
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418880
push str.icon
push 0x497cbc
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418808
push 0x4943bd
lea ecx, [ebp - 0x44]
call fcn.00415db0
or ebx, 0x40000
jmp 0x41883c
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x497cbc
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x80000
je 0x418860
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x418880
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x418a5d
push 0x497cd0
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x4188f0
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4943bd
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040ccc0
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x418928
lea eax, [ebp - 0x28]
push eax
push 0x497cd0
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x200000
je 0x41894c
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x418998
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418998
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41898e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41936b
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418a5d
push 0x497cd0
push 0x497cbc
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x4189e5
push 0x4943bd
lea ecx, [ebp - 0x44]
call fcn.00415db0
or ebx, 0x400000
jmp 0x418a19
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x497cd0
push 0x497cbc
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x800000
je 0x418a3d
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x418a5d
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x418c3a
push 0x497cd8
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418acd
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4943bd
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040ccc0
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x418b05
lea eax, [ebp - 0x28]
push eax
push 0x497cd8
push 0x497cbc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x2000000
je 0x418b29
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x418b75
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418b75
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418b6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419370
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418c3a
push 0x497cd8
push 0x497cbc
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418bc2
push 0x4943bd
lea ecx, [ebp - 0x44]
call fcn.00415db0
or ebx, 0x4000000
jmp 0x418bf6
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x497cd8
push 0x497cbc
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x8000000
je 0x418c1a
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x418c3a
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x418dd4
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418c9e
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4943bd
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040ccc0
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x418cca
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415df0
test ebx, 0x20000000
je 0x418cee
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x418d3a
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418d3a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418d30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419375
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418dd4
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418d7b
push 0x4943bd
lea ecx, [ebp - 0x44]
call fcn.00415db0
or ebx, 0x40000000
jmp 0x418da3
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.00415df0
test ebx, ebx
jns 0x418dbd
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.00403850
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x418dd4
lea ecx, [ebp - 0x44]
call fcn.00403850
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x418fe2
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.0040ccc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418e62
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x4943bd
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040ccc0
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x418e8f
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046e6e0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00415df0
test bl, 2
je 0x418eb0
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403850
mov dword [ebp - 4], 0x14
test bl, 1
je 0x418ef6
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x418ef6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418eec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41937a
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418f9b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x418f33
push 0x4943bd
lea ecx, [ebp - 0x28]
call fcn.00415db0
or ebx, 4
jmp 0x418f5a
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046e6e0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00415df0
test bl, 8
je 0x418f7b
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403850
mov dword [ebp - 4], 0x14
test bl, 4
je 0x418f95
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.00403850
cmp dword [esi + 0x10], 0
je 0x418fa8
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.00420920
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x418fe5
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418fd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41937f
push edx
push ecx
call fcn.0041c0cf
add esp, 8
jmp 0x418fe5
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x419285
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.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
jne 0x419087
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046fc40
test eax, eax
jle 0x419087
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.0040ccc0
lea edi, [ebp - 0x90]
jmp 0x4190a9
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x4190a3
push dword [ebp - 0x60]
call fcn.0040ccc0
jmp 0x4190ac
push eax
call fcn.0040ccc0
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x41924b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046f2f0
test al, al
jne 0x41924b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046fc40
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x41924b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d430
mov ecx, eax
call fcn.0046f2f0
test al, al
je 0x41916e
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x4943bd
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040ccc0
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x4191a2
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.0046d3a0
mov ecx, eax
call fcn.0046d6d0
mov ecx, eax
call fcn.0046d430
mov ecx, eax
call fcn.0046e6e0
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.00411db0
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x4191cb
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403850
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x41920e
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x41920e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419204
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41933e
push edx
push ecx
call fcn.0041c0cf
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x419235
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x41922d
mov ecx, eax
call fcn.00407ed0
add dword [esi + 4], 0x18
jmp 0x419235
push eax
mov ecx, esi
call fcn.00407c40
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.00403850
inc edi
cmp edi, dword [ebp + 8]
jl 0x419110
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x419285
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41927b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419384
push edx
push ecx
call fcn.0041c0cf
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x4192bc
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4192b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419389
push edx
push ecx
call fcn.0041c0cf
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 0x419302
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4192f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419389
push edx
push ecx
call fcn.0041c0cf
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.0046d1c0
lea ecx, [ebp - 0x90]
call fcn.0046d1c0
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.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
call fcn.0045399f
int3