Function at 0x412fa0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4660bd
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.00450ad0
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.00450ad0
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.00412db0
mov ecx, esi
test al, al
jne 0x413026
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.00412db0
test al, al
jne 0x41301b
xor bl, bl
jmp 0x414524
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x41304c
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.00412db0
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.00406cf0
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x4130be
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.00434ba0
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x413156
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x4130d4
mov ecx, SysReAllocString
jmp 0x4130e1
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.004032d0
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 [0x471798]
mov word [esi + 4], ax
mov al, byte [0x47179a]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x413153
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x413149
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414599
push edi
push ecx
call fcn.00418590
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x413314
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x4131aa
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 0x4131d5
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test bl, 2
je 0x4131f3
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test bl, 1
je 0x413239
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x413239
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41322f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41454e
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x413317
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413289
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 0x4132ae
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test bl, 8
je 0x4132cc
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test bl, 4
je 0x413317
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x413317
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413308
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414553
push edx
push ecx
call fcn.00418590
add esp, 8
jmp 0x413317
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4134d1
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413369
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 0x413392
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test bl, 0x20
je 0x4133b0
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test bl, 0x10
je 0x4133f6
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4133f6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4133ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414558
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4134d1
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413443
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 0x41346b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test bl, bl
jns 0x41348b
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test bl, 0x40
je 0x4134d1
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4134d1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4134c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41455d
push edx
push ecx
call fcn.00418590
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4136aa
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413526
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 0x413552
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x200
je 0x413576
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x4135c2
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4135c2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4135b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414562
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4136aa
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413612
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 0x41363a
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x800
je 0x41365e
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x4136aa
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4136aa
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4136a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414567
push edx
push ecx
call fcn.00418590
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4138b3
push str.addr
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x41370b
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 0x413743
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x2000
je 0x413767
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x4137b3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4137b3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4137a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41456c
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4138b3
push str.addr
push 0x4717b4
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x41380f
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 0x413843
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x4717b4
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x8000
je 0x413867
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x4138b3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4138b3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4138a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414571
push edx
push ecx
call fcn.00418590
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x413a90
push str.icon
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413923
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x46dff5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00407dd0
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x41395b
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x20000
je 0x41397f
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x4139cb
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4139cb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4139c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414576
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x413a90
push str.icon
push 0x4717b4
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413a18
push 0x46dff5
lea ecx, [ebp - 0x44]
call fcn.00412b60
or ebx, 0x40000
jmp 0x413a4c
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x4717b4
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x80000
je 0x413a70
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x413a90
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x413c6d
push 0x4717c8
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413b00
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x46dff5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00407dd0
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x413b38
lea eax, [ebp - 0x28]
push eax
push 0x4717c8
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x200000
je 0x413b5c
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x413ba8
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x413ba8
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413b9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41457b
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x413c6d
push 0x4717c8
push 0x4717b4
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413bf5
push 0x46dff5
lea ecx, [ebp - 0x44]
call fcn.00412b60
or ebx, 0x400000
jmp 0x413c29
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x4717c8
push 0x4717b4
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x800000
je 0x413c4d
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x413c6d
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x413e4a
push 0x4717d0
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413cdd
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x46dff5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00407dd0
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x413d15
lea eax, [ebp - 0x28]
push eax
push 0x4717d0
push 0x4717b4
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x2000000
je 0x413d39
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x413d85
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x413d85
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413d7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414580
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x413e4a
push 0x4717d0
push 0x4717b4
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413dd2
push 0x46dff5
lea ecx, [ebp - 0x44]
call fcn.00412b60
or ebx, 0x4000000
jmp 0x413e06
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x4717d0
push 0x4717b4
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x8000000
je 0x413e2a
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x413e4a
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x413fe4
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413eae
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x46dff5
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00407dd0
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x413eda
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00412ba0
test ebx, 0x20000000
je 0x413efe
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x413f4a
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x413f4a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413f40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414585
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x413fe4
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
je 0x413f8b
push 0x46dff5
lea ecx, [ebp - 0x44]
call fcn.00412b60
or ebx, 0x40000000
jmp 0x413fb3
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451a00
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.00412ba0
test ebx, ebx
jns 0x413fcd
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.004030e0
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x413fe4
lea ecx, [ebp - 0x44]
call fcn.004030e0
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x4141f2
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.00407dd0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.004510e0
mov ecx, eax
call fcn.00452110
test al, al
je 0x414072
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x46dff5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00407dd0
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x41409f
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.004510e0
mov ecx, eax
call fcn.00451a00
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00412ba0
test bl, 2
je 0x4140c0
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004030e0
mov dword [ebp - 4], 0x14
test bl, 1
je 0x414106
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x414106
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4140fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41458a
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4141ab
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.004510e0
mov ecx, eax
call fcn.00452110
test al, al
je 0x414143
push 0x46dff5
lea ecx, [ebp - 0x28]
call fcn.00412b60
or ebx, 4
jmp 0x41416a
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.004510e0
mov ecx, eax
call fcn.00451a00
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00412ba0
test bl, 8
je 0x41418b
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004030e0
mov dword [ebp - 4], 0x14
test bl, 4
je 0x4141a5
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.004030e0
cmp dword [esi + 0x10], 0
je 0x4141b8
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.0041c5d0
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x4141f5
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4141e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41458f
push edx
push ecx
call fcn.00418590
add esp, 8
jmp 0x4141f5
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x414495
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.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
jne 0x414297
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452600
test eax, eax
jle 0x414297
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.00407dd0
lea edi, [ebp - 0x90]
jmp 0x4142b9
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x4142b3
push dword [ebp - 0x60]
call fcn.00407dd0
jmp 0x4142bc
push eax
call fcn.00407dd0
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x41445b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452110
test al, al
jne 0x41445b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00452600
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x41445b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451170
mov ecx, eax
call fcn.00452110
test al, al
je 0x41437e
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x46dff5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00407dd0
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x4143b2
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.004510e0
mov ecx, eax
call fcn.00451410
mov ecx, eax
call fcn.00451170
mov ecx, eax
call fcn.00451a00
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.0040f620
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x4143db
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004030e0
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x41441e
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x41441e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414414
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41454e
push edx
push ecx
call fcn.00418590
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x414445
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x41443d
mov ecx, eax
call fcn.00403bb0
add dword [esi + 4], 0x18
jmp 0x414445
push eax
mov ecx, esi
call fcn.00403920
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.004030e0
inc edi
cmp edi, dword [ebp + 8]
jl 0x414320
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x414495
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41448b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414594
push edx
push ecx
call fcn.00418590
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x4144cc
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4144c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414599
push edx
push ecx
call fcn.00418590
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 0x414512
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414508
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414599
push edx
push ecx
call fcn.00418590
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.00450f00
lea ecx, [ebp - 0x90]
call fcn.00450f00
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.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
call fcn.00437b4f
int3