Function at 0x4170b0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4828bd
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.00465230
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.00465230
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.00416760
mov ecx, esi
test al, al
jne 0x417136
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.00416760
test al, al
jne 0x41712b
xor bl, bl
jmp 0x418634
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x41715c
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.00416760
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.0040b120
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x4171ce
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.00448ed0
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x417266
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x4171e4
mov ecx, SysReAllocString
jmp 0x4171f1
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.00403b30
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 [0x48fabc]
mov word [esi + 4], ax
mov al, byte [0x48fabe]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x417263
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x417259
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4186a9
push edi
push ecx
call fcn.0041b36a
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x417424
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x4172ba
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 0x4172e5
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test bl, 2
je 0x417303
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test bl, 1
je 0x417349
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417349
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41733f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41865e
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x417427
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417399
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 0x4173be
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test bl, 8
je 0x4173dc
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test bl, 4
je 0x417427
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417427
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x417418
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418663
push edx
push ecx
call fcn.0041b36a
add esp, 8
jmp 0x417427
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4175e1
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417479
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 0x4174a2
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test bl, 0x20
je 0x4174c0
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test bl, 0x10
je 0x417506
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417506
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4174fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418668
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4175e1
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417553
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 0x41757b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test bl, bl
jns 0x41759b
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test bl, 0x40
je 0x4175e1
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4175e1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4175d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41866d
push edx
push ecx
call fcn.0041b36a
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4177ba
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417636
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 0x417662
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x200
je 0x417686
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x4176d2
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4176d2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4176c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418672
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4177ba
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417722
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 0x41774a
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x800
je 0x41776e
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x4177ba
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4177ba
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4177b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418677
push edx
push ecx
call fcn.0041b36a
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4179c3
push str.addr
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x41781b
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 0x417853
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x2000
je 0x417877
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x4178c3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4178c3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4178b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41867c
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4179c3
push str.addr
push 0x48fb4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x41791f
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 0x417953
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x48fb4c
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x8000
je 0x417977
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x4179c3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4179c3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4179b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418681
push edx
push ecx
call fcn.0041b36a
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x417ba0
push str.icon
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417a33
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x48c255
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040c130
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x417a6b
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x20000
je 0x417a8f
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x417adb
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417adb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x417ad1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418686
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x417ba0
push str.icon
push 0x48fb4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417b28
push 0x48c255
lea ecx, [ebp - 0x44]
call fcn.004150d0
or ebx, 0x40000
jmp 0x417b5c
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x48fb4c
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x80000
je 0x417b80
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x417ba0
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x417d7d
push 0x48fb60
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417c10
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x48c255
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040c130
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x417c48
lea eax, [ebp - 0x28]
push eax
push 0x48fb60
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x200000
je 0x417c6c
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x417cb8
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417cb8
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x417cae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41868b
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x417d7d
push 0x48fb60
push 0x48fb4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417d05
push 0x48c255
lea ecx, [ebp - 0x44]
call fcn.004150d0
or ebx, 0x400000
jmp 0x417d39
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x48fb60
push 0x48fb4c
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x800000
je 0x417d5d
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x417d7d
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x417f5a
push 0x48fb68
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417ded
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x48c255
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040c130
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x417e25
lea eax, [ebp - 0x28]
push eax
push 0x48fb68
push 0x48fb4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x2000000
je 0x417e49
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x417e95
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x417e95
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x417e8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418690
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x417f5a
push 0x48fb68
push 0x48fb4c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417ee2
push 0x48c255
lea ecx, [ebp - 0x44]
call fcn.004150d0
or ebx, 0x4000000
jmp 0x417f16
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x48fb68
push 0x48fb4c
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x8000000
je 0x417f3a
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x417f5a
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x4180f4
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x417fbe
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x48c255
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.0040c130
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x417fea
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00415110
test ebx, 0x20000000
je 0x41800e
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x41805a
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41805a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418050
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418695
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4180f4
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
je 0x41809b
push 0x48c255
lea ecx, [ebp - 0x44]
call fcn.004150d0
or ebx, 0x40000000
jmp 0x4180c3
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00466bc0
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.00415110
test ebx, ebx
jns 0x4180dd
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.00403240
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x4180f4
lea ecx, [ebp - 0x44]
call fcn.00403240
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x418302
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.0040c130
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465880
mov ecx, eax
call fcn.004677d0
test al, al
je 0x418182
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x48c255
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c130
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x4181af
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465880
mov ecx, eax
call fcn.00466bc0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00415110
test bl, 2
je 0x4181d0
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403240
mov dword [ebp - 4], 0x14
test bl, 1
je 0x418216
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x418216
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41820c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41869a
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4182bb
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465880
mov ecx, eax
call fcn.004677d0
test al, al
je 0x418253
push 0x48c255
lea ecx, [ebp - 0x28]
call fcn.004150d0
or ebx, 4
jmp 0x41827a
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465880
mov ecx, eax
call fcn.00466bc0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00415110
test bl, 8
je 0x41829b
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403240
mov dword [ebp - 4], 0x14
test bl, 4
je 0x4182b5
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.00403240
cmp dword [esi + 0x10], 0
je 0x4182c8
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.0041fde0
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x418305
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4182f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41869f
push edx
push ecx
call fcn.0041b36a
add esp, 8
jmp 0x418305
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x4185a5
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.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
jne 0x4183a7
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00468120
test eax, eax
jle 0x4183a7
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.0040c130
lea edi, [ebp - 0x90]
jmp 0x4183c9
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x4183c3
push dword [ebp - 0x60]
call fcn.0040c130
jmp 0x4183cc
push eax
call fcn.0040c130
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x41856b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.004677d0
test al, al
jne 0x41856b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00468120
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x41856b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465910
mov ecx, eax
call fcn.004677d0
test al, al
je 0x41848e
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x48c255
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c130
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x4184c2
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.00465880
mov ecx, eax
call fcn.00465bb0
mov ecx, eax
call fcn.00465910
mov ecx, eax
call fcn.00466bc0
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.004111b0
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x4184eb
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00403240
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x41852e
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x41852e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418524
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41865e
push edx
push ecx
call fcn.0041b36a
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x418555
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x41854d
mov ecx, eax
call fcn.00407340
add dword [esi + 4], 0x18
jmp 0x418555
push eax
mov ecx, esi
call fcn.004070b0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.00403240
inc edi
cmp edi, dword [ebp + 8]
jl 0x418430
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4185a5
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41859b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4186a4
push edx
push ecx
call fcn.0041b36a
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x4185dc
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4185d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4186a9
push edx
push ecx
call fcn.0041b36a
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 0x418622
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418618
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4186a9
push edx
push ecx
call fcn.0041b36a
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.004656a0
lea ecx, [ebp - 0x90]
call fcn.004656a0
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.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
call fcn.0044be7f
int3