Function at 0x417d50
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49691d
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.00479270
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.00479270
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.00417400
mov ecx, esi
test al, al
jne 0x417dd6
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.00417400
test al, al
jne 0x417dcb
xor bl, bl
jmp 0x4192d4
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x417dfc
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.00417400
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.0040bf80
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x417e6e
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.0045cf00
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x417f06
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x417e84
mov ecx, SysReAllocString
jmp 0x417e91
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.00404840
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 [0x4a4cf4]
mov word [esi + 4], ax
mov al, byte [0x4a4cf6]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x417f03
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x417ef9
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419349
push edi
push ecx
call fcn.0041c07e
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x4180c4
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x417f5a
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 0x417f85
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test bl, 2
je 0x417fa3
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test bl, 1
je 0x417fe9
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417fe9
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x417fdf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4192fe
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x4180c7
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418039
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 0x41805e
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test bl, 8
je 0x41807c
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test bl, 4
je 0x4180c7
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4180c7
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4180b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419303
push edx
push ecx
call fcn.0041c07e
add esp, 8
jmp 0x4180c7
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x418281
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418119
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 0x418142
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test bl, 0x20
je 0x418160
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test bl, 0x10
je 0x4181a6
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4181a6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41819c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419308
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418281
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4181f3
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 0x41821b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test bl, bl
jns 0x41823b
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test bl, 0x40
je 0x418281
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418281
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418277
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41930d
push edx
push ecx
call fcn.0041c07e
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x41845a
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4182d6
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 0x418302
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x200
je 0x418326
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x418372
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418372
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418368
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419312
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x41845a
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4183c2
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 0x4183ea
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x800
je 0x41840e
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x41845a
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41845a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418450
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419317
push edx
push ecx
call fcn.0041c07e
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x418663
push str.addr
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4184bb
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 0x4184f3
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x2000
je 0x418517
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x418563
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418563
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418559
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41931c
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418663
push str.addr
push 0x4a4d84
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4185bf
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 0x4185f3
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x4a4d84
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x8000
je 0x418617
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x418663
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418663
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418659
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419321
push edx
push ecx
call fcn.0041c07e
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x418840
push str.icon
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4186d3
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a13d5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00404a00
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x41870b
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x20000
je 0x41872f
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x41877b
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41877b
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418771
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419326
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418840
push str.icon
push 0x4a4d84
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4187c8
push 0x4a13d5
lea ecx, [ebp - 0x44]
call fcn.00415d70
or ebx, 0x40000
jmp 0x4187fc
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x4a4d84
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x80000
je 0x418820
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x418840
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x418a1d
push 0x4a4d98
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4188b0
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a13d5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00404a00
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x4188e8
lea eax, [ebp - 0x28]
push eax
push 0x4a4d98
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x200000
je 0x41890c
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x418958
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418958
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41894e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41932b
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418a1d
push 0x4a4d98
push 0x4a4d84
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x4189a5
push 0x4a13d5
lea ecx, [ebp - 0x44]
call fcn.00415d70
or ebx, 0x400000
jmp 0x4189d9
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x4a4d98
push 0x4a4d84
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x800000
je 0x4189fd
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x418a1d
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x418bfa
push 0x4a4da0
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418a8d
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a13d5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00404a00
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x418ac5
lea eax, [ebp - 0x28]
push eax
push 0x4a4da0
push 0x4a4d84
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x2000000
je 0x418ae9
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x418b35
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418b35
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418b2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419330
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418bfa
push 0x4a4da0
push 0x4a4d84
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418b82
push 0x4a13d5
lea ecx, [ebp - 0x44]
call fcn.00415d70
or ebx, 0x4000000
jmp 0x418bb6
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x4a4da0
push 0x4a4d84
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x8000000
je 0x418bda
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x418bfa
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x418d94
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418c5e
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a13d5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00404a00
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x418c8a
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415db0
test ebx, 0x20000000
je 0x418cae
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x418cfa
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x418cfa
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418cf0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419335
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418d94
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418d3b
push 0x4a13d5
lea ecx, [ebp - 0x44]
call fcn.00415d70
or ebx, 0x40000000
jmp 0x418d63
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047ac00
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.00415db0
test ebx, ebx
jns 0x418d7d
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.004038e0
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x418d94
lea ecx, [ebp - 0x44]
call fcn.004038e0
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x418fa2
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.00404a00
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.004798c0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418e22
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x4a13d5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00404a00
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x418e4f
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.004798c0
mov ecx, eax
call fcn.0047ac00
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00415db0
test bl, 2
je 0x418e70
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004038e0
mov dword [ebp - 4], 0x14
test bl, 1
je 0x418eb6
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x418eb6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418eac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41933a
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x418f5b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.004798c0
mov ecx, eax
call fcn.0047b810
test al, al
je 0x418ef3
push 0x4a13d5
lea ecx, [ebp - 0x28]
call fcn.00415d70
or ebx, 4
jmp 0x418f1a
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.004798c0
mov ecx, eax
call fcn.0047ac00
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00415db0
test bl, 8
je 0x418f3b
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004038e0
mov dword [ebp - 4], 0x14
test bl, 4
je 0x418f55
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.004038e0
cmp dword [esi + 0x10], 0
je 0x418f68
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.00420f80
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x418fa5
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418f96
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41933f
push edx
push ecx
call fcn.0041c07e
add esp, 8
jmp 0x418fa5
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x419245
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.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
jne 0x419047
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047c160
test eax, eax
jle 0x419047
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.00404a00
lea edi, [ebp - 0x90]
jmp 0x419069
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x419063
push dword [ebp - 0x60]
call fcn.00404a00
jmp 0x41906c
push eax
call fcn.00404a00
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x41920b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047b810
test al, al
jne 0x41920b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.0047c160
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x41920b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479950
mov ecx, eax
call fcn.0047b810
test al, al
je 0x41912e
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x4a13d5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00404a00
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x419162
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.004798c0
mov ecx, eax
call fcn.00479bf0
mov ecx, eax
call fcn.00479950
mov ecx, eax
call fcn.0047ac00
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.00411f80
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x41918b
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004038e0
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x4191ce
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x4191ce
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4191c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4192fe
push edx
push ecx
call fcn.0041c07e
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x4191f5
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x4191ed
mov ecx, eax
call fcn.00403670
add dword [esi + 4], 0x18
jmp 0x4191f5
push eax
mov ecx, esi
call fcn.00407fa0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.004038e0
inc edi
cmp edi, dword [ebp + 8]
jl 0x4190d0
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x419245
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41923b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419344
push edx
push ecx
call fcn.0041c07e
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x41927c
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x419272
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419349
push edx
push ecx
call fcn.0041c07e
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 0x4192c2
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4192b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419349
push edx
push ecx
call fcn.0041c07e
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.004796e0
lea ecx, [ebp - 0x90]
call fcn.004796e0
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.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
call fcn.0045febf
int3